× Linguagem de Programação ADVPL

Perguntas Ponto de Entrada Pedido de Compras

Mais
10 anos 8 meses atrás #21227 por ftvernier
Fala Galera Blz?

Alguém se tem algum ponto de entrada ao incluir um pedido de compras, gerar automaticamente uma prévia no financeiro?

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21230 por lalberto
Respondido por lalberto no tópico Ponto de Entrada Pedido de Compras
Fernando não testei, veja se funfa ai.

#include "rwmake.ch"
User Function MT120GOK()
aAreaF := GetArea()
cDocto := AllTrim(SC7->C7_FILIAL+SC7->C7_NUM)+'1' // Montagem do Titulo no Financeiro
cParc := ''
cNumPed:= SC7->C7_NUM
nTotal := 0.00
cCond := SC7->C7_COND
nRecno := SC7->(Recno())
cCodFor:= SC7->C7_FORNECE
cLojFor:= SC7->C7_LOJA
dDtPrev:= SC7->C7_DATPRF

IF SC7->(dbSetOrder(1), dbSeek(xFilial("SC7")+cNumPed))
While !SC7->(EOF()) .And. SC7->C7_FILIAL == xFilial("SC7") .And. SC7->C7_NUM == cNumPed
nTotal += Round(SC7->(C7_TOTAL + C7_VALIPI + C7_VALFRE - C7_VLDESC),2)

SC7->(Dbskip())
Enddo
Endif

SC7->(dbGoTo(nRecno))

If !Empty(nTotal)
aCond := condicao( nTotal , cCond, 0, dDtPrev )

If ALTERA // Se For Uma Alteracao Entao Exclui todos Os Titulos provisorios gerados anteriormente
If SE2->(dbSetOrder(1), dbSeek(xFilial("SE2")+'PR '+cDocto))
While SE2->(!Eof()) .And. SE2->E2_FILIAL == xFilial("SE2") .And. SE2->E2_NUM == cDocto
If SE2->E2_TIPO == 'PR '
If RecLock("SE2",.f.)
SE2->(dbDelete())
SE2->(MsUnlock())
Endif
Endif

SE2->(dbSkip(1))
Enddo
Endif
Endif

If INCLUI .Or. ALTERA
Begin Transaction

If Len(aCond) > 1
cParc := 'A'
Endif

For nI := 1 To Len(aCond)
lMsErroAuto := .f.

dbSelectArea("SE2")

// Geracao das Comissoes para os Professores
nOpc := 3
aVetor := {{"E2_PREFIXO" ,'PR ',Nil},;
{"E2_NUM" ,cDocto,Nil},;
{"E2_PARCELA" ,cParc,Nil},;
{"E2_TIPO" ,'PR ',Nil},;
{"E2_FORNECE" ,cCodFor,Nil},;
{"E2_LOJA" ,cLojFor,Nil},;
{"E2_EMISSAO" ,dDataBase,NIL},;
{"E2_VENCTO" ,DataValida(aCond[nI,1],.T.),NIL},;
{"E2_VENCREA" ,DataValida(aCond[nI,1],.T.),NIL},;
{"E2_VALOR" ,aCond[nI,2],Nil},;
{"E2_HIST" ,'PREVIA COMPRAS',Nil}}

MSExecAuto({|x,y,z| Fina050(x,y,z)},aVetor,,nOpc) //Inclusao
If lMsErroAuto
MostraErro()
DisarmTransaction()
Endif
cParc := Soma1(cParc,1)
Next

End Transaction
Endif
Endif
Restarea(aAreaF)
Return .T.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

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