Olá pessoal,
Faz tempo que não posto nada sobre Protheus, mas me deparei com um problema interessante.
Um colaborador do Financeiro me pediu para criar a condição de pagamento com 36 parcelas. Até aí tudo bem, mas tive o primeiro impasse.
O campo só cabe 40 caracteres.
Depois de muita pesquisa e de buscar no TDN e nada achar, encontre a solução em um fórum para facilitar a vida de todos como sempre, estou postando abaixo as possíveis soluções para cadastros de condições de pagamento no Protheus.
Detalhe usei o Tipo 5
Condição de Pagamento
A Condição de Pagamento é característica geral da maneira pela qual um pagamento será efetuado. Para indicar uma condição de pagamento em qualquer módulo do Advanced Protheus deve-se informar:
Código - Código da Condição de Pagamento
Tipo - Tipo da Condição de Pagamento
Condição - Parâmetros da Condição de Pagamento
Assim:
Tipo: 1
Estrutura: A condição de pagamento indica o deslocamento em dias a partir da data base. Os valores devem ser separados por vírgula. O usuário pode definir qualquer código para representar a condição.
Exemplo: 30,60,90,120,150
Tipo: 2
Estrutura: O próprio código da Condição de Pagamento representa os vencimentos, regidos pela formula:
O campo condição deve determinar o multiplicador.
Exemplo:
O código 341 com um multiplicador 7 representa:
- 21 dias para a primeira duplicata
- 4 duplicatas
- 7 dias de intervalo entre duplicatas
Tipo: 3
Estrutura: O campo "Condição" determina as datas padronizadas para o vencimento. O usuário pode definir qualquer código para representar a condição.
Exemplo:
O programa calcula, após a data de emissão, as datas de vencimento, ajustando-as de acordo com as datas padrão fornecidas, sempre para a próxima.
Tipo: 4
Estrutura: O campo "Condição" determina os dias da semana padronizados para o vencimento. O usuário pode definir qualquer código para representar a condição.
Onde D1:
1 Domingo
2 Segunda
3 Terça
4 Quarta
5 Quinta
6 Sexta
7 Sábado
Tipo: 5
Estrutura: O campo "Condição" representa os vencimentos, regidos pela seguinte fórmula:
Exemplo: A condição "10,12,30" representa:
10 -dias para a primeira duplicata
12 -duplicatas
30-dias de intervalo entre duplicatas
Tipo: 6
Estrutura: O campo "Sistema" assume dias da semana padronizados para o vencimento, considerando o intervalo de dias entre cada parcela.
Onde D1:
1 Domingo
2 Segunda
3 Terça
4 Quarta
5 Quinta
6 Sexta
7 Sábado
Tipo: 7
Permitinde a definição de datas fixas de vencimento no período de um ano.
O valor de cada parcela será calculado dividindo o Valor Total da Nota pelo Número de Parcelas. Quando o dia informado for superior ao último dia do mês, o último dia do
mesmo será assumido. Esta condição trata as parcelas da seguinte maneira:
São definidos 13 valores numéricos, separados por vírgulas. Os dois primeiros dígitos, indicam o número de parcelas. Os demais devem ser utilizados para informar os dias de vencimento das parcelas (de Janeiro a Dezembro).
Quando o dia informado for superior ao último dia do mês, o último dia
do mesmo será assumido.
Exemplo:
Condição: 03,05,10,15,20,25,30,05,10,15,20,25,30
Dias da Data: Fora a Quinzena
Data Base: 25/03/96
Neste caso, serão 3 parcelas com vencimento nos dias 20/04, 25/05 e 30/06.
Tipo: 8
Estrutura: O campo "Condição" representa os dias de deslocamento para cálculo do vencimento das parcelas e o percentual para divisão dos valores cada parcela.
Exemplo:
Condição: [30,60,90],[25,35,40]
A soma dos totais dos percentuais deve ser de 100%
Num total de 1.000 reais serão gerados as seguintes parcelas.
para 30 dias, 25% do total R$ 250,00
para 60 dias, 35% do total R$ 350,00
para 90 dias, 40% do total R$ 400,00
Tipo: 9
Estrutura: Datas fixas. O cliente informa as datas de vencimentos e valores ou percentuais.
Basta indicar no arquivo de Condições de Pagamento, campo Condição, o símbolo "%" para utilizar os campos PARCELAS do arquivo de Pedidos de Vendas, como percentuais a serem parcelados. Caso o campo "Condição" (arquivo Condições de Pagamento), seja preenchido com qualquer outra informação que não seja o símbolo "%", os parcelamentos serão considerados em valor.
Daniel S. Menezes
Analista de Sistemas
Programador AdvPL
Programador C# (.Net)