Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui

ConsiderarItemContrato

Analisar se o item do contrato deverá ser impresso ou não, no relatório.

Sintaxe: Funcao ConsiderarItemContrato (Numero pDatCpt,Numero pDatUft,Numero pDatIni,Numero pDiaPar, Numero pDiaBas);

Parâmetros:

Nome Tipo Descrição
pDatCpt Numero Mês e ano de competência para faturamento.
pDatUft Numero Data do último faturamento efetuado.
pDatIni Numero Data do início do processamento das parcelas.
pDiaPar Numero Quantidade de meses de intervalo entre as parcelas.
pDiaBas Numero Dia do mês base para o processamento das parcelas.

Tipo de retorno: O resultado é armazenado em uma variável interna do sistema e retornado através da função Funcao RetornaConsiderarItemCtr (Alfa End Retorno);
Retorno (Alfa): Resultado da chamada:

Exemplo:

Definir Cursor Cur_E160CTR;
Definir Cursor Cur_E160CVP;
Definir Numero VCodEmp;
Definir Numero VCodFil;
Definir Numero VNumCtr;
Definir Numero pDatCpt;
Definir Numero pDatUft;
Definir Numero pDatIni;
Definir Numero pDiaPar;
Definir Numero pDiaBas;
Definir Alfa VConsiderarItemContrato;

@ Faz a busca por todos os contratos ativos @
Cur_E160CTR.SQL "SELECT CODEMP, CODFIL, NUMCTR, DIAPAR, DIABAS FROM E160CTR WHERE SITCTR = 'A'";

Cur_E160CTR.AbrirCursor();
Enquanto (Cur_E160CTR.Achou)
Inicio
VCodEmp = Cur_E160CTR.CodEmp;
VCodFil = Cur_E160CTR.CodFil;
VNumCtr = Cur_E160CTR.NumCtr;

pDiaPar = Cur_E160CTR.DiaPar;
pDiaBas = Cur_E160CTR.DiaBas;

@ Busca os itens de produto do contrato @
Cur_E160CVP.SQL "SELECT DATCPT, DATUFT, DATINI FROM E160CVP WHERE CODEMP = :VCODEMP AND CODFIL = :VCODFIL AND NUMCTR = :VNUMCTR";
Cur_E160CVP.AbrirCursor();
Enquanto (Cur_E160CVP.Achou)
Inicio
pDatCpt = Cur_E160CVP.DatCpt;
pDatUft = Cur_E160CVP.DatUft;
pDatIni = Cur_E160CVP.DatIni;
@ Analisa o item @
ConsiderarItemContrato(pDatCpt, pDatUft, pDatIni, pDiaPar, pDiaBas);
@ Grava o retorno da função ConsiderarItemContrato @
RetornaConsiderarItemCtr(VConsiderarItemContrato);
Cur_E160CVP.Proximo();
Fim;
Cur_E160CVP.FecharCursor();

Cur_E160CTR.Proximo();
Fim;
Cur_E160CTR.FecharCursor();

Observações: A análise do item é realizada de acordo com o faturamento do contrato. Se o contrato ainda não foi faturado, o item será considerado se a competência for maior ou igual a data de início do faturamento. Se o contrato já foi faturado, o item será considerado se a competência for maior ou igual a data do último faturamento.

Este artigo ajudou você?