Mestre Detalhe - colocar Total de valore sdo mestre detalhes em um forme

Olá pessoal,

Como posso fazer para colocar um total de um pedido que está em um mestre detalhes em um form?

Tem um exemplo do sc mas não consegui fazer, pq ele não informa direito alguns detalhes.

Segue em anexo a tela do exemplo.

obrigada


valor mestre detalhes.png

utilize a macro sc_num_format antes da sc_master_value

Vou utilizar e testar.

Haroldo,

sc_format_num e para formatar valores numéricos, oq gostaria de saber como chego a fazer para aparecer esta soma, pq no exemplo sc esta muito enrolado, queria uma coisa mais simples.

O Exemplo não informa aonde tenho q colocar os códigos, se é np Mestre ou no detalhe.

As vezes usamos a intuição, outras a observação e lógica, nesse caso observação e lógica deve ser utilizado.

Num mestre/detalhe, eh normal mostrar no formulário mestre a soma total do que? Dos itens (detalhe). Para tal, você precisa:

  1. Ter um campo no formulário mestre onde será exibido esse valor.
  2. Em algum momento você terá que somar ou subtrair esses valores no total, geralmente o guardamos (update) na tabela do formulário mestre.
  • Em que momentos? Quando inserimos um novo item, quando alteramos o valor do item ou quando deletamos um item. E quais são os eventos responsáveis por essas ações. Primeiro e lógico é no formulário detalhe, nos eventos, Insert, Update e Delete. Cada evento desse possui dois momentos distintos: Antes e depois do processamento, em ambos funcionam, mas nesse caso sugiro utilizar o depois: OnAfterinsert, OnAfterupdate, OnAfterDelete. para garantir maior segurança você pode executar um update na tabela mestre do tipo: Update tab_mestre set valor_total=(Select sum(valor_item) from tab_detalhe where id_detalhe = {id_detalhe}) where id_mestre={id_mestre}.
  1. No evento onvalidatesucess (quando tudo correu bem) você busca o valor total do mestre (Select valor_total from tab_mestre where id_mestre={id_mestre}) e o resultado você aplica a sc_num_format e a sc_master_value.

*Eu particularmente não utilizo assim, pois uso triggers (banco de dados), mas no seu caso, a sugestão acima se aplica com melhor entendimento.

Obrigada Haroldo elo retorno.

Vou fazer um teste aqui.