calcular valor total (RESOLVIDO)

olá, tenho um formulario Pedido com unico registro e um formulario ItemPedido com grid editavel. Fiz um mestre-detalhe com eles, no fomulario ItemPedido calculei o valor total dessa maneira:
{valor}= ({itemvalor} * {qtde}); com o método php

gostaria de saber como faço para calcular o valor total do pedido.
Desde já agredeço!
Att,
Gleice

Gleice,

De uma olhada nesse exemplo e vê se te ajuda:

http://scriptcase.com.br/site/samples/tutoriais/form/form38.php

Leandro

Não se se seu problema é gravar na tabela mestre ou exibir no formulário mestre.
se for para gravar na tabela mestre, eu gosto de usar gatilhos diretamente no banco de dados:
http://www.netmake.com.br/forum/index.php?topic=3968.msg15432;topicseen#msg15432

ou no evento onafterinsert do formulário detalhe fazer um update em pedidos baseado em um sum em todos os itens.

Para exibir o valor no formulário tem a macro sc_master_value :

sc_master_value(‘Objeto’, Valor)
Esta macro tem o poder de atualizar qualquer objeto de uma aplicação Mestre, em uma aplicação Detalhe.

Parâmetro
Descrição
Objeto Nome do objeto a ser atualizado na aplicação Mestre. Ao informar o nome de um campo, não é necessário utilizar as {}.
Valor Valor que o objeto especificado receberá. O valor pode ser um campo ou variável.

Ex. 1:
sc_lookup(result,“SELECT SUM(Total) FROM adm_pedido_itens WHERE PedidoID = ‘{PedidoID}’”);
[valor] = {result}[0][0];
sc_master_value(‘ValorPedido’, [valor]);

Escopo da Macro

Formulario Formulario Controle
onAfterDelete
onAfterDeleteAll
onAfterInsert
onAfterInsertAll
onAfterUpdate
onAfterUpdateAll
onApplicationInit
onBeforeDelete
onBeforeInsert
onBeforeUpdate
onLoadAll
onNavigate
onRecord
onRefresh
onScriptInit
onValidate
onValidateFailure onLoadAll
onRefresh
onScriptInit

estou tentando utilizar essa macro sc_master_value, conseguir mostrar um valor do formulario detalhe no formulario mestre. o meu problema é que não estou conseguindo somar todos os itens daquele pedido, ele está apresentando o valor só do primeiro item.

faça um sc_lookup com um select sum(quantidade*valoritem) from itens where pedidoid=id_do_pedido

use a função SUM(campo) na consulta sql

Ex. 1:
sc_lookup(result,“SELECT SUM(Total) FROM adm_pedido_itens WHERE PedidoID = ‘{PedidoID}’”);
[valor] = {result}[0][0];
sc_master_value(‘ValorPedido’, [valor]);

utilizei exatamente esse codigo, mas como saber se está somando? não consigo apresentar esse valor em nenhum campo.
o que estou fazendo de errado?

sc_lookup(result,“SELECT SUM(itemvalor) FROM itempedido WHERE cod_produto = ‘{cod_produto}’”);
[valor] = {result}[0][0];
sc_master_value(‘teste’, [valor]);

tenta assim

//-------------------------------
sc_lookup(dataset,“SELECT SUM(itemvalor) FROM itempedido WHERE cod_produto = ‘{cod_produto}’”);
$total = {dataset}[0][0];
sc_master_value(‘teste’, $total);
sc_exec_sql(‘UPDATE itempedido SET teste = $total WHERE cod_produto= {cod_produto}’);
//------------------------------

Atenciosamente Arquimedes
www.scriptcasebrasil.com.br

Obrigada pela ajuda de todos!!!

Consegui resolver com o método php:
sc_lookup(ds,“SELECT SUM(valortotal) FROM itempedido WHERE cod_pedido = {cod_pedido}”);
if (empty({ds}[0][0])) {
$vlc1 = 0.0;
} else {
$vlc1 = {ds}[0][0];
}
sc_exec_sql(‘UPDATE pedido SET valorpedido = $vlc1 WHERE cod_pedido = {cod_pedido}’);
sc_master_value(‘valorpedido’ , $vlc1);

De nada estamos aqui para ajudar

Atenciosamente Arquimedes