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 | Logix | Módulo | Contas a Receber |
Segmento Executor | Manufatura | ||
Projeto1 | MANFIN01 - Projeto Desenvolvimento Finanças | IRM1 | MANFIN01-1346 |
Requisito1 | MANFIN01-1346 Story - FIN10037/FIN10050 Comissões - Performance e Manutenção de Percentual | Subtarefa1 | MANFIN01-1347 |
Chamado2 |
| ||
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).
Objetivo
Desenvolver pequenas melhorias no produto Financeiro Logix, módulo CRE - Contas a Receber
- FIN10050 - Manutenção de Títulos no Contas a Receber
- Permitir a manutenção do percentual de comissão e dos códigos de representantes do Título desde que a comissão não esteja paga pelo FIN10035.
- FIN10037 - Relatório de Comissões de Representantes
- Otimizar a performance na emissão do relatório
Definição da Regra de Negócio
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
FIN10037 - Relatório de Comissão de Representantes | Alteração |
|
|
FIN85016 - Função de seleção de percentual e preparação de comissão | Alteração |
|
|
FIN10050 - Programa de Manutenção de Títulos no Contas a Receber | Envolvida |
|
|
FIN85000 - Função para validações de dados da tabela DOCUM | Alteração | ||
FIN85045 - Função para determinar campos que podem ser informados na tabela DOCUM | Alteração |
- Programa - Relatório de Comissão de Representantes
- Implementações no programa
- Alterar o programa para melhorar a performance na emissão das opções de relatórios:
- Listar comissão preparada para pagamento
- Listar comissão paga
- Listar provisão de comissão
- Provisão títulos em aberto com comissão na baixa
- Deverá ser alterado o programa, prevendo as seguintes otimizações:
- Criar índices para as tabelas temporárias t_empresa e t_representante
- Criar variáveis modulares para evitar que seja feito a todo momento a leitura nas tabelas temporárias t_empresa e t_representante através das funções fin10037_verifica_existe_registro_gravado_t_representante() e fin10037_verifica_existe_registro_gravado_t_empresa()
- Para evitar a leitura na tabela DOCUM na função fin10037_busca_numero_pedido(..), buscar as informações necessárias desta tabela (dat_emis, num_docum_origem, num_pedido) através do SELECT principal, pois ela é sempre selecionada, passando como parâmetro estes campos para esta função.
- Relacionar diretamente no SELECT principal as tabelas DOCUM e CRE_TIP_DOC_COMPL, desconsiderando o comando IN existente (AND docum.ies_tip_docum IN (SELECT tip_docum FROM cre_tip_doc_compl)
- Retirar as condições docum.cod_repres_1 IS NOT NULL onde é feito em duplicidade do SELECT principal.
- Otimizar as consistências IF l_empresa_ant IS NULL THEN e IF l_empresa_ant <> lr_docum.cod_empresa THEN para juntar em uma condição única, devido o resultado obtido ser o mesmo
- Onde é feita a leitura da função fin10037_busca_indicador(lr_docum.cod_empresa, lr_docum.ies_tip_docum), buscar o resultado deste campo cre_tip_doc_compl.par_existencia, diretamente do SELECT principal
- Remover a leitura da função crem17_docum_leitura(..) devido os campos que que são resultados desta leitura serem buscados do SELECT principal
- Alterar o programa para melhorar a performance na emissão das opções de relatórios:
- Implementações na função FIN85016 - Função de seleção de percentual e preparação de comissão
- Alterar a função fin85016_validate_pct_comissao(..) para considerar variáveis modulares referente as informações passadas como parâmetro campo, tabela e tipo (l_campo, l_tabela, l_tipo) e o percentual de comissão l_pct_comis para que não seja feita novamente a leitura na tabela tipo_comissao se as informações passadas como parâmetro forem iguais as enviadas pelo FIN10037.
- Alterar a função fin85016_validate_pct_comissao(..) para considerar variáveis modulares referente as informações passadas como parâmetro campo, tabela e tipo (l_campo, l_tabela, l_tipo) e o percentual de comissão l_pct_comis para que não seja feita novamente a leitura na tabela tipo_comissao se as informações passadas como parâmetro forem iguais as enviadas pelo FIN10037.
- Implementações no programa
- Programa FIN10050 - Programa de Manutenção de Títulos no Contas a Receber
- Atualmente a rotina do FIN10050 não permite a manutenção dos campos de percentuais de comissões, somente os códigos dos representantes, se ocorreu o pagamento das comissões pelo FIN10035. E se houve a baixa do título, através do FIN10060, mesmo sem ter feito o pagamento das comissões pelo FIN10035, a rotina não permite mais a manutenção dos campos da aba Comissões.
- A alteração que será realizada no programa FIN10050 será o mesmo procedimento existente na rotina da versão 10.2, programa CRE3740 - Alteração de Dados de Comissão. Serão feitas as seguintes consistências:
- Permitir a manutenção dos campos Representantes (1, 2, 3) e suas respectivas comissões, disponibilizados na aba 3 - Comissão, desde que as comissões ainda não tenham sido geradas, através da rotina FIN10035 - Central de Comissões. Se houver o pagamento das comissões serão bloqueados todos os campos da aba.
- Se houver a baixa do título pelo FIN10060 e ocorreu o pagamento da comissão, pelo FIN10035, não permitirá a manutenção das comissões
- Se houver a baixa do título pelo FIN10060, e o pagamento da comissão não foi efetivado pelo FIN10035, permitirá a manutenção das comissões.
- Implementações na função FIN85000 - Função para validações de dados da tabela DOCUM
- Retirar a validação onde é feita a consistência "Título está liquidado." dentro da função fin85000_permite_manutencao_docum(..)
- Onde há a seguinte validação "Título com baixa total não pode ser alterado." na função função fin85000_permite_manutencao_docum(..) deve ser alterado para consistir este erro se há registros do Título na tabela DOCUM_COMIS_PAGAS ou se os representantes e as suas comissões estão habilitados para controle (parâmetro do LOG00087, Controlar comissão para Representante 1? , Controlar comissão para Representante 2?, Controlar comissão para Representante 3? e Controlar percentual de comissão para Representante 1?, Controlar percentual de comissão para Representante 2?, Controlar percentual de comissão para Representante 3?)
- Implementações na função FIN85045 - Função para determinar campos que podem ser informados na tabela DOCUM
- Alterar a função fin85045_set_docum_enable_fields(..) para habilitar os campos da aba de Comissões. Campos mr_docum.cod_repres_1, mr_docum.cod_repres_2, mr_docum.cod_repres_3 e mr_docum.pct_comis_1, mr_docum.pct_comis_2, mr_docum.pct_comis_3.
- Alterar nos campos acima, onde realiza a consistência para habilitação, remover a validação (lr_docum.ies_pgto_docum = 'A')
- Nos campos mr_docum.cod_repres_1, mr_docum.cod_repres_2, mr_docum.cod_repres_3 deverá prever também a consistência da variável val_aux_comis.
- Implementações na função FIN85000 - Função para validações de dados da tabela DOCUM
Tabelas Utilizadas
- DOCUM_COMIS_PAGAS
- DOCUM
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|