Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.
Especificação de Requisitos |
|
Projeto/Versão: 12.1.7 | Requisito/Módulo: SIGAGCT |
Sub-Requisito/Função: Reajuste Automático | Tarefa/Chamado: |
País: All | Data Especificação: 22/07/2015 |
Rotinas Envolvidas |
|
|
Rotina | Tipo de Operação | Opção de Menu |
CNTA100 – Manutenção de Contratos | Alteração | Não possui |
CNTA300 – Manutenção de Contratos | Alteração | Atualização -> Contratos -> Manutenção |
CNTA301 – Manutenção de Contratos (Venda) | Alteração | Não possui |
CNTA300R – Revisão de Contratos | Alteração | Não possui |
CNTA310 – Reajuste Automático | Inclusão | Atualização -> Contratos -> Reajuste Automático |
CNTXFUN – Funções de Contratos | Alteração | Não possui |
RUPMAT – Release Update de Materiais | Alteração | Não possui |
|
|
|
Estratégia de Desenvolvimento e Liberação |
|
Produto | Protheus |
Release que está sendo desenvolvido | 12.1.6 |
Possui Réplica? | ( )Sim (X)Não |
Qual a versão? | Totvs 12 |
Visando atender usuários que necessitam realizar reajuste de contratos em lote, será desenvolvida a rotina de reajuste automático de contratos. Esta nova rotina permitirá a execução ou agendamento do processo de reajuste de contrato, gerando histórico dos itens garantindo fácil visualização e entendimento das alterações realizadas utilizando o sistema ou gerando relatórios.
Tem por objetivo ainda a inclusão da inovação de reajuste retroativo, onde medições encerradas participarão do reajuste, e as medições posteriores ao reajuste devem ser reajustadas com a diferença entre o valor original e o reajustado das anteriores.
Regras | Rotina | |
Inclusões no ATUSX (As informações detalhadas referentes a este item encontram-se na sessão "Dicionário de Dados" deste documento).
| ATUSX – 6H | |
Atualizar o arquivo de menu SIGAGCT.XNU incluindo a nova opção "Reajuste Automático" no menu Atualizações -> Contratos. | SIGAGCT.XNU -0 | |
Os item a seguir referem-se aa tela de Inclusão da rotina de Reajuste Automático e Retroativo. |
| |
Desenvolver tela em MVC | CNTA310 - 2 | |
Desenvolver função de inclusão CN310Inc | ||
Contrato | Range | CN9_NUMERO |
Tipo de contrato | Range | CN9_TPCTO |
Tipo de planilha | Range | CNA_TIPPLA |
Cliente | Range | CNA_CLIENT |
Loja cliente | Range | CNA_LOJACL |
Fornecedor | Range | CNA_FORNEC |
Loja fornecedor | Range | CNA_LJFOR |
Data referencia reajuste* | Data |
|
Data aplicação reajuste* | Data |
|
Tipo de reajuste* | Caracter(3) | CN0_CODIGO (F3 Filtrada para Reajuste) |
Com o preenchimento dos parâmetros do "Pergunte", é realizado a filtragem nos contratos (CN9, CNA, CNB, CN7) deverão ser retornados no filtro as informações abaixo, ordenadas pelo número do contrato.
Contrato | CN9_CONTRA |
Revisão | CN9_REVISA (Revisão vigente do contrato) |
Revisão Atual | CN9_REVATU (Revisão atual) |
Dt. Reajuste do Contrato | CN9_DTREAJ |
Dt. Prox Reajuste do Contrato | CN9_PROXREAJ |
Indice do Contrato | CN9_INDICE |
Valor do Indice do Contrato | CN7_VLREAL (baseado no valor de CN9_INDICE) |
Pró Rata do Contrato | CN9_PRORAT |
Planilha | CNA_NUMERO |
Dt. Reajuste Planilha | CNA_DTREAJ |
Dt. Prox. Reajuste da Planilha | CNA_PROXREAJ |
Indice da Planilha | CNA_INDICE |
Valor do Indice da Planilha | CN7_VLREAL (baseado no valor de CNA_INDICE) |
Pró Rata da Planilha | CNA_PRORAT |
Item | CNB_ITEM |
Valor do Item | CNB_VLTOT |
Dt. Reajuste do Item | CNB_DTREAJ |
Dt. Prox. Reajuste do Item | CNB_PROXREAJ |
Indice do Item | CNB_INDICE |
Valor do Indice do Item | CN7_VLREAL (baseado no valor de CNB_INDICE) |
Os ranges que estiverem em branco devem ser desconsiderados no filtro e somente itens elegíveis para reajuste automático devem constar no retorno, ou seja, somente itens cujo Contrato, Planilha e Item possuem valor Sim para o campo de Reajuste (respectivamente CN9_FLGREJ, CNA_FLGREJ e CNB_FLGREJ) e possuírem valor no campos Dt. Reajuste do contrato, planilha e item (respectivamente CN9_DTREAJ, CNA_DTREAJ e CNB_DTREAJ) em contratos vigentes (CN9_SITUAC = '05').
Caso não for uma rotina automática, a quantidade de contratos que serão alterados são informados para confirmação do usuário.
Após confirmação do usuário, ou ser uma rotina automatizada, deverá ser gerado um novo cabeçalho de reajuste (CXK) sendo preenchido os campos
Codigo do reajuste | Sequêncial automático |
Data inicial | dDataBase |
Hora inicial | Time() |
Data final | dDataBase |
Hora final | Time() |
Qtd. de contratos reajustados | Quantidade de contratos únicos retornado no filtro |
Qtd. de itens reajustados | Quantidade de items (Linhas do filtro) |
Situação | 'CF' – Concluido com falhas. |
Para cada item do filtro, deve ser definido o índice de reajuste que será aplicado ao item, para isto, deve ser verificado se o item possui índice (CNB_INDICE) de reajuste cadastrado, caso não possua deve verificar a planilha (CNA_INDICE) e em ultimo caso o contrato (CN9_INDICE) ao qual é obrigatório o campo caso seja possível reajuste.
Após definição do índice que será aplicado, para cada item do filtro deve ser inclusa uma nova linha no modelo de itens de reajuste (CXK) com os valores abaixo:
Codigo do reajuste automático | Codigo do cabeçalho (CXK) gerado anteriormente | ||||
Item do reajuste automático | Sequêncial automático. | ||||
Código do contrato | Valor do filtro (Contrato) | ||||
Revisão do contrato | Valor do filtro (Revisão) | ||||
Planilha do contrato | Valor do filtro (Planilha) | ||||
Item da planilha | Valor do filtro (Item) | ||||
Valor anterior | Valor do filtro (Valor do Item) | ||||
Dt. Reaj. Anterior | Valor do filtro (Dt. Reajuste do Item) | ||||
Dt. Prev. Reajuste | Valor do filtro (Dt. Prox. Reajuste do Item) | ||||
Dt. Reajuste | Vazio | ||||
Dt. Prox. Reajuste | Vazio | ||||
Valor atual | Vazio | ||||
Codigo do indice | Definido anteriormente (Item, Planilha e Contrato) | ||||
% do indice | Valor do Filtro (Valor do Indice) [Baseado no Codigo] | ||||
% aplicado | -Vazio - | ||||
Situação | 'F' – Falha; 'R' – Para itens de contrato em revisão | ||||
CNTA310 - 12 | |||||
Para cada contrato, deve ser realizado a aglutinação dos itens por planilha no array aContrato que possuirá a estrutura abaixo: | |||||
1 | 2 | ||||
1
| |||||
1 | 2 | 3 | |||
1 | |||||
1 | 2 | 3 | 4 | 5 | 6 |
2 | |||||
1 | 2 | 3 | 4 | 5 | 6 |
Para cada contrato do array aContrato será chamada a função CN310Reaju(), que preencherá os valores vazios do array e retorna verdadeiro (.T.) ou falso (.F.) para a realização do reajuste.
Caso o retorno da função CN310Reaju() seja verdadeiro (.T.), serão atualizadas a linha do item do reajuste com as informações atualizadas do array aContrato
Dt. Reajuste | dDataBase() |
Dt. Prox Reajuste | Array (Dt. Prox. Reajuste) |
Valor Atual | Array (Vl. Reajustado) |
% Aplicado | Array (Reajuste Aplicado) |
Situação | 'C' – Concluido |
Caso o retorno da função CN310Reaju() seja falso (.F.), será atualizada situação da linha do item do reajuste como falha e atualizada a variável de controle lErro para verdadeiro (.T.).
Situação | 'F' – Falha |
Em ambos os casos será atualizado o cabeçalho do reajuste com as informações
Data Final | dDataBase |
Hora Final | Time() |
Ao final da execução de todas as linhas do modelo, será verificada a variável de controle lErro e caso esta possua valor falso (.F.), será atualizado o cabeçalho do reajuste conforme abaixo.
Status | 'C' – Concluido |
CNTA310 - 4 | |
Desenvolver função de reajuste do contrato CN310Reaj() | CNTA310 - 6 |
Atualizar função A300VlrInd para calcular ProRata.
| CNTA310 - 2 |
Atualizar a função CN300Reaju() | CNTA300R -1 |
Atualizar datas previstas de reajuste de itens, planilhas e contratos | CNTA300R - 4 |
Os item a seguir referem-se ao Reajuste Retroativo de Contratos. |
|
Desenvolver função CN310Retro() | CNTA310 - 12 |
Gerar medição retroativa na vigência da revisão 1 | CNTA300 -0 |
Gerar medição retroativa na vigência da revisão 2 | CNTXFUN -0 |
Os item a seguir referem-se a visualização do Log dos reajustes na manutenção do contrato. |
|
Incluir visualização de Logs de Reajuste na manutenção do contrato. | CNTA300 |
Os item a seguir referem-se a alterações necessárias para utilização dos novos campos. |
|
Validação dos novos campos de reajuste
| CNTA300 |
Validação do novo campo Retroativo no cadastro de tipo de revisão. | CNTA100 -1 |
Alteração na liberação de campos para revisão do tipo indice. | CNTA300R -1 |
O item a seguir refere-se a geração do RUP necessárias para utilização dos novos campos. |
|
Gerar RUP de atualização dos novos campos.
| RUPMAT – 1,5 |
Tabelas Utilizadas e Rotina envolvida
CXK | Cabeçalho de Reajuste | CNTA310 |
CXJ | Itens de Reajuste | CNTA310 |
CN0 | Tipo de revisão do contrato | CNTA300, CNTA310, CNTA300R |
CN9 | Contrato | CNTA300, CNTA310, CNTA300R |
CNA | Cabeçalho Planilhas Contratos | CNTA300, CNTA310, CNTA300R |
CNB | Itens das Planilhas Contratos | CNTA300, CNTA310, CNTA300R |
CN6 | Índices | CNTA310 |
CN7 | Histórico de Índices | CNTA310 |
Dicionário de Dados
Parâmetro | MV_CNRJREV |
Tipo | Lógico |
Descrição | Habilita geradação de revisão e aprovação automática (exceto para contrato com alçadas) ao executar revisão automática. |
Valor Padrão | .T. |
Parâmetro | MV_CNRJMNT |
Tipo | Lógico |
Descrição | Habilita apresentação de log de reajuste automatico na interface de manutenção do contrato. |
Valor Padrão | .F. |
Arquivo: CXK (Cabeçalho do reajuste automático)
Chave única |
|
01 | CXK_FILIAL + CXK_NUMERO |
Campo | CXK_FILIAL |
Tipo | C |
Tamanho | 8 |
Descrição | Filial do sistema |
Título | Filial |
Campo | CXK_NUMERO |
Tipo | C |
Tamanho | 15 |
Descrição | Número do reajuste automático |
Título | Num. Reajuste |
Picture | @! |
Campo | CXK_DATINI |
Tipo | D |
Tamanho | 8 |
Descrição | Data de inicio do processamento. |
Título | Dt. Inicio |
Campo | CXK_HORINI |
Tipo | C |
Tamanho | 8 |
Descrição | Hora de inicio do processamento. |
Título | Hora Inicio |
Picture | 99:99:99 |
Campo | CXK_DATFIM |
Tipo | D |
Tamanho | 8 |
Descrição | Data de termino do processamento. |
Título | Dt. Termino |
Campo | CXK_HORFIM |
Tipo | C |
Tamanho | 8 |
Descrição | Hora de termino do processamento. |
Título | Hora Termino |
Picture | 99:99:99 |
Campo | CXK_QTDCT |
Tipo | N |
Tamanho | 6 |
Descrição | Quantidade de contratos que sofreram reajuste |
Título | Qtd. Ct. Reajustados |
Picture | @E999999 |
Campo | CXK_QTDIT |
Tipo | N |
Tamanho | 9 |
Descrição | Quantidade de itens que sofreram reajuste |
Título | Qtd. It. Reajustados |
Picture | @E999999999 |
Campo | CXK_SITUAC |
Tipo | C |
Tamanho | 2 |
Descrição | Situação do reajuste automático |
Título | Situação |
Picture | @! |
Arquivo: CXL (Itens do reajuste automático)
Chave única |
|
01 | CXL_FILIAL + CXL_NUMRJ + CXL_ITEM |
Campo | CXL_FILIAL |
Tipo | C |
Tamanho | 8 |
Descrição | Filial do sistema |
Título | Filial |
Campo | CXL_NUMRJ |
Tipo | C |
Tamanho | 15 |
Descrição | Número do reajuste automático |
Título | Num. Reajuste |
Picture | @! |
Campo | CXL_ITEM |
Tipo | C |
Tamanho | 3 |
Descrição | Item do reajuste automático |
Título | Item |
Picture | @! |
Campo | CXL_CONTRA |
Tipo | C |
Tamanho | 15 |
Descrição | Número do Contrato |
Título | Nr. Contrato |
Picture | @! |
Campo | CXL_REVISA |
Tipo | C |
Tamanho | 3 |
Descrição | Revisão do Contrato |
Título | Revisão |
Picture | @! |
Campo | CXL_PLAN |
Tipo | C |
Tamanho | 6 |
Descrição | Número da planilha |
Título | Nr. Planilha |
Picture | @! |
Campo | CXL_ITEMPL |
Tipo | C |
Tamanho | 3 |
Descrição | Número do item |
Título | It. Planilha |
Picture | @! |
Campo | CXL_DTANT |
Tipo | D |
Tamanho | 8 |
Descrição | Data do reajuste anterior. |
Título | Reaj. Anterior |
Campo | CXL_DTPREV |
Tipo | D |
Tamanho | 8 |
Descrição | Data do reajuste previsto. |
Título | Prev. Reajuste |
Campo | CXL_DTREAJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do reajuste. |
Título | Dt. Reajuste |
Campo | CXL_DTPROX |
Tipo | D |
Tamanho | 8 |
Descrição | Data do proximo reajuste. |
Título | Prox. Reajuste |
Campo | CXL_VLANT |
Tipo | N |
Tamanho | 16 |
Descrição | Valor antes do reajuste |
Título | Vlr. Anterior |
Picture | @E9,999,999,999.99 |
Campo | CXL_VLATU |
Tipo | N |
Tamanho | 16 |
Descrição | Valor Atual |
Título | Vlr. Atual |
Picture | @E9,999,999,999.99 |
Campo | CXL_INDICE |
Tipo | C |
Tamanho | 3 |
Descrição | Indice |
Título | Indice |
Picture | @! |
Campo | CLX_VLIND |
Tipo | N |
Tamanho | 12 |
Decimal | 4 |
Descrição | Valor do indice |
Título | Vlr. Indice |
Picture | @E9,999,999.99 |
Campo | CLX_VLAPL |
Tipo | N |
Tamanho | 12 |
Decimal | 4 |
Descrição | Valor do indice aplicado |
Título | Vlr. Aplicado |
Picture | @E9,999,999.99 |
Campo | CXL_SITUAC |
Tipo | C |
Tamanho | 2 |
Descrição | Situação do reajuste automático |
Título | Situação |
Picture | @! |
Arquivo: CN0 (Tipo de revisão do contrato)
Campo | CN0_RETRO |
Tipo | C |
Tamanho | 1 |
Descrição | Realiza retroativo |
Título | Retroativo |
Picture | @! |
Combo |
|
Arquivo: CN9 (Cabeçalho do contrato)
Campo | CN9_PERI |
Tipo | N |
Tamanho | 6 |
Decimal | 0 |
Descrição | Periodicidade do reajuste |
Título | Periodicidade |
Picture | @E999999 |
Ordem | 18 |
Campo | CN9_UNPERI |
Tipo | C |
Tamanho | 1 |
Descrição | Unidade da periodicidade |
Título | Un. Periodicidade |
Picture | @! |
Combo |
|
Ordem | 19 |
Campo | CN9_MODORJ |
Tipo | C |
Tamanho | 1 |
Descrição | Modo do reajuste |
Título | Modo |
Picture | @! |
Combo | 1 – Por competência |
Ordem | 20 |
Campo | CN9_PRORAT |
Tipo | C |
Tamanho | 1 |
Descrição | Utiliza Pró Rata |
Título | Pro Rata |
Picture | @! |
Combo | 1 – SIM |
Ordem | 21 |
Campo | CN9_PROXRJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do proximo reajuste. |
Título | Prox. Reajuste |
Pasta | Parâmetros/Revisão |
Visual | Visualização |
Arquivo: CNA (Planilha do contrato)
Campo | CNA_INDICE |
Tipo | C |
Tamanho | 3 |
Descrição | Índice Econômico |
Título | Índice |
Picture | @! |
Ordem | 17 |
Campo | CNA_PERI |
Tipo | N |
Tamanho | 6 |
Decimal | 0 |
Descrição | Periodicidade do reajuste |
Título | Periodicidade |
Picture | @E999999 |
Ordem | 18 |
Campo | CNA_UNPERI |
Tipo | C |
Tamanho | 1 |
Descrição | Unidade da periodicidade |
Título | Un. Periodicidade |
Picture | @! |
Combo |
|
Ordem | 19 |
Campo | CNA_MODORJ |
Tipo | C |
Tamanho | 1 |
Descrição | Modo do reajuste |
Título | Modo |
Picture | @! |
Combo | 1 – Por competência |
Ordem | 20 |
Campo | CNA_PRORAT |
Tipo | C |
Tamanho | 1 |
Descrição | Utiliza Pró Rata |
Título | Pro Rata |
Picture | @! |
Combo | 0 – Contrato (Padrão) |
Ordem | 21 |
Campo | CNA_DTREAJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do reajuste. |
Título | Dt. Reajuste |
Pasta | Parâmetros/Revisão |
Visual | Visualização |
Campo | CNA_PROXRJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do proximo reajuste. |
Título | Prox. Reajuste |
Pasta | Parâmetros/Revisão |
Visual | Visualização |
Arquivo: CNB (Item da Planilha)
Campo | CNB_FLREAJ |
Tipo | C |
Descrição | Indica se reajusta |
Título | Reajuste |
Picture | @! |
Combo |
|
Ordem | 17 |
Campo | CNB_INDICE |
Ordem | 18 |
Campo | CNB_PERI |
Tipo | N |
Tamanho | 6 |
Decimal | 0 |
Descrição | Periodicidade do reajuste |
Título | Periodicidade |
Picture | @E999999 |
Ordem | 19 |
Campo | CNB_UNPERI |
Tipo | C |
Tamanho | 1 |
Descrição | Unidade da periodicidade |
Título | Un. Periodicidade |
Picture | @! |
Combo |
|
Ordem | 20 |
Campo | CNB_MODORJ |
Tipo | C |
Tamanho | 1 |
Descrição | Modo do reajuste |
Título | Modo |
Picture | @! |
Combo | 1 – Por competência |
Ordem | 21 |
Campo | CNB_DTREAJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do reajuste. |
Título | Dt. Reajuste |
Visual | Visualização |
Campo | CNB_PROXRJ |
Tipo | D |
Tamanho | 8 |
Descrição | Data do proximo reajuste. |
Título | Prox. Reajuste |
Visual | Visualização |