Árvore de páginas



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 IncluirAlterar, 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

Descrição

Código da função  

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Validação

ExistChav("CWN")     

Contexto

Real

Propriedade

Alterar

Help

Código da Função  

CWN_DESCRI

C

40


Descrição

Descrição

Descrição da Função

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

Help

Descrição resumida da função  

CWN_HELP

Memo



Ajuda

Descrição

Ajuda da Função  

Formato


Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Não

Contexto

Real

Propriedade

Alterar

Help

Descrição do que faz a função

CWN_TIPDAT

C

1


Tipo resultado

Descrição

Tipo de dados do resultado  

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

Validação

Pertence(“123”)

Inicializador

“1”

Opções

1= Numérico;2=Caráter;3=Data

Help

Tipo dado que dá como resultado a função que está sendo registrada.

CWN_TIPO

C

1


Tipo

Descrição

Tipo de função

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

Validação

Pertence(“12”)

Opções

#CTB92LBOX ()

Inicializador

“1”

Help

Selecione o tipo de função.

CWN_PAR1

C

30


Parâmetro1

Descrição

Parâmetro 1

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Não

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Primeiro parâmetro que utiliza o Tipo de Função selecionado.

CWN_PAR2

C

30


Parâmetro2

Descrição

Parâmetro 2

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Segundo parâmetro que utiliza o Tipo de Função selecionado.

CWN_PAR3

C

30


Parâmetro3

Descrição

Parâmetro 3

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Terceiro parâmetro que utiliza o Tipo de Função selecionado.  

CWN_PAR4

C

30


Parâmetro4

Descrição

Parâmetro 4

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Sim

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Quarto parâmetro que utiliza o Tipo de Função selecionado.

CWN_PAR5

C

30


Parâmetro5

Descrição

Parâmetro 5

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Quinto parâmetro que utiliza o Tipo de Função selecionado.

CWN_PAR6

C

30


Parâmetro6

Descrição

Parâmetro 6

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Sexto parâmetro que utiliza o Tipo de Função selecionado.

CWN_PAR7

C

30


Parâmetro7

Descrição

Parâmetro 7

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

F3

CTB921

Help

Sétimo parâmetro que utiliza o Tipo de Função selecionado.













Índice.- CWN_FILIAL+CWN_CODFUN

Dicionário de referência que será criado em outro Requisito

CWJ.-Mnemônicos

CWJ_TIPDAT

C

1


Tipo

Descrição

Tipo de Mnemônico

Formato

@!

Nível

1

Usado

Sim

Obrigatório

Sim

Browse

Não

Propriedade

Real/Alterar

Inic. Padr

“1”

Val. Sistema

Pertence(“123456”)

Lista

1-Campo de BD;2-Tabela:3-Fórmula;4-Função;5-Função de usuário;6-Valor

Help

Classifica o mnemônico.

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