Olá Haroldo! Muito obrigado pelo retorno. Na verdade, a rotina está configurada no evento Onload, acabei esquecendo de informar. Havia um “Else”, mas quando formulário está em modo Insert, após o retorno das validações, a macro sc_btn_new retorna como false, entra no Else e os campos são exibidos, o que está fora dos requisitos estabelecidos para a aplicação para o caso de “Novos Registros”.
Então percebi:
1 - Quando as regras de “campos obrigatórios” são invalidadas no OnValidate, o SC apresenta a mensagem estabelecida e segue para o OnValidateFailure. Em seguida retorna para o Onload, contudo, a macro sc_btn_new = false, o que invalida o “IF”.
2 - Quando as regras definidas em “Chave Única” são invalidadas no OnValidate, o SC apresenta a mensagem de erro e permanece do OnValidate.
Dessa forma, após longa investigação de detalhes, inseri o código abaixo nos eventos OnValidateFailure e no próprio OnValidate:
if (sc_btn_insert)
{
sc_block_display( blc_01, off);
}
Restaram 2 dúvidas:
1 - Por que ao retornar para o Onload, mesmo em modo de “Insert”, detectado na macro sc_btn_insert nos eventos de validação, a macro sc_btn_new é alterada para “false”?
2 - Por que o SC não segue o mesmo processo durante a validação de ambas? ou seja, ambas não deveriam ser validadas no OnValidate e quando encontrado uma inconsistência, não deveriam seguir para OnValidateFailure ou meu entendimento está equivocado?
O código acima aplicado nos eventos solucionaram a questão, mas se puder me ajudar ou alguém puder me orientar com o processo ficarei muito grato, pois pode ser que meu entendimento esteja equivocado e esteja dificultando o desenvolvimento de minhas atividades.
Desde já, agradeço muito o tempo despendido para me ajudar. Muito obrigado