Árvore de páginas

 

(Obrigatório)

Informações Gerais

 

Especificação

Produto

PIMSCS

Módulo

PGTOFORN

Segmento Executor

Agroindústria

Projeto1

AGRO PIMS

IRM/EPIC1

AGRPIMS01-432

Requisito/Story/Issue1

AGRPIMS01-433

Subtarefa1

AGRPIMS01-473

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

Desenvolver o cálculo de IOF para os contratos com parcela pre definidas.

 

 

(Obrigatório)

Definição da Regra de Negócio


Desenvolver o cálculo de IOF para os contratos com parcela pre definidas.

 

Formulário de cadastro de contrato

 

Obs.: Aplicar as alterações auxiliares abaixo nos dois formulários de cadastro de contrato. Objetos: frmCad_Contrato e frmCad_Contrato1.

 

Ao informar o valor do atributo “Valor do Contrato” (coluna CF_CONTRATO.VL_ORIGINAL) mover o mesmo valor informado para a nova coluna CF_CONTRATO.VL_SOLICITADO

 

Novo Formulário

 

Desenvolver um  formulário de inclusão, alteração, consulta e deleção da aliquota de de IOF, contendo as colunas “Data de Validade Inicial”, “Tipo de Pessoa” (física ou jurídica), “Percentual da Alíquota”, “Percentual Adicional”, “Percentual Máximo”  e “Observação”.

 

 


 

Esse novo formulário dever ser incluso no menu após a opção “Tabelas” à “Motivo de Devolução”, e deve ser habilitado somente se o parâmetro com seção Seção “COFINANC” e entrada “FG_CALCULA_IOF” estiver configurado com “S”

Nova Impressão

 

Desenvolver uma impressão para a tabela de  aliquotade IOF, contendo as colunas “Data de Validade Inicial”, “ Data de Validade “Final”, “Tipo de Pessoa” (física ou jurídica), “Percentual da Alíquota”, “Percentual Adicional”, “Percentual Máximo” e “Observação”.

 

Obs.: A data de Validade Final da impressão da tabela de alíquota de IOF deve ser recuperada da data inicial – (menos) 1 dia do registro imediatamente posterior. Se for o último registro, a data de validade final deve ficar em branco.

Ajuste na tabela de Tipos de Adiantamentos

 

Ajuste no formulário de inclusão, alteração, consulta e deleção de Tipos de Adiantamentos para inclusão da coluna de controle do cálculo de IOF (CF_TP_ADIANT.FG_IOF).

 

A nova coluna “FG_IOF” da tabela “CF_TP_ADIANT” deve estar vsível e habilitada somente se o parâmetro com seção Seção “COFINANC” e entrada “FG_CALCULA_IOF” estiver configurado com “S”.

 

A tabela de Tipos de Adiantamento está no aplicativo COFINANC.EXE, na opção “Tabelas” à “Tipos Adiantamento”.

 

Novos Parâmetros:

Controle de valor automático das parcelas

 

 Seção “COFINANC” e entrada “FG_VL_PARC_AUT”. 

 

Controle de calculo de IOF

 

 Seção “COFINANC” e entrada “FG_CALCULA_IOF”.   


 

Consultas

 

Exibir o valor do IOF nas consultas “Movimentação de Contratos” e “Resumos de Contratos”.

 

 Relatórios

 

Exibir o valor do IOF nos relatoros COFI_002 (Movimentação de Contratos) e no relatório COFI_003/COFI_103 (Resumos de Contratos).


 

Processos

 

Obs.: As implementação ocorrerão no formulário de cadastro de parcelas ao efetivar a inclusão (ou alteração ) de cada parcela do contrato:

 

 

Ao abrir o fomulário

 

Recuperar os valores dos novos parâmetros:

 

  1. Seção “COFINANC” e entrada “FG_VL_PARC_AUT”.
  2. Seção “COFINANC” e entrada “FG_CALCULA_IOF”.

 

 

Se o valor do novo parâmetro com seção “COFINANC” e entrada “FG_CALCULA_IOF” for “S”

 

 

Ler a tabela CF_CONTRATO onde:

 

CF_CONTRATO.INSTANCIA           = Instância logada,

 

CF_CONTRATO.CD_EMPRESA     = coluna colCD_EMPRESA,

 

CF_CONTRATO.NO_CONTRATO = coluna colNO_CONTRATO.

 

 

 

Recuperar na leitura acima as colunas CF_CONTRATO.CD_TP_ADIANT e CF_CONTRATO.CD_CLASSIFCONTR, CF_CONTRATO.DT_INI_VIG

 

 

 

Ler a tabela CF_TP_ADIANT  onde:

 

CF_TP_ADIANT.CD_TP_ADIANT =  CF_CONTRATO.CD_TP_ADIANT (recuperado na leitura acima) e recuperar a  coluna CF_TP_ADIANT.FG_IOF

 

 

 

Ler a tabela CF_CLASSIFCONTR onde:

 

CF_CLASSIFCONTR. CD_CLASSIFCONTR = CF_CONTRATO.CD_CLASSIFCONTR (recuperado na leitura acima) e recuperar a  coluna CF_CLASSIFCONTR.FG_TIPO_FAVOREC

 

 

 

Se o valor da coluna CF_CLASSIFCONTR.FG_TIPO_FAVOREC for “F”

 

Ler tabela de fornecedores (tabela FORNECS), onde:

 

 FORNECS.CD_FORNEC = CF_CONTRATO.CD_FAVORECIDO

 

                                           e recuperar a coluna FORNECS.FG_TP_PESS

 

 

 

Guardar o valor da coluna FORNECS.FG_TP_PESS recuperada acima em uma variável (variável TIPO_PESSOA)

 

 

 

Se não (o valor da coluna CF_CLASSIFCONTR.FG_TIPO_FAVOREC diferente “F”)

 

Ler tabela de prestadores de serviço (tabela FORNECS), onde:

 

 TRANSPORTA.CD_TRANSP = CF_CONTRATO.CD_FAVORECIDO

 

                                           e recuperar a coluna TRANSPORTA.FG_TP_PESS

 

 

 

Guardar o valor da coluna TRANSPORTA.FG_TP_PESS recuperada acima em uma variável (variável TIPO_PESSOA).

 

 

 

Ler nova tabela CF_ALIQUOTA_IOF classificada por ordem descendente (para recuperar o registro com a maior data) onde:

 

CF_ALIQUOTA_IOF.DT_VAL_INI <= E

 

CF_ALIQUOTA_IOF.TP_PESSOA = variável TIPO_PESSOA

 

e recupear as colunas CF_ALIQUOTA_IOF.PC_ALIQUOTA, CF_ALIQUOTA_IOF.PC_ADICIONAL e CF_ALIQUOTA_IOF .PC_MAXIMO.


 

Ao informar a data da parcela

 

 

 

         Se o valor do novo parâmetro com seção “COFINANC” e entrada “FG_VL_PARC_AUT” for “S”

 

              Ou

 

              o valor do novo parâmetro com seção “COFINANC” e entrada “FG_CALCULA_IOF” for “S”

 

 

 

Calcular o valor da parcela (decrito no sub item 8.3).

 

Calcular a quantidade de índices da parcela (descrito no sub item 8.4).

 

 

 

Setar a nova coluna CF_HISTCONTR.VL_PARCELA

 

 

 

Se o valor do novo parâmetro com seção “COFINANC” e entrada “FG_CALCULA_IOF” for “S”

 

 

 

Se o valor da coluna  CF_TP_ADIANT.FG_IOF for “S”:

 

 

 

                                        Calcular:

 

O valor do IOF da parcela (decrito no sub item 8.4).

 

 

 

Calcular o valor da parcela pela equação abaixo

 

               Valor da parcela = Valor da parcela (calculado no sub item 8.3 + IOF

 

               Calcular a quantidade de índices da parcela (descrito no sub item 8.4).

 

Cálculo do valor da parcela

 

Se o número da parcela for igual à quantidade da parcela (CF_CONTRATO.QT_PARCELA):

            Calcular o valor da parcela pela diferença abaixo:

Valor da parcela = CF_CONTRATO.VL_ORIGINAL – Somatório das demais parcelas abaixo  (arredondado em 2 casas decimais)

 

Se não (número da parcela diferente da quantidade da parcela):

            Calcular o valor da parcela pela equação abaixo:

Valor da parcela = CF_CONTRATO.VL_ORIGINAL / CF_CONTRATO.QT_PARCELA (arredondado em 2 casas decimais)

 

Acumular em uma variável o somatório do valor resultante acima.

 

Obs.: Lembrar de zerar a variável a cada vez que entrar no formulário de cadastro de parcelas ao efetivar a inclusão (ou alteração ) de cada parcela do contrato.

 

 

Cálculo do IOF

 

 

IOF adicional = Valor da parcela (Calculado no sub item 8.3) * coluna CF_ALIQUOTA_IOF.PC_ADICIONAL

 

                         (arredondado em 2 casas decimais).

 

 

Variavel QT_DIAS                            = Data da Parcela informa - CF_CONTRATO.DT_INI_VIG 

 

               

Variavel ALIQUOTA                         = CF_ALIQUOTA_IOF.PC_ALIQUOTA *  Variavel QT_DIAS

 

    (arredondado em 4 casas decimais)

 

 

Se Variavel ALIQUOTA                    > CF_ALIQUOTA_IOF.PC_MAXIMO

 

               Setar Variavel ALIQUOTA = CF_ALIQUOTA_IOF.PC_MAXIMO

 

 

 

IOF = Valor da parcela (Calculado no sub item 8.3) * Variavel ALIQUOTA

 

          (arredondado em 2 casas decimais).

 

 

 

IOF = IOF + IOF adicional

 

 

Acumular o valor acima para em uma variável (variável Tot_IOF) para atualizar o contrato CONFINANC (descrito no sub item 8.6. 


 

 Índices da parcela

 

Após preencher a coluna “Valor Parcela” com o resultado do cálculo descrito no sub item 8.3, executar a mensagem “On SAM_Validate” constante da mesma coluna “Valor Parcela” (descrito no sub item 8.4).

 

 Atualização do Contrato

 

Após calcular todas as parcelas, executar comando update no contrato COFINANC, e atualizar a coluna CF_CONTRATO.VL_IOF com o valor acumulado na variável Tot_IOF.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

Cadastro de Contratos - TODOS

Alteração

Movimentação \ Cadastro de Contratos \ Todos

-

Cadastro de Contratos - FORNECEDORES

Alteração

Movimentação \ Cadastro de Contratos \ FORNECEDORES

-

Cadastro de Contratos - PRESTADORES DE SERVIÇOS

Alteração

Movimentação \ Cadastro de Contratos \ PRESTADORES DE SERVIÇOS

-

 

 

Opcional

Dicionário de Dados


1.1       Tabelas já existentes

 

Incluir na tabela CF_CONTRATO as colunas:

  1. VL_SOLICITADO      number(13,2).
  2. VL_IOF                        number(13,2).

 

Incluir nas tabelas CF_HISTCONTR as colunas:

  1. VL_PARCELA            number(13,2).
  2. VL_IOF                        number(13,2).

 

Incluir na tabela CF_TP_ADIANT a coluna FG_IOF varchar(1).

 

 

1.2       Nova tabela

 

Criado uma nova tabela para configuração da alíquota de IOF.

 



 

(Opcional)

Estrutura de Menu

 

As implementações ocorrerão em objeto já existe conforme abaixo:

 

Objeto tblHist_Contrato (botão “Parcelas” do Cadastro de Contrato ) que está na opções:

“Movimentação” à “Cadastro Contratos” à “Todos”.

“Movimentação” à “Cadastro Contratos” à “Fornecedores”.

“Movimentação” à “Cadastro Contratos” à “Prestadores de Serviço”.


 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.