Especificação de Requisitos | ||
Projeto/Versão: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo: 001511/SIGACTB | |
Sub-Requisito/Função: 151102/Manutenção de Funções | Tarefa/Chamado: 00000B.03.01 | |
País: Todos | Data Especificação: 27/11/2013 | |
Rotinas Envolvidas | ||
Rotina | Tipo da Operação | Opção de Menu |
CTBA092 – Funções | Criação | Atualizações->Cadastros->Entidades->Funções |
Estratégia de Desenvolvimento e liberação | |
Produto | Microsiga Protheus – Contabilidade |
Release que está sendo desenvolvido | 11.90 |
Possui Réplica? | ( )Sim (X)Não |
Qual versão? | Não aplic |
Objetivo
Criar a rotina que permita o registro das funções que serão utilizadas no processo de formulação dos Lançamentos Padronizados.
Definição da Regra de Negócio
Ao ingressar na opção será visualizado um browse com as funções (tabela CWN) e com as opções Incluir, Alterar, Excluir e as demais opções padrão (ver protótipo 01).
Botão Incluir
Ao ingressar nessa opção, serão solicitados os seguintes dados (ver protótipo 02):
Código (CWN_codfun) .- Código alocado pelo usuário para identificar a função. Obrigatório
Regra de Integridade
O código de Função é único, validará que não seja repetido.
Descrição (CWN_descri) .- Descrição resumida do que faz a função. Obrigatório
Ajuda (CWN_help) .- Campo tipo memo, que permitirá registrar uma explicação a respeito da função. Obrigatório
Tipo de Resultado (CWN_tipdat) .- Pode selecionar entre Numérico, Caráter ou Data. Refere-se ao tipo de resultado que produzirá a função que está sendo configurada.
Tipo (CWN_tipo) .- Exibira duas opções Conversão de Moedas e Apontador (a rotina utilizada para preencher este listbox é CTB92LBOX(), que deve ser a mesma utilizada na consulta especial de funções).
Dependendo da seleção do Tipo, a edição dos Parâmetros (campos seguintes) tem variações na sua funcionalidade, de acordo com o seguinte:
xMoeda | Valores que pode registrar | Tipo do dado | Consulta |
Parâmetro 1 (CWN_PAR1) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Parâmetro 2 (CWN_PAR2) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Parâmetro 3 (CWN_PAR3) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Parâmetro 4 (CWN_PAR4) | Só aceitará mnemônicos (somente do tipo Campo e que sejam do tipo data) | Date | CWJFIL |
Parâmetro 5 (CWN_PAR5) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Parâmetro 6 (CWN_PAR6) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Parâmetro 7 (CWN_PAR7) | Aceitará mnemônicos (somente do tipo Campo) ou valores numéricos | Numérico | CWJFIL |
Para validar que o mnemônico selecionado é numérico, será verificado o campo associado (cwj_campo) ao referido mnemônico, na tabela sx3 para obter o tipo de campo (x3_tipo). Vale mencionar que o mnemônico é identificado porque o início do seu nome é sempre com M_.
Exemplo1: Se for selecionada a função XMOEDA, o sistema procurará a configuração dessa Função y saberá que está formada pelos parâmetros: Valor da moeda origem (parâmetro 1, tipo Número), Código da moeda origem (parâmetro 2, tipo Número), Código da moeda destino (parâmetro 3, tipo Número), Data de conversão (parâmetro 4, tipo Date), Valor da moeda (parâmetro 5, tipo Número), Valor taxa de câmbio (parâmetro 6, tipo Número), Valor do tipo de câmbio (parâmetro 7, tipo Número). Então o comportamento será:
Parâmetro 1, 2 ,3 e 5,6,7.- Aceitará mnemônicos ou valores numéricos.
Parâmetro 4 .- Aceitará mnemônicos ou valores do tipo data.
( ) Posicionar | Valores que pode registrar | Tipo de dado | Consulta |
Parâmetro 1 (CWN_PAR1) | Aceitará somente mnemônicos do tipo tabela (cwj_tipdat='2'). Se não for mnemônico, validar que o dado informado seja uma tabela que exista no sx2. | Tabela | CWJTAB |
Parâmetro 2 (CWN_PAR2) | Aceitará alfanumérico e estes devem existir como índice na tabela SIX. | Alfanumérico | SIXFUN |
Parâmetro 3 (CWN_PAR3) | Aceitará mnemônicos do tipo campo (cwj_tipdat='1') e pode montar correntes unidas pelo sinal +. Se não for mnemônico, validar que exista o dado informado na tabela SX3. | Campo | CWJ |
Parâmetro 4 (CWN_PAR4) | Aceitará mnemônicos do tipo campo (cwj_tipdat='1'). Se não for mnemônico, validar que exista o dado informado na tabela SX3 | Corrente de campos | CWJ |
Parâmetro 5,6,7 (CWN_PAR5,6,7) | Não editável |
Exemplo, se foi selecionada a função POSICIONE, o sistema contemplará que essa função requer os parâmetros: Alias, índice, valores a procurar, valores a retornar. Então o comportamento será:
(Parâmetro 1) Procurar na tabela – Permitirá selecionar um mnemônico do tipo tabela associada a uma consulta padrão que dará facilidades ao usuário para identificar o mnemônico.
(Parâmetro 2) Ordem .- É o índice que utilizará o apontador, segundo a tabela selecionada no campo anterior. Pode selecionar entre os índices da tabela (six).
(Parâmetro 3) Dados a procurar.- São os campos com os que procurará a informação caráter de 50, permitirá selecioná-los da consulta padrão de mnemônicos, do tipo Campos.
(Parâmetro 4) Mnemônico a Retornar –segundo a tabela selecionada no campo Procurar na tabela, pode selecionar de uma consulta padrão os mnemônicos do tipo campos a retornar
Ao selecionar Confirmar, validará que:
- Se o tipo de função for Conversão de Moedas, os parâmetros 1 a 5 devem estar informados.
- Se o tipo de função for Apontador, os parâmetros 1 a 4 devem estar informados.
Se as condições não forem cumpridas, será enviado um aviso para o usuário informando o problema e não salvará a informação, até que o usuário realize a correção.
Se tudo estiver bem, salvará a informação na tabela CWN, previamente será realizada a tradução da função, para a sintaxes ADVPL e este resultado será salvo no campo CWN_advpl (criar a função CTB92ADVPL, para realizar este processo).
Botão Alterar
Pode alterar todos os dados, exceto o código e o tipo de função.
Se o Tipo (cwn_tipo) for Apontador, ao sair do parâmetro 1, se este já tinha informação e foi alterada para uma tabela diferente, os parâmetros 2 e 4 devem ficar limpos para que o usuário coloque novamente os correspondentes à tabela selecionada.
Regra de Integridade
Verifica que a função não seja utilizada por um mnemônico, ou seja, na tabela CWJ será verificado que não existam mnemônicos do tipo Função. Nos mnemônicos do tipo função é onde CWJ_TIPDAT ='4'. Se for assim, permitirá alterar a Descrição e a Ajuda.
Se o mnemônico está sendo utilizado por uma função, enviará para o usuário o aviso "A Função está sendo utilizada por algum mnemônico, somente permitirá alterações na Descrição e na Ajuda".
Botão Excluir
Ao selecionar um registro, acessará e apresentará todos os dados, depois, ao selecionar Confirmar, perguntará Está seguro de Excluir o registro?, se a resposta for afirmativa, procederá a excluí-lo.
Regra de integridade
Verifica que a função não seja utilizada por um mnemônico, ou seja, será verificado na tabela CWJ que não existam mnemônicos do tipo Função. Nos mnemônicos do tipo função é onde CWJ_TIPDAT ='4'. Se está sendo utilizado em algum mnemônico, ao Confirmar, em lugar de perguntar, enviará um aviso para o usuário "Esta Função está sendo utilizada em algum mnemônico y não permite ser eliminada".
Criar as consultas
CWJFIL .- Mnemônicos de Campos
Será criada a consulta padrão CWJFIL, onde serão visualizadas as colunas:
- Mnemônico (cwj_codmne)
- Descrição (cwj_descri)
- Tipo Dado (cwj_tipdat)
- Grupo (cwj_grupo)
- Tabela (cwj_tabla)
- Campo (cwj_campo)
Filtrar a informação para que apresentem só os registros que são do tipo Campo (cwj_tipdat=1 ).
Retornará o valor do código do mnemônico selecionado (cwj_codmne).
CWJ .- Mnemónicos
Será criada a consulta padrão CWJ, onde serão visualizadas as colunas:
- Mnemônico (cwj_codmne)
- Descrição (cwj_descri)
- Tipo Dado (cwj_tipdat)
- Grupo (cwj_grupo)
- Tabela (cwj_tabla)
- Campo (cwj_campo)
- Dado relacionado (cwj_datvin)
- Função RPO (vwj_funrpo)
- Valor Fixo (cwj_valor)
Retornará o valor do código do mnemônico selecionado (cwj_codmne).
CWJTAB .- Mnemônicos do tipo Tabela
Será criada a consulta padrão CWJTAB, onde serão visualizadas as colunas:
- Mnemônico (cwj_codmne)
- Descrição (cwj_descri)
- Tipo Dado (cwj_tipdat)
- Grupo (cwj_grupo)
- Tabela (cwj_tabla)
Filtrar a informação para que apresentem só os registros que são do tipo Tabela (cwj_tipdat=2), de acordo com o campo que for solicitado pela consulta e de acordo com a função que explodir a consulta.
Retornará o valor do código do mnemônico selecionado (cwj_codmne).
SIXFUN .- Índices por tabela
Será criada a consulta especial SIXFUN, onde serão visualizadas as colunas:
Título | Campo |
Índice | Ordem |
Descrição | Dependendo do idioma do RPO, Descrição, Descspa ou Desceng |
Chave | Chave |
Filtrar a informação para que apresentem só os registros que são da tabela em questão (M->CWN_PAR1=SIX->INDICE ).
Retornará o valor da chave selecionada (Chave). Efetue uma adequação para que por meio de algum parâmetro retorne o número do índice (Ordem) ou da chave (chave), que será utilizada também no requisito 151103 .
Como referência verifique a consulta HSP004 e o fonte HSPFFSXB.PRW para dar uma ideia de como deve ser construída.
CTB921 .- Consulta dinâmica
Será criada a consulta específica CTB921 pois quando sai do campo Tipo, as consultas dos campos de parâmetros passarão a utilizar uma ou outra (mudança dinâmica), segundo foi descrita nos parágrafos anteriores. Para conseguir isto, deve ser criada uma consulta específica chamada CTB921, a qual chamará a função CTB92CESP() e esta função será programada para exibir uma consulta ou outra. Do mesmo modo, criar a função CTB92CRET () para programar o retorno do dado desejado.
Nota: Para chamar uma consulta padrão desde uma específica pode utilizar a instrução CONPAD1(,,,"Alias").
Tabelas Utilizadas
- CWN – Funções
- CWJ – Mnemônicos
- SX3 – Campos
- SIX - Índices
Protótipo de Telas
Protótipo 01 Retorno
Protótipo 02 Retorno
Regras de Integridade
- São mencionadas na seção de Regra de Negócio.
Release Notes
Módulo | SIGACTB / PROTHEUS |
Função | Manutenção de Funções |
Descrição da Função | Configuração de funções para Conversão de Moeda e Apontador, para ser utilizadas na formulação de Lançamentos Padronizados. |
Módulo | SIGACTB |
Função | CTBA092 |
Situação/Requisito | 151102 |
Fluxo do Processo
Diagrama de Entidade e Relacionamento
Dicionário de Dados
CWN – Funções | |||||||||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descrição | ||||||||||||||||||||||||
CWN_FILIAL | C | 10 | Filial | ||||||||||||||||||||||||||
CWN_CODFUN | C | 15 | Código |
| |||||||||||||||||||||||||
CWN_DESCRI | C | 40 | Descrição |
| |||||||||||||||||||||||||
CWN_HELP | Memo | Ajuda |
| ||||||||||||||||||||||||||
CWN_TIPDAT | C | 1 | Tipo resultado |
| |||||||||||||||||||||||||
CWN_TIPO | C | 1 | Tipo |
| |||||||||||||||||||||||||
CWN_PAR1 | C | 30 | Parâmetro1 |
| |||||||||||||||||||||||||
CWN_PAR2 | C | 30 | Parâmetro2 |
| |||||||||||||||||||||||||
CWN_PAR3 | C | 30 | Parâmetro3 |
| |||||||||||||||||||||||||
CWN_PAR4 | C | 30 | Parâmetro4 |
| |||||||||||||||||||||||||
CWN_PAR5 | C | 30 | Parâmetro5 |
| |||||||||||||||||||||||||
CWN_PAR6 | C | 30 | Parâmetro6 |
| |||||||||||||||||||||||||
CWN_PAR7 | C | 30 | Parâmetro7 |
| |||||||||||||||||||||||||
Índice.- CWN_FILIAL+CWN_CODFUN
Dicionário de referência que será criado em outro Requisito
CWJ.-Mnemônicos
CWJ_TIPDAT | C | 1 | Tipo |
|
Novos Índices
- CWJ_FILIAL+CWJ_TIPDAT+CWJ_DATVIN
Estrutura do Menu
No módulo Configurador (SIGACFG) acesse o caminho Ambiente/Arquivos/Menus. Informe a nova opção do menu do SIGACTB (Contabilidade Gerencial) conforme as instruções a seguir:
Menu | Contabilidade Gerencial |
Submenu | Atualizações>Entidades>Funções |
Nome da Rotina | Funções |
Programa | CTBA092 |
Módulo | SIGACTB |
Tipo | Função Protheus |