Hi Roshan,
my properties aren't greyed out. Please make sure that you focus the right control. 
You could still go the second way. If you implement a script that fills in "ZF" in the customer field when it's empty and performes a check and correction when the field is filled, you can put that script button id in the "OnCreateHandler" of the user area as you can see here:
The script gets executed when transaction loads, so the customer field will be prefilled and you can still performe the check with the same script button.
A possible script could look like this, just test around which if option you need to make it prefill the customer field:
From 1 to 7 its:
IF <customer field id> is empty.
Insert value "ZF" <- this is what you want on load
IF <customer field id> is not empty
Refresh display
Copy value from <customer field id> to customer
Calculate in javascript <- check if ZF is at the beginning. if not, concatenate it
Copy value "customer" to <customer field id>
Maybe this is a good option for you.
Regards,
Christoph

