Problema:
Mostrar apenas alguns campos de uma tabela na grid de um FORMULÁRIO do tipo Grid Editável (view) e TODOS os demais no formulário modal de edição.
Solução:
No evento onLoadRecord, teste a macro sc_seq_vert para o conteúdo “NEW”. Caso seja negativo, esconda os campos que você não deseja na grid. Caso seja positivo, exiba os campos que você deseja editar no formulário.
Exemplo:
if ({sc_seq_vert} != ‘new’) { // Quando não estiver no modo de inserção
sc_field_display({campo1}, ‘off’);
sc_field_display({campo2}, ‘off’);
}
if ({sc_seq_vert} == ‘new’) { // Quando estiver no modo de inserção
sc_field_display({campo1}, ‘on’);
sc_field_display({campo2}, ‘on’);
}
Espero que ajude alguém, pois demorei muito para achar essa solução. Existem macros no SC que não são documentadas, infelizmente.