Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAFIN |
Segmento Executor | Serviços & Jurídico | ||
Projeto1 | M_CTR010 | IRM1 | PCREQ-3713 |
Requisito1 | PCREQ-3768 | Subtarefa1 | M_CTR010-667 |
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.7 | Réplica |
|
País | ( x ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros |
|
IMPORTANTE: Esta é a fase 1 da estrutura de Valores Acessórios no Financeiro (SIGAFIN).
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Desenvolver uma rotina que permita aos usuários criar valores adicionais aos títulos, para somar ou subtrair do valor pago, por exemplo:
- Juros adicionais;
- Mais de um tipo desconto;
- Outros valores para tributos;
- Entre outros.
Definição da Regra de Negócio
Atualmente o sistema permite a inclusão de valores adicionais de pagamento como acréscimo, decréscimos, juros calculados, abatimentos vinculados ao título.
Para ter múltiplas regras de descontos, juros, multas e outros valores, será desenvolvido um cadastro de tipos de valores acessórios, conforme protótipo de tela 01.
Cadastro dos tipos de valores que poderão ser somados ou subtraídos dos valores pagos, que permitirá o usuário definir regras:
- Código;
- Descrição;
- Ação: Soma ou Subtrai;
- Tipo de Valor: Percentual ou Valor;
- Periodicidade: Sempre, Diário, Mensal, Anual;
- Aplicação: Até a data de vencimento, Depois da data de vencimento ou fixa;
- Regra de aplicação: regra definida pelo usuário em ADVPL para regras especificas.
Regra de Cálculo
A regra de cálculo abaixo deverá vir pré-definida, pois nesta etapa da implementação dos Valores Acessórios o cadastro de valores acessórios será restringido.
Ação | Tipo de Valor | Periodicidade | Aplicação | Cálculo |
Soma | Valor | Sempre | Fixa | O valor atribuído será somado ao saldo do título, independente da data de emissão/vencimento do título |
Observação: Nesta etapa da implementação, haverá somente uma regra de cálculo pré-definida e que será aplicada apenas aos títulos que possuem INSS. O cadastro de Valores Acessórios será restringido nessa etapa.
Exemplo:
Código | Descrição
| Ação
| Tipo de Valor
| Periodicidade | Aplicação | Regra de Aplicação |
001
| Outros Valores - Tributos | Soma
| Valor | Sempre | Fixa | Todos os títulos de tributos de INSS |
Através do cadastramento dos tipos de valores acessórios, o usuário poderá vincular o valor acessório aos títulos a pagar.
Para adicionar um valor acessório a um título, usuário deverá alterá-lo vinculando o tipo de valor acessório e seu valor.
Um título poderá ter vários valores acessórios vinculado ao mesmo pagamento.
Baixa Total:
Título | Valor | Tipo de Valor Acessório | Valor Acessório | Valor Pago |
TIT001 | 220,00 | 001 | 50,00 | 270,00 |
Gravação nas Tabelas:
Código | Descrição | Ação | Tipo de Valor | Periodicidade | Aplicação | Identificação do Título | Valor | Saldo | Data da Baixa |
001 | Outros Valores - Tributos | Soma | Valor | Sempre | Fixa | TIT001 | 50,00 | 0 | Data da Baixa |
Caso o valor informado na baixa seja menor do que o valor acessório:
Código | Descrição | Ação | Tipo de Valor | Periodicidade | Aplicação | Identificação do Título | Valor Acessório | Valor Informado na Baixa | Saldo | Data da Baixa |
001 | Outros Valores - Tributos | Soma | Valor | Sempre | Fixa | TIT001 | 50,00 | 30,00 | 20,00 | Data da Baixa |
Detalhamento Técnico
FINA035 - Tipo de Valores Acessórios
Desenvolver uma tela em MVC conforme protótipo de tela 01, para gravação dos tipos de valores acessórios, baseado na tabela FKC.
Gravação da tabela FKC - Tipos de Valores Acessórios
Campo | Conteúdo |
---|---|
FKC_FILIAL | Filial logada no sistema |
FKC_CODIGO | Código do tipo de valores acessórios auto incremental |
FKC_DESC | Descrição do tipo de valores acessórios |
FKC_ACAO | Tipo de valor soma ou subtrai ao valor pago |
FKC_TPVAL | A atribuição ao valor acessório será um valor ou um percentual aplicado ao título (1 – Percentual ou 2 - Valor) |
FKC_APLIC | Aplicação do valor acessório, Até a data de vencimento, após a data de vencimento, sempre |
FKC_PERIOD | Período de aplicação do valor acessório: Fixo, Diário, Mensal, Anual |
FKC_ATIVO | Tipo de valor acessório está ativo ou não |
FKC_RECPAG | Carteira de aplicação Pagar, Receber ou ambos |
FKC_REGRA | Regra definida em ADVPL para complementar o cálculo do valor acessório |
FKC_VARCTB | Variável de contabilização do valor acessório |
Validações
Registros com os campos FKC_FILIAL+FKC_CODIGO, não poderá repetir.
Caso um tipo de valor acessório estiver amarrado a um título não poderá ser excluído, quando o usuário tentar excluir deverá apresentar uma mensagem informando que deverá desativar o tipo de valor.
Se um tipo de valor acessório estiver amarrado a um título, e o usuário solicitar a alteração, deverá ser apresentada uma mensagem informando ao usuário que o mesmo possui amarração, portanto se alterar seu conteúdo, todos os títulos passaram a seguir as regras atualizadas.
FINA050 - Títulos a Pagar
Adicionar um botão no browse das contas a pagar, “Valores Acessórios” que irá abrir o protótipo de tela 02, para vincular valores acessórios ao título posicionado.
FINA870C - Entrada de Valores Acessórios
Desenvolver uma tela em MVC, conforme protótipo de tela 02, para amarração do título aos valores acessórios, baseado nas tabelas SE2 e FKD. Essa tela será acionada pelo botão "Valores Acessórios", no browse das contas a pagar.
Campos da tabela SE2 – Títulos a pagar
Campo | Conteúdo |
---|---|
E2_PREFIXO | Prefixo do título |
E2_NUM | Número do título |
E2_PARCELA | Parcela do título |
E2_TIPO | Tipo de título |
E2_NATUREZ | Natureza do título |
E2_FORNECE | Fornecedor do título |
E2_LOJA | Loja do fornecedor |
E2_EMISSAO | Emissão do título |
E2_VENCREA | Vencimento real do título |
E2_VALOR | Valor do título |
E2_SALDO | Saldo do título |
Chamar a função FINGRVFK7 para gravar a chave da tabela SE2 x FK7 x FKD.
Tabela FKD - Valores Acessórios
Campo | Conteúdo |
---|---|
FKD_FILIAL | Filial logada no sistema |
FKD_CODIGO | Código do tipo de valores acessórios (FKC_CODIGO) |
FKD_DESC | Descrição do tipo de valores acessórios (FKD_DESC) |
FKD_ACAO | Tipo de valor soma ou subtrai ao valor pago (FKC_ACAO) |
FKD_TPVAL | A atribuição ao valor acessório será um valor ou um percentual aplicado ao título (1 – Percentual ou 2 - Valor) (FKC_TPVAL) |
FKD_APLIC | Aplicação do valor acessório, Até a data de vencimento, após a data de vencimento, sempre. (FKC_APLIC) |
FKD_PERIOD | Período de aplicação do valor acessório: Fixo, Diário, Mensal, Anual. (FKC_PERIOD) |
FKD_VALOR | Valor acessório vinculado ao título |
FKD_IDDOC | Chave do título (FK7_IDDOC) |
FKD_SALDO | Saldo do Valor acessório (Caso seja um valor fixo) |
FKD_DTBAIX | Data da última baixa do título (em branco) |
FKD_RECPAG | P – Pagar |
Validações:
O usuário só poderá vincular valores acessórios nos títulos com saldo maior que zero.
Não poderá ter dois valores acessórios com o mesmo código (FKC_CODIGO), ou seja, os campos FKD_FILIAL + FKD_CODIGO + FKD_IDDOC não poderá repetir.
O valor acessório fixo (FKD_PERIOD=FIXO e FKD_TPVAL= VALOR), no caso de subtração (FKD_ACAO=SUBTRAÇÃO) não poderá ser maior que o saldo do título.
O usuário poderá informar vários valores acessórios por título (Exceto nesta primeira etapa da implementação de valores acessórios no financeiro).
Os valores acessórios só poderão ser deletados, caso o campo FKC_DTBAIX estiver em branco.
Os títulos do tipo listados nas variáveis MVPROVIS (PR), MVTXA (TXA), MVABATIM (AB-), MVPAGANT (PA) e MV_CPNEG (NDF), não poderão ter valores acessórios.
Funções genéricas
Criar funções genéricas para retornar o valor acessório para ser somado ou subtraído ao valor pago, conforme tipo de valor acessório (FKC) e valor atribuído (FKD), para atender a regra de cálculo definida acima.
Sugestão de desenvolvimento
Buscar informação
Se o campo FKC_APLIC for igual até a data de vencimento, será executado o cálculo se a data base for menor ou igual ao vencimento do título.
Se o campo FKC_APLIC for igual após a data de vencimento, será executado o cálculo se a data base for maior ou igual ao vencimento do título.
Se o campo FKC_APLIC for igual sempre, será executado o cálculo independente da data base e o vencimento do título.
Ou o campo FKC_SALDO > 0.
Calcular
Verificar o período de cálculo:
Se o campo FKC_DTBAIX estiver vazio:
- Se o campo FKC_APLIC for igual até a data de vencimento, verificar o período entre a data de emissão do título e a data de baixa, retornando em dias.
- Se o campo FKC_APLIC for igual após a data de vencimento, verificar o período entre a data de vencimento do título e a data de baixa, retornando em dias.
- Se o campo FKC_APLIC for igual sempre, retornará sempre 1.
Caso contrário:
- Se o campo FKC_APLIC for igual até a data de vencimento, verificar o período entre a FKC_DTBAIX e a data de baixa, retornando em dias.
- Se o campo FKC_APLIC for igual após a data de vencimento, verificar o período entre a FKC_DTBAIX e a data de baixa, retornando em dias.
- Se o campo FKC_APLIC for igual sempre, retornará sempre 1.
Com o retorno do período de cálculo agrupar eles conforme o campo FKC_PERIOD.
Se o campo FKC_PERIOD for diário, não haverá alteração no período,
Se o campo FKC_PERIOD for mensal, serão agrupados em períodos de 30 dias.
Se o campo FKC_PERIOD for anual, serão agrupados em períodos de 360 dias.
Se o campo FKC_PERIOD for sempre, retornará 1.
Após a definição dos períodos de cálculo, definir o fator de calculo
Se o campo FKC_TPVAL for igual valor, deverá retornar o valor informado no campo FKC_VALOR.
Se o campo FKC_TPVAL for igual percentual, deverá o percentual informado no campo FKC_VALOR, ao saldo do título.
Após localizar o fator de cálculo, deverá multiplica-lo pelos períodos e somar o resultado ao campo FKC_SALDO.
Retorno
Se o campo FKC_ACAO for soma, o retorno da função poderá ser positivo, caso contrário negativo.
FKC_REGRA – Será aplicado antes do retorno
Se o valor retornado for negativo, não poderá ultrapassar o saldo do título, caso ocorrera deverá retornar exatamente o saldo do título, para que o pagamento seja igual a zero, por exemplo:
E2_SALDO+E2_SDACRES-E2_SDDECRE-Juros-desconto+Multa-Abatimentos>=Valor acessório, deverá retornar como negativo a somatória: E2_SALDO+E2_SDACRES-E2_SDDECRE-Juros-desconto+Multa-Abatimentos.
Gravação:
Ao baixar um título deverão gravar os campos:
Campo | Conteúdo |
---|---|
FKD_SALDO | Se a baixa for total ou o valor da baixa for superior ao valor acessório, deverá gravar 0, caso contrário a diferença entre o valor informado na baixa e o valor calculado do Valor acessório |
FKD_DTBAIX | Data da última baixa do título |
Baixa total:
O campo FKD_SALDO será sempre zero e no campo FKD_DTBAIX ficará com a data de baixa do título.
Baixa parcial:
Na baixa parcial a preferência de recebimento será sempre dos valores acessórios, assim como ocorre hoje com os juros, multas acréscimos e decréscimos, portanto:
Se o valor acessório calculado for maior que o valor de baixa informado pelo usuário, a baixa ocorrerá normalmente, mas a diferença de valores será gravada no campo FKD_SALDO.
No campo FKD_DTBAIX ficará com a data de baixa do título.
Quando ocorrer nova baixa desse título, o valor do saldo deverá ser somado ao calculado nos valores acessórios e data de referência para cálculo mudará para o campo FKC_DTBAIX.
Gravação da tabela FK6 - Valores Acessórios:
Criar uma função centralizadora, para gravação da FK6:
Campo | Conteúdo |
---|---|
FK6_FILIAL | Filial logada no sistema |
FK6_IDFK6 | Identificação do registro |
FK6_VALCAL | Valor acessório calculado |
FK6_VALMOV | Valor de movimento |
FK6_RECPAG | P – Pagar |
FK6_TPDOC | VA – Valor acessório |
FK6_IDORIG | Identificação do movimento de baixa (FK2_IDFK2) |
FK6_TABORI | Tabela do movimento de baixa (FK2) |
FK6_HISTOR | Histórico de baixa |
FK6_CODVAL | Código do Valor acessório (FKD_CODIGO) |
FK6_ACAO | Ação do valor de acessório (FKD_ACAO) |
Consulta da tabela FK6
Criar uma função genérica que retorne um array com todos os registros da FK6, referente aos valores acessórios de títulos baixados.
Estorno de baixa
Desenvolver uma função genérica para buscar os valores acessórios gravados na tabela FK6, para restauração do saldo do valor acessório em caso de baixa parcial e gravar o campo FKD_SALDO, caso o estorno seja total deverá limpar os campos FKD_SALDO e FKD_DTBAIX.
Ajustes em funções:
Ajustar as funções abaixo, para somar o retorno da função genérica de cálculo dos valores acessórios, para compor o total a pagar.
Fonte | Funções |
---|---|
FINA080 | fA080Tit |
FINA090 | FinA090 |
FINA091 | FinA091 |
FINA240 | FA240Borde |
FINA300 | fA300Processa |
FINA420 | Fa420Ger |
FINA430 | fA430Ger |
FINA870 | FIN870BXP |
<Atualmente o sistema permite a inclusão de valores adicionais de pagamento como acréscimo, decréscimos, juros calculados, abatimentos vinculados ao título.>
<Para ter múltiplas regras de descontos, juros, multas e outros valores, será desenvolvido um cadastro de tipos de valores acessórios, conforme protótipo de tela 01.>
<Cadastro dos tipos de valores que poderão ser somados ou subtraídos dos valores pagos, que permitirá o usuário definir regras:>
<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
FINA300 - SISPAG | Alteração | Atualizações -> Comunicação Bancária -> SISPAG | - |
FINA430 - Retorno de Pagamentos | Alteração | Atualizações -> Comunicação Bancária -> Retorno de Pagamentos | - |
FINA420 - Arquivo de Pagamentos | Alteração | Atualizações -> Comunicação Bancária -> Arquivo de Pagamentos | - |
FINA240 - Borderô de Pagamentos | Alteração | Atualizações -> Contas a Pagar -> Borderô de Pagamentos | - |
FINA091 - Baixa pagar automática multi-filiais | Alteração | Atualizações -> Contas a Pagar -> Baixas a Pagar automática Multi-filiais | - |
FINA090 - Baixa pagar automática | Alteração | Atualizações -> Contas a Pagar -> Baixas a Pagar automática | - |
FINA080 - Baixas a pagar | Alteração | Atualizações -> Contas a Pagar -> Baixas a Pagar | - |
FINA870 - Aglutinação de INSS | Alteração | Atualizações -> Contas a Pagar -> Emissão de GPS | - |
FINA035 - Tipos de Valores Acessórios | Criação | Atualizações -> Cadastro -> Tipos de Valores Acessórios | - |
FINA050 - Títulos a Pagar | Alteração | Atualizações -> Contas a Pagar -> Contas a Pagar | - |
FINXSE5 - Funções Genéricas | Alteração | - | - |
FINA870C - Entrada de valores acessórios | Criação | - | - |
FINR871 - Emissão Guia GPS | Alteração | - | - |
CTBAFIN - Contabilização Offline | Alteração | Miscelânea -> Contábil -> Contabilização OFF-LINE | - |
Definição da Regra de Negócio
<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|