Galera, tenho uma necessidade específica de bloquear 270 campos no cadastro do cliente no Prothues. Então usei o IDPONTO "MODELVLDACTIVE"
If cIDPonto == 'MODELVLDACTIVE'
aGrpUsr := UsrRetGrp(cUserName,__cUserID)
If aScan(aGrpUsr,{|x| x == "000002"}) > 0
aCmpBLOK := {'A1_EMAIL','A1_IBGE'}
For _cv := 1 To Len(aCmpBLOK)
oObj:GetModel("SA1MASTER"):GetStruct():SetProperty(aCmpBLOK[_cv], MODEL_FIELD_WHEN, FwBuildFeature(STRUCT_FEATURE_WHEN , ".F."))
Next
EndIf
EndIf
Claro que para efeito de melhor visualização eu deixei o array com dois itens apenas, mas são 270 campos. Quando a tela do cadastro de vendedor é aberta funciona corretamente, os campos são bloqueados apenas para os usuários pertencentes ao grupo 000002 só que estranhamente gera uma enorme lentidão ao mudar de campo dentro da tela. Assim que eu digito qualquer coisa dentro de um campo, ao dar TAB o cursor é levado para o proximo campo editável, mas não liberar para digitar eu tenho que aguardar uns 5 segundos aproximadamente até que o cursor é liberdo para eu digitar. tipo congela sabe.. O que mais me intriga é que esse trecho não é mais acionado, mas sei que se deixar por exemplo essa matriz contendo apenas esses dois itens essa lentidão não irá acontecer pois já realizei esse teste. Alguma idéia de como contornar?