- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada Pedido de Compras
×
Linguagem de Programação ADVPL
Perguntas Ponto de Entrada Pedido de Compras
- ftvernier
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 386
- Obrigados Recebidos: 2
10 anos 8 meses atrás #21227
por ftvernier
Ponto de Entrada Pedido de Compras foi criado 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.
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 8 meses atrás #21230
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.
#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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada Pedido de Compras
Tempo para a criação da página:0.092 segundos