Árvore de páginas

Índice


Ambiente 

Protheus – Gestão de Contratos – A partir da versão 12.1.17

Objetivo

A rotina de Ajuste de Saldos tem o objetivo de efetuar ajustes dos saldos do contrato, suas planilhas e cronograma financeiro caso estejam divergentes com as medições realizadas. 


Para utilizar a rotina acesse a rotina Ajuste de Saldos (CNTA320) e informe os parâmetros:

  • Contrato De?
  • Contrato Até?

 

Ao clicar em OK o sistema irá iniciar os processos para ajuste de saldos do contrato. Somente serão alterados os contratos que possuírem divergência entre as medições.

Primeiramente o sistema irá verificar as medições já realizadas para o contrato. Após esta análise o sistema irá verificar se o saldo do item está de acordo com as medições já realizadas, se sim, nenhuma alteração é realizada, caso contrário é efetuado o ajuste.

Além dos contratos vigentes, o sistema também considera os contratos em elaboração, recalculando seus totalizadores caso exista alguma inconsistência na base de dados.


O sistema atualiza os seguintes campos para contratos vigentes:

  • Contrato
    • Saldo ( CN9_SALDO )
      • Atualizado com o saldo das planilhas do contrato (CNA_SALDO)
    • Valor Atual ( CN9_VLATU) 
      • Atualizado com o valor total das planilhas do contrato ( CNA_VLTOT )
  • Planilha
    • Saldo ( CNA_SALDO )
      • Atualizado conforme saldos dos itens da planilhas
    • Valor Total ( CNA_VLTOT )
      • Atualizado conforme os valores totais das planilhas
  • Itens da Planilhas
    • Qtd Medida ( CNB_QTDMED )
      • Somamos as quantidades do item de todas as medições encerradas.
    • Saldo CNB_SLDMED
      • Para obter o saldo pegamos a quantidade (CNB_QUANT) e subtraímos a quantidade medida.
    • Valor Desconto ( CNB_VLDESC )
      • Para obter o desconto pegamos a quantidade ( CNB_QUANT ) e o percentual de desconto ( CNB_DESC ) e chamamos a função FtDescItem para calculo do desconto
  • Cronograma
    • Vl.Realizado ( CNF_VLREAL )
      • A partir do campo Valor Total (CND_VLTOT) da medição obtermos a soma total de tudo que foi medido da competência
    • Saldo Parc. ( CNF_SALDO )
      • Obtemos o Valor Previsto da Parcela (CNF_VLPREV) e subtraímos com o valor total medido da competência. Caso o valor desta conta seja diferente do Valor Realizado (CNF_VLREAL) atualizamos o campo CNF_VLREAL com o resultado.

Para contratos ainda em elaboração o sistema recalcula os campos abaixo:

  • CN9_VLINI
  • CN9_VLATU
  • CN9_SALDO
  • CNA_SALDO
  • CNA_VLTOT
  • CNB_DESC
  • CNB_QUANT
  • CNB_VLUNIT

Backup

É imprescindível a execução de um backup da base de dados antes da utilização da rotina, pois após executada não é possível retornar os registros como estavam antes.

Atenção!

Por padrão a rotina processa apenas contratos com Medição Eventual igual a Não (MV_320SLD = 1), para processar contratos com Medição Eventual = Sim e Fixos configure o parâmetro MV_320SLD = 2.

Para criação do parâmetro, verificar documentação da issue referente no link abaixo:

14208517 DMANMAT02-38264 DT Ajustes de Saldos de contratos eventuais 

Outros Ambientes

A Rotina Schedule tem por objetivo agendar execuções de rotinas. A rotina CNTA320 também pode ser executada via Schedule.

Atenção!

Para que possa ser executado via Schedule, é preciso criar uma User Function que fará a chamada da rotina CNTA320 junto da função SchedDef e retornará os parâmetros corretos para que possam ser incrementadas as perguntas dentro do Schedule.

Exemplo
#INCLUDE "PROTHEUS.CH"

User Function CallRot()
    CNTA320()
Return


Static Function SchedDef()

Local aParam  := {}

aParam := { "P",;           //Tipo R para relatorio P para processo
            "CNTA320",;     //Pergunte do relatorio, caso nao use passar ParamDef
            ,;              //Alias
            ,;              //Array de ordens
            "Teste Schedule CNTA320"}               //Titulo - ""

Return aParam


Exemplo de Execução dentro do Schedule:

Conteúdos Relacionados