Macro sc_btn_display, form "grid editável (view)", evento onLoadRecord

Aplicação FORM do tipo grid editável (view) como detalhe num mestre/detalhe.

Tentei esconder o botão de exclusão para alguns registros:

if ({tipo_produto} == 'C') { sc_btn_display('delete', 'off'); } else { sc_btn_display('delete', 'on'); }

Resultado: O botão de exclusão é retirado para todos os registros.
Obs: Testei o conteúdo do campo {tipo_produto} e o código do evento está correto.
A macro não funciona individualmente neste evento. Segundo o webhelp deveria funcionar, pois o evento está no escopo da macro.

Acho que você esta enganado a macro esta no escopo do OnRecord, e no gridview editável esse evento não existe.

Tá bem claro lá Saulo:
Escopo da Macro -> Aplicação formulário -> onLoadRecord

A macro é executada, mas não individualmente por registro e sim em todos de uma vez.
No caso desse evento, a execução da macro não condiz com o esperado, que é registro a registro.

Eu tô na V5 olha o conteudo do help:

Só se na V6 o escopo mudou!

É por isso, na v6 mudou mesmo, o onLoadRecord está lá.
Espero que alguém da NM apareça por aqui pra dizer algo.

Boa noite,

O sr. está tentando fazer com o que o botão de deletar os registros não apareça, de acordo com uma condição lógica?

Ex:

1 - Pão - (DELETAR)
2 - Água - (DELETAR)
3 - Açúcar - (O botão não aparece)

att,
Bernhard Bernsmann

Exatamente Bernhard, confomr o código que postei no primeiro post do tópico.
Vc poderia testar algo assim no seu ambiente?
Lembre que é um form grid editável view (detalhe) numa tela mestre-detalhe.
Obrigado.
Rodrigo

Boa noite rrma,

O sc_btn_display não funciona dessa maneira na Grid Editável. Ele tem o seguinte comportamento, ou todos os botões aparecem, ou todos não aparecem.

Não é possível, utilizando a macro ter este comportamento.

att,
Bernhard

Ok Bernhard, é que imaginei que ele funcionaria de acordo com a finalidade do evento, registro a registro.

Obrigado pela atenção.
Rodrigo

Neste caso você pode usar como paleativo no evento:
OnValidate:

if ({tipo_produto} == ‘C’) {
sc_error_message(“Impossível Excluir este Registro!
”);
}

Foi isso mesmo que eu fiz Jailton, mas valeu a intenção, bom que fica documentado.
Obrigado.
Rodrigo