Você pode criar uma função para definir a marcara dinamicamente. Por exemplo:
.
.
Transform(CT1->CT1_CONTA, U_MaskPC(CT1->CT1_CONTA))
.
.
User Function MaskPC(cPlanCts)
Local cMask := ''
DO CASE
CASE Len(cPlanCts) == 1
cMask := "@R 9"
CASE Len(cPlanCts) == 2
cMask := "@R 9.9"
CASE Len(cPlanCts) == 4
cMask := "@R 9.9.99"
// e por ai vai..
ENDCASE
Return cMask