Perguntas Valor total do pedido de compra

Mais
8 anos 8 meses atrás #30258 por Rei_TI
Bom dia galera tudo bem?

Seguinte, estou desenvolvendo uma customização na Pre nota P.E SF1140I....

Preciso retornar o valor TOTAL (IMPOSTOS + FRETE, etc) do pedido de compra.
Tem que ser o mesmo valor que aparece no rodapé do pedido de compra TOTAL DO PEDIDO.

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 8 meses atrás #30260 por Rei_TI
Respondido por Rei_TI no tópico Valor total do pedido de compra
Galera consegui aqui....segue caso alguem precise.

NOTA: estou posicionado na SD1.


User Function VALTOTNF()

Local nValNF := 0
Local aAreaSC7 := GetArea("SC7") //Armazeno area

dbSelectArea("SC7")
SC7->(dbsetorder(1)) //C7_FILIAL+C7_NUM+C7_ITEM+C7_SEQUEN
SC7->(dbgotop())

//Gravo chave para usar no loop
nChave := SD1->(D1_FILIAL + D1_PEDIDO)

//Procuro pedido de acordo com a NF posicionada
If SC7->(DbSeek( xFilial("SC7") + SD1->D1_PEDIDO))

//Loop nos itens
WHILE SC7->(C7_FILIAL + C7_NUM) = nChave

//acrescento valor total dos itens
nValNF += SC7->(C7_TOTAL - C7_VLDESC + C7_SEGURO + C7_DESPESA + C7_VALFRE + C7_VALIPI)

//pulo registro
SC7->(dbskip())
EndDo
EndIf

RestArea(aAreaSC7) //Libero area

Return nValNF //Retorno valor total da NF com Impostos/frete etc

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 8 meses atrás #30264 por Rei_TI
Respondido por Rei_TI no tópico Valor total do pedido de compra
ALTERAÇÃO.....

Desta forma pode ser chamado na inclusão e alteração (Na alteração não estou posicionado na SD1)

User Function VALTOTNF()

Local nValNF := 0
Local aAreaSF1 := GetArea("SF1")
Local aAreaSD1 := GetArea("SD1")
Local aAreaSC7 := GetArea("SC7")

//Selecionando Tabelas
dbSelectArea("SF1")
SF1->(dbsetorder(1)) //F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO
SF1->(dbgotop())

dbSelectArea("SD1")
SD1->(dbsetorder(1)) //D1_FILIAL+D1_DOC+D1_SERIE+D1_FORNECE+D1_LOJA+D1_COD+D1_ITEM
SD1->(dbgotop())

dbSelectArea("SC7")
SC7->(dbsetorder(1)) //C7_FILIAL+C7_NUM+C7_ITEM+C7_SEQUEN
SC7->(dbgotop())

If SF1->(DbSeek( xFilial("SF1")+ CNFISCAL + CSERIE + CA100FOR + CLOJA + CTIPO))
If SD1->(DbSeek( xFilial("SD1") SF1->(F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA )))
If SC7->(DbSeek( xFilial("SC7")+ SD1->D1_PEDIDO))

//Chave com Filial mais o numero do Pedido.
cChave := SC7->(C7_FILIAL + C7_NUM)

//Loop nos itens
WHILE SC7->(C7_FILIAL + C7_NUM) = cChave

//acrescento valor total dos itens
nValNF += SC7->(C7_TOTAL - C7_VLDESC + C7_SEGURO + C7_DESPESA + C7_VALFRE + C7_VALIPI)

//pulo registro
SC7->(dbskip())
EndDo
EndIf
EndIf
EndIf

//Libero areas
RestArea(aAreaSF1)
RestArea(aAreaSD1)
RestArea(aAreaSC7)

//Retorno valor total da NF com Impostos/frete etc
Return nValNF

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.114 segundos
Joomla templates by a4joomla