- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Financeiro
- Ajuda no vencimento de parcelas [crediário próprio da loja]
Perguntas Ajuda no vencimento de parcelas [crediário próprio da loja]
- tiagoaramos
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
11 anos 2 dias atrás #18680
por tiagoaramos
Sou iniciante em Protheus então queria validar se a solução que estou adotando é a melhor ou se tem forma mais tranquila de fazer, ou então se estou fazendo errado heheh.
O cliente tem um cartão próprio da loja, por padrão o vencimento de cada compra dentre os tipos de pagamentos padrões são com 30 dias após a compra do produto. Porém os clientes antes de ter o protheus tinham seus vencimentos similares à cartão de credito, uma data fixa que compras até 7 dias antes desta data seriam cobradas no vencimento, a após sóo no próximo vencimento.
Então a solução que dei para isso.
Inclusão de um campo na tabela de cliente do tipo numerico SA1->SA1_DIAVENC o nome não é exatamente esse mas fica como exemplo.
Personalização do ponto de entrada MT461VCT com regras especificas, abaixo um pseudo codigo para exemplificar o que eu pensei... não ta corretissimo nem com os calculos ainda mas se acharem que vai dar certo ai completo ele
O cliente tem um cartão próprio da loja, por padrão o vencimento de cada compra dentre os tipos de pagamentos padrões são com 30 dias após a compra do produto. Porém os clientes antes de ter o protheus tinham seus vencimentos similares à cartão de credito, uma data fixa que compras até 7 dias antes desta data seriam cobradas no vencimento, a após sóo no próximo vencimento.
Então a solução que dei para isso.
Inclusão de um campo na tabela de cliente do tipo numerico SA1->SA1_DIAVENC o nome não é exatamente esse mas fica como exemplo.
Personalização do ponto de entrada MT461VCT com regras especificas, abaixo um pseudo codigo para exemplificar o que eu pensei... não ta corretissimo nem com os calculos ainda mas se acharem que vai dar certo ai completo ele
User Function MT461VCT()
Local _aVencto := PARAMIXB[1]
Local _aTitulo := PARAMIXB[2]
// Condicao especifica com vencimento consultando tabela de cliente para melhor dia
If SC5->C5_CONDPAG == "XXX // codigo da condição especial
_nDiaSem := SA1->SA1_DIAVENC // aqui pego o dia de vencimento do cadastro de clientes
// Calculo se o dia de vencimento menos 7 é apos a data do vencimento da nota
_aVencto[1][1] < _nDiaSem - 7
// se for eu é "fatura em aberto ainda"
_aVencto[1][1] := _nDiaSem
// se não for é so na proxima fatura
_aVencto[1][1] := _nDiaSem + 30
Endif
Return(_aVencto)
Por favor Acessar ou Registrar para participar da conversa.
- tiagoaramos
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18910
por tiagoaramos
Respondido por tiagoaramos no tópico Ajuda no vencimento de parcelas [crediário próprio da loja]
Ninguem tem nem ideia de como posso fazer?
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 11 meses atrás #18912
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 Ajuda no vencimento de parcelas [crediário próprio da loja]
Segue Não testei.
User Function MT461VCT()
Local _aVencto := PARAMIXB[1]
Local _aTitulo := PARAMIXB[2]
// Condicao especifica com vencimento consultando tabela de cliente para melhor dia
If SC5->C5_CONDPAG == "XXX // codigo da condição especial
nDiaVenc := SA1->A1_DIAVENC
If Day(_aVencto[1][1]) < (nDiaVenc - 7) // Calculo se o dia de vencimento menos 7 é apos a data do vencimento da nota
// se for eu é "fatura em aberto ainda"
// e coloca a data do vencimento do cliente como vencimento da nota
// verifica se é sab dom ou feriado
_aVencto[1][1] := DataValida(CtoD(StrZero(nDiaVenc,2)+'/'+StrZero(Month(_aVencto[1][1]),2)+'/'+Str(Year(_aVencto[1][1]))),.t.)
Else
_aVencto[1][1] := MonthSum(_aVencto[1][1],1) // se não for é so na proxima fatura
Endif
Endif
Return(_aVencto)
User Function MT461VCT()
Local _aVencto := PARAMIXB[1]
Local _aTitulo := PARAMIXB[2]
// Condicao especifica com vencimento consultando tabela de cliente para melhor dia
If SC5->C5_CONDPAG == "XXX // codigo da condição especial
nDiaVenc := SA1->A1_DIAVENC
If Day(_aVencto[1][1]) < (nDiaVenc - 7) // Calculo se o dia de vencimento menos 7 é apos a data do vencimento da nota
// se for eu é "fatura em aberto ainda"
// e coloca a data do vencimento do cliente como vencimento da nota
// verifica se é sab dom ou feriado
_aVencto[1][1] := DataValida(CtoD(StrZero(nDiaVenc,2)+'/'+StrZero(Month(_aVencto[1][1]),2)+'/'+Str(Year(_aVencto[1][1]))),.t.)
Else
_aVencto[1][1] := MonthSum(_aVencto[1][1],1) // se não for é so na proxima fatura
Endif
Endif
Return(_aVencto)
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
- Módulos do Protheus
- Módulo Financeiro
- Ajuda no vencimento de parcelas [crediário próprio da loja]
Tempo para a criação da página:0.199 segundos