Gerar Vencimentos e Valores de Parcelas no Protheus

Gerar Vencimentos e Valores de Parcelas no Protheus

As vezes precisamos obter os valores e vencimentos de parcelas, de algumas rotinas do Protheus, como Pedido de Venda, Pedido de Compra, ou até mesmo, de rotinas customizadas.

No caso de Pedido de Compras e Pedidos de Venda, o Protheus não salva os vencimentos e valores em uma tabela. Você só consegue ver tais dados de ambas as rotinas, em tela.

Com isso, fica muito complicado gerar, por exemplo, um relatório no Protheus, o qual contenha tais parcelas, com seus respectivos valores e vencimentos.

Para sanar esse problema, podemos utilizar a função Condicao.

Isso mesmo, a função Condicao, retorna um array com os respectivos vencimentos e valores das parcelas, conforme os parâmetros passados para a função.

Segue os parâmetros da função Condicao, conforme o TDN:

ParâmetroTipoDescrição
nValTotNuméricoValor total da duplicata
cCondCaractereCódigo da condição de pagamento cadastrada na SE4
nValIpiNuméricoValor do IPI destacado
dData0DateData inicial para considerar desdobramento
nValSolidNuméricoValor do ICMS Solidário
aImpVarArrayArray contendo a sigla e valor dos impostos calculados para outros países
aE4ArrayArray contendo dados semelhantes ao da SE4
nAcrescimoArray Valor do acréscimo
nInicio3ntervalo entre duplicatas - condição de pagamento Tipo 3 (SIGALOJA)
aDias3Array Dias para o vencimento das duplicatas - condição de pagamento Tipo 3 (SIGALOJA)

Apesar da função Condicao receber bastante parâmetros, o uso da mesma é bem simples, e normalmente passamos apenas os 04 (quatro) primeiros parâmetros.

Abaixo segue fonte de exemplo de uso da função:

#Include 'Protheus.ch'

User Function SSGerParc()

  //Variaves Locais
  Local aParcs 	:= {}
  Local nParcs 	:= 0
  Local cCodParc	:= "002"
  Local nVlrTot	:= 1000

  //Array de Retorno com os Vencimentos e Valores das Parcelas
  aParcs := Condicao(nVlrTot, cCodParc, 0, dDataBase)

  //Executa o For ate processar todas a Parcelas
  For nParcs := 1 To Len(aParcs)

    //Exibe uma mensagem com as Datas de Vencimento da Parcelas e os seus respectivos Valores
    MsgInfo("Data de Vecto. Parcela " + StrZero(nParcs, 2) + ": " + cValToChar(aParcs[nParcs][1]) + " - " + "Valor Parcela " + StrZero(nParcs, 2) + ": " + cValToChar(aParcs[nParcs][2]))

  Next nParcs

Return

A condição de pagamento que estou utilizando no fonte acima de exemplo, é a de Código “002” (A Vista/30/60).

Tal condição gera um pagamento a vista, e mais duas parcelas para 30 (trinta) e 60 (sessenta) dias.

Segue print da Condição de exemplo “002” (SE4):

Condição de Pagamento - Smart SigaImagem 01 – Condição de Pagamento – Smart Siga

Utilizando a Condição de Pagamento acima, é possível verificar o funcionamento da customização, conforme vídeo abaixo:

Vídeo 01 – Função Condicao() – Smart Siga

Como podemos ver no vídeo acima, a função Condicao, gerou as seguintes parcelas e vencimentos, tomando como base a data de 13/11/2018:

  • Data Vecto. Parcela 01: 13/11/2018 – Valor: 333,33
  • Data Vecto. Parcela 01: 12/12/2018 – Valor: 333,33
  • Data Vecto. Parcela 01: 11/01/2018 – Valor: 333,34

Utilizando a mesma Condição de Pagamento no Pedido de Venda, podemos verificar que o retorno dos vencimentos e valores das parcelas, é exatamente igual ao da nossa customização:

Condição de Pagamento PV - Smart Siga

Imagem 02 – Condição de Pagamento PV – Smart Siga

O uso da função Condicao é muito fácil, e pode nos ajudar muito no dia a dia em nossas customizações.

Para baixar o fonte de exemplo, o qual demonstramos o uso da função Condicao, basta clicar aqui. Para acessar todos os fontes e arquivos de configurações do GitHub do Smart Siga, clique aqui.

Caso ainda não tenham se inscrito no Canal Smart Siga, ou em nossas mídias sociais, ou em nosso GitHub, aproveitem para se cadastrar agora, pois assim, vocês recebem em primeira mão, todas as novidades do nosso site.

Aproveitem também, para ingressar em nosso Canal do Smart Siga no Telegram. Assim vocês receberam em primeira mão nossos posts. Para tanto acessem: https://t.me/smartsiga.

Smart Siga - TI Inteligente

 

Referências:
TDN – Função Condicao
Compartilhe:
  •  
  •  
  •  

2 thoughts on “Gerar Vencimentos e Valores de Parcelas no Protheus

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Seja um Analista VIP!!!

Recebe em primeira mão as novidades do Canal Smart Siga, além de conteúdos exclusivos.