Opcional
Fluxo do Processo
1 - Externalização das Regras para Recálculo do Bônus
Incluir novas variáveis na API de consulta de tipos de operações e variáveis
- Incluir na include cdapi0034a.i5 as novas variáveis necessárias ao recálculo do bônus fixo:
Lista de variáveis a incluir:
novo-total = Valor intermediário utilizado no cálculo do ajuste
val-ajuste = Valor unitário que ajusta o bônus fixo
nat-oper-comp-1 = Natureza NF complementar - Item SEM crédito
nat-oper-comp-2 = Natureza NF complementar - Item COM crédito
val-imp-retido = Valor projetado para o imposto retido
Lista de variáveis retornadas pela cdapi034:
novo-total = Valor intermediário utilizado no cálculo do ajuste
val-ajuste = Valor unitário que ajusta o bônus fixo
nat-oper-comp-1 = Natureza NF complementar - Item SEM crédito
nat-oper-comp-2 = Natureza NF complementar - Item COM crédito
val-imp-retido = Valor projetado para o imposto retido
2 - Apuração Valores Período
- Incluir uma chamada ao interpretador de regras (cdapi034) passando código da empresa, código do estabelecimento, o tipo de operação "AQR-NF-Produtor" e o seguinte conjunto de variáveis:
optante = indica se o produtor é optante do programa de incentivo (produt-rural.optante)
item = código do item (fechto-produt-period.it-codigo)
vol-acum-ano = volume entregue acumulado no ano (quant-fornec-produt.qtd-fornec)
vol-mes = volume entregue no mês (fechto-produt-period.qtd-period)
vol-ano-mes = volume acumulado do ano mais o volume do mês (quant-fornec-produt.qtd-fornec + fechto-produt-period.qtd-period)
preco-final-inf = preço final informado (fechto-produt-period.val-preco-final-inf)
- Salvar os valores de ajuste retornados pela cdapi034 nos campos livres, da seguinte forma:
fechto-produt-period.val-livre-1 = val-ajuste
Se o interpretador de regras não retornar valor, gravar zero
3 - aq0315 - Confirmação Preço Final
Incluir nova coluna "Ajuste" na tela do aq0315 para mostrar o valor do ajuste (fechto-produt-period.val-livre-1). Este valor deverá ser recalculado cada vez que o usuário alterar o "Preço Final" chamando o interpretador de regras para a linha alterada
Chamada ao Interpretador de Regras
- Executar a cdapi034 (interpretador de regras) quando o campo Preço Final for alterado passando código da empresa, código do estabelecimento, o tipo de operação "AQR-NF-Produtor" e o seguinte conjunto de variáveis:
optante = indica se o produtor é optante do programa de incentivo (produt-rural.optante)
item = código do item (fechto-produt-period.it-codigo)
vol-acum-ano = volume entregue acumulado no ano (quant-fornec-produt.qtd-fornec)
vol-mes = volume entregue no mês (fechto-produt-period.qtd-period)
vol-ano-mes = volume acumulado do ano mais o volume do mês (quant-fornec-produt.qtd-fornec + fechto-produt-period.qtd-period)
preco-final-inf = preço final informado (fechto-produt-period.val-preco-final-inf)
Lista de variáveis retornadas pela cdapi034:
val-ajuste = Valor unitário que ajusta o bônus fixo
- Se a cdapi034 não retornar valores, a coluna "Ajuste" deve ficar com zero.
4 - Fechamento Período Aquis Rural
- Retirar do programa aq0320 a parte que é responsável por criar movimentos de evento financeiro. Esta geração será concentrada no programa de Geração de Notas Produtor (aq0311) para que seja realizada o mais tarde possível no processo, quando a chance de que eles precisem ser recriados é menor.
5 - Emissão de Notas Produtor
Para que a nota fiscal seja gerada com um valor que desconsidere o incentivo e o imposto retido, será necessário aplicar o ajuste (fechto-produt-period.val-livre-1) ao preço unitário confirmado. Na montagem do preco-total da item-doc-est, somar o ajuste ao preço final:
Se tem incentivo (NF-Credito = Sim)
item-doc-est.preco-total = fechto-produt-period.qtd-period * (fechto-produt-period.val-preco-final-inf + fechto-produt-period.val-livre-1)
Se tem incentivo parcial (NF-Credito = Parcial)
item-doc-est.preco-total = qtde-1 * (fechto-produt-period.val-preco-final-inf + fechto-produt-period.val-livre-1) e
item-doc-est.preco-total = qtde-2 * (fechto-produt-period.val-preco-final-inf + fechto-produt-period.val-livre-1)
Se não tem incentivo (NF-Credito = Não)
item-doc-est.preco-total = fechto-produt-period.qtd-period * (fechto-produt-period.val-preco-final-inf + fechto-produt-period.val-livre-1)
- Incluir no programa de Geração de Notas Produtor (aq0311) a geração de movimentos de evento financeiro retiradas do programa de Fechamento de Período (tópico 4 acima)
6 - Eliminação de Notas Produtor
- Incluir no programa de Eliminação de NF Produtor Rural a eliminação dos eventos financeiros criados durante a geração das notas que estão sendo eliminadas.
- Para isso, fazer uma chamada ao método "pi_eliminar_movto_event_financ_chave_sem_num_seq" do programa apb061za.p