Perguntas Cond Pgto - Contar Pagar
- Evangelista190
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 35
- Obrigados Recebidos: 0
9 anos 6 meses atrás #28000
por Evangelista190
Cond Pgto - Contar Pagar foi criado por Evangelista190
Ola,
Boa Tarde.
Como posso parametrizar a seguinte situação em determinados fornecedores
Se a emissao das NF for do dia 01 a 15 - vencimento do boleto dia 30/31.
Se a emissao das NF for do dia 16 a 31 - vencimento dia 15 do proximo mes.
Boa Tarde.
Como posso parametrizar a seguinte situação em determinados fornecedores
Se a emissao das NF for do dia 01 a 15 - vencimento do boleto dia 30/31.
Se a emissao das NF for do dia 16 a 31 - vencimento dia 15 do proximo mes.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
9 anos 6 meses atrás #28005
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 Cond Pgto - Contar Pagar
Carinha só customizando, segue um exemplo de ponto de entrada utilizado para alterar os vencimentos dos titulos, basta tratar quando for um cliente especifico se for o caso.
#include "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ SF2460I ºAutor ³ Luiz Alberto º Data ³ 02/09/14 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Ponto de Entrada apos a geracao da nota fiscal de saida º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
// Tratamento do vencimento dos titulos para o caso de cartão de credito
// deve considerar a data da emissao pedido de venda para calcular o vencimento
// e não a data da emissao da nota fiscal.
User Function SF2460I()
Local _aArea:=GetArea()
Local _aAreaD2:=SE1->(GetArea())
Local _aAreaE1:=SD2->(GetArea())
Local _aAreaC5:=SC5->(GetArea())
Local _aDup:={}
Local _dDtBaseFI := CTOD("")
If SF2->F2_TIPO = "N"
dbSelectArea("SC5")
dbSetOrder(1)
If dbSeek(xFilial()+SD2->D2_PEDIDO) .And. SF2->F2_VALFAT > 0 .And. SC5->(FieldPos("C5_TIPREC")) > 0 .And. SC5->C5_TIPREC == '3' // Cartao de Credito
_dDtBaseFI := SC5->C5_EMISSAO
_aDup := condicao(SF2->F2_VALFAT,SF2->F2_COND,SF2->F2_VALIPI,_dDtBaseFI,SF2->F2_ICMSRET)
If Len(_aDup) > 0
DbSelectArea("SE1")
DbSetOrder(1)
_lOk := .F.
If SE1->(DbSeek(xFilial("SE1")+SF2->(F2_SERIE+F2_DOC+SubStr(GetMv("MV_1DUP"),1,TamSx3("E1_PARCELA")[1]))))
_lOk := .T.
ElseIf SE1->(DbSeek(xFilial("SE1")+SF2->(F2_SERIE+F2_DOC+Space(TamSx3("E1_PARCELA")[1]))))
_lOk := .T.
Endif
If _lOk
DbSelectArea("SE1")
_nDup := 1
While SE1->(!Eof()) .And. xFilial("SE1") = SE1->E1_FILIAL .And. SE1->(E1_PREFIXO+E1_NUM) == SF2->(F2_SERIE+F2_DOC)
If AllTrim(SE1->E1_TIPO) = 'NF'
RecLock("SE1",.F.)
SE1->E1_VENCTO := _aDup[_nDup][1]
SE1->E1_VENCORI := _aDup[_nDup][1]
SE1->E1_VENCREA := DataValida(_aDup[_nDup][1],.T.)
MsUnLock()
++_nDup
If _nDup > Len(_aDup)
Exit
Endif
Endif
DbSkip()
EndDo
Endif
Endif
Endif
Endif
RestArea(_aAreaD2)
RestArea(_aAreaE1)
RestArea(_aAreaC5)
RestArea(_aArea)
Return
#include "rwmake.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ SF2460I ºAutor ³ Luiz Alberto º Data ³ 02/09/14 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Ponto de Entrada apos a geracao da nota fiscal de saida º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
// Tratamento do vencimento dos titulos para o caso de cartão de credito
// deve considerar a data da emissao pedido de venda para calcular o vencimento
// e não a data da emissao da nota fiscal.
User Function SF2460I()
Local _aArea:=GetArea()
Local _aAreaD2:=SE1->(GetArea())
Local _aAreaE1:=SD2->(GetArea())
Local _aAreaC5:=SC5->(GetArea())
Local _aDup:={}
Local _dDtBaseFI := CTOD("")
If SF2->F2_TIPO = "N"
dbSelectArea("SC5")
dbSetOrder(1)
If dbSeek(xFilial()+SD2->D2_PEDIDO) .And. SF2->F2_VALFAT > 0 .And. SC5->(FieldPos("C5_TIPREC")) > 0 .And. SC5->C5_TIPREC == '3' // Cartao de Credito
_dDtBaseFI := SC5->C5_EMISSAO
_aDup := condicao(SF2->F2_VALFAT,SF2->F2_COND,SF2->F2_VALIPI,_dDtBaseFI,SF2->F2_ICMSRET)
If Len(_aDup) > 0
DbSelectArea("SE1")
DbSetOrder(1)
_lOk := .F.
If SE1->(DbSeek(xFilial("SE1")+SF2->(F2_SERIE+F2_DOC+SubStr(GetMv("MV_1DUP"),1,TamSx3("E1_PARCELA")[1]))))
_lOk := .T.
ElseIf SE1->(DbSeek(xFilial("SE1")+SF2->(F2_SERIE+F2_DOC+Space(TamSx3("E1_PARCELA")[1]))))
_lOk := .T.
Endif
If _lOk
DbSelectArea("SE1")
_nDup := 1
While SE1->(!Eof()) .And. xFilial("SE1") = SE1->E1_FILIAL .And. SE1->(E1_PREFIXO+E1_NUM) == SF2->(F2_SERIE+F2_DOC)
If AllTrim(SE1->E1_TIPO) = 'NF'
RecLock("SE1",.F.)
SE1->E1_VENCTO := _aDup[_nDup][1]
SE1->E1_VENCORI := _aDup[_nDup][1]
SE1->E1_VENCREA := DataValida(_aDup[_nDup][1],.T.)
MsUnLock()
++_nDup
If _nDup > Len(_aDup)
Exit
Endif
Endif
DbSkip()
EndDo
Endif
Endif
Endif
Endif
RestArea(_aAreaD2)
RestArea(_aAreaE1)
RestArea(_aAreaC5)
RestArea(_aArea)
Return
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.119 segundos