Atualizar dados no relatório PDF!

Oi Pessoal ! Tenho um formulário com 2 tabelas, uma mestre e a outra detalhe, e acontece que quando eu apago um registo na tabela detalhe que tem campo chamado “valor” o sistema não atualiza o relatório PDF automaticamente, só atualiza depois de eu carregar no botão “atualizar” ! Não há uma forma de o sistema atualizar os dados do PDF depois de eu apagar uma linha na tabela detalhe automaticamente ? Obrigado !

Ola

Não entendi muito o problema.
O relatorio PDF reflete os dados no momento da criação; para atualiza vc tem que imprimi-lo novamente e não me lembro dele ter botão de atualizar.

Caso precise ficar atualizando acho melhor usar a consulta.

Atenciosamente
Moacir

Oi Moacir ! No mestre eu tenho um campo “Total”, e quando eu apago uma linha do formulário detalhe, o campo “Total” no mestre não atualiza de imediato, só atualiza se eu pressionar o botão “atualizar” !

Acredito que ele quer dizer exportação do PDF no formulário. O que está na tela reflete no PDF.
No evento onAfterDelete não deve estar aplicando sc_master_value para atualizar dinâamicamente o campo total no formulário mestre.

Oi Haroldo ! Antes de mais gostaria de elogia-lo pelos seus contributos aqui neste forum ! No after_delete eu tenho sim o “sc_master_value”. Aqui vai o codigo que tenho no onAfterDelete "sc_lookup(dataset,“select SUM(TotalFacturado) FROM FornecedorFacturacao
WHERE FornecedorId = {FornecedorId}”);

if(!empty({dataset[0][0]}))

{
$total1 = {dataset[0][0]};
sc_exec_sql(“UPDATE Fornecedor SET ValorFacturacao = $total1 WHERE FornecedorId = {FornecedorId}”);
sc_format_num($total1, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
sc_master_value(‘ValorFacturacao’,$total1);
} else {

$total1 = 0;
sc_format_num($total1, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
sc_master_value(‘ValorFacturacao’,$total1);
}"

De uma olhadinha no seu sc_format_num no webhelp. Ele retorna uma valor que deve ser guardado em uma variável, e você não está fazendo isso.

Oi Haroldo ! Mas na inserção “onAfterInsert” a função funciona bem, a variável não é a “ValorFacturacao” ? Desculpe a minha ignorância !

Olhou no webhelp como usar a macro?

Sim ! Estou a usar o exemplo número 5 ! image

Pois é. No meu webhelp a macro sc_master_value o exemplo está assim:

Avaliando webhelp da macro sc_format, realmente há conflito entre as duas informações no whebhelp:

Coloque a aplicação em modo debugt para avaliarmos se o select sum estã sendo executado quando da deleção do registro do detalhe.

Nota, se tiver apenas um item e for excluir pode ser que seu if após sc_lookup não funcione.

no lugar de: if(!empty({dataset[0][0]}))

tente if ($dataset)

Mais uma observação.
Use o evento onafterdelete e na ultima linha sc_commit_trans();
Pois não consigo entender muito bem como o formulário trata as transações no banco e a relação dos eventos com os momentos dessas transações.

Postei duvida a respeito mas nunca obtive retorno da Netmake sobre o assunto (acostumado já).

Oi Haroldo ! A função parece-me estar correcta porque apaga o registo da base de dados ! Só não apaga no relatório PDF ! Só apaga se eu carregar no botão actualizar !

Você usa exportar para PDF correto?

Consegue fazer um vídeo mostrando o problema?

Não ! Crio um botão no formulário que chama a aplicação em PDF ! image

Report PDF?

e nesse botão atualização faz o que?

Sim é um Report PDF ! O botão é o standart do formulário do scriptcase que actualiza os dados depois de alguma alteração feita no formulário !