Especificação de Requisitos |
|
Projeto/Versão: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo:001511/SIGACTB |
Sub-Requisito/Função: 151103/Tabelas x Pontos de lançamento | Tarefa/Chamado: 00000B.04.01 |
País: Todos | Data Especificação: 29/11/2013 |
Rotinas Envolvidas |
|
|
Rotina | Tipo de Operação | Opção de Menu |
CTBA094 – Tabelas de Pontos de Lançamento | Criação | Atualizações->Arquivos->Entidades->Tabelas x Ptos. Lançamento |
Estratégia de Desenvolvimento e Liberação |
|
Produto | Microsiga Protheus – Contabilidad |
Release que está sendo desenvolvido | 11.90 |
Possui Réplica? | ( )Sim ( X)Não |
Qual versão? | Não se aplica |
Objetivo
Criar uma rotina que permita registrar as tabelas que utilizam cada Ponto de Lançamento.
Definição da Regra de Negócio
Ao entrar na opção será visualizado o browse com a informação dos Pontos de Lançamento (tabela CVA), com as opções do padrão, salvo a opção incluir (ver protótipo 01).
Opção Alterar
Ao selecionar esta opção serão visualizados e solicitados os dados como segue (ver protótipo 02):
Dados do Cabeçalho
Cód. Lançamento (cva_codigo) – Código do ponto de lançamento selecionado. Só será visualizado.
Descrição (cva_descri) – Nome do poto de lançamento. Só será visualizado.
Dados do Detalhe
Selecionar todos os registros que estiverem associados ao lançamento (cwo_codpto= cva_codigo) incluindo no getdados, primeiro os que forem do tipo sistema (cwo_tipo='S'), e depois os do tipo usuário (cwo_tipo='U').
Os registros do tipo sistema (cwo_tipo='S'), não permitirão ao usuário efetuar alterações ou exclusões. Quando o usuário tente efetuar alguma destas ações, o sistema irá enviar o aviso "Registro de Sistema, não admite alterações!".
O preenchimento dos campos será como segue:
Tipo (cwo_tipo). – Só será visualizado. No automático será inicializado com "U", de usuário.
Tabela (cwo_tabla) .– Permite selecionar as tabelas da SX2 (consulta HSPSX2). Obrigatório.
Descrição.- Nome da tabela, só será visualizado (campo virtual preenchido ao selecionar a tabela). Obrigatório.
Índice (cwo_indice) – Permite efetuar a seleção da tabela de índices (Consulta SIXFUN, definida no requisito 151102), e somente os índices correspondentes às tabelas selecionadas no campo anterior. Se não houver uma tabela selecionada não será apresentado nada ao eleger a consulta, apenas será comunicado ao usuário que primeiro deve preencher o campo de Tabela. Obrigatório.
Chave (cwo_llave) .- Permite cadastrar instruções advpl que servem para fazer um dbseek à tabela e ao índice em questão. Obrigatório. Validar que a informação incluída seja efetivamente uma instrução ADVPL (verificar a função de validação de lançamentos padrão).
Caché (cwo_cache).- Permite selecionar Sim ou Não. Esse dado será utilizado para melhorar a performance no uso do lançamento padrão, quando for utilizada a formulação. Atribuir Sim, aumenta o consumo de memória, porém, melhora a performance. Recomenda-se apenas se o uso da tabela for muito concorrido na configuração dos lançamentos, por exemplo, tabelas de Centros de custo, Contas Contáveis, etc. Por exemplo, não é interessante ativar a tabela de Fornecedores, pois as notas fiscais são de fornecedores diferentes.
Ao Confirmar, será validado:
- Que o código da tabela (cwo_tabla) seja cadastrado apenas uma vez em todo o getdados. Do contrário enviar para o usuário o aviso "Não pode repetir a tabela".
- Que nos registros onde a tabela foi alterada ou excluída, a tabela anterior não estiver sendo utilizada por alguma fórmula em algum lançamento (relacionar as tabelas cwq e cwm para verificar quais tabelas estão associadas ao lançamento por meio de formulação), do contrário, será enviado o seguinte aviso para o usuário "A tabela XXX não pode ser alterada, está sendo utilizada em alguma fórmula do Lançamento".
Se a validação for aprovada, serão salvos os dados citados anteriormente mais a filial (cwo_filial) e o código do lançamento selecionado (cva_codigo ) na tabela CWO (cwo_codpto). Também irá salvar o valor da conversão para decimal do valor do campo CWO_INDICE no campo CWO_INDVAL.
Opção Excluir
Ao selecionar esta opção será visualizada toda a informação que está descrita no ponto anterior e ao selecionar Confirmar, pergunta ao usuário "Eliminar as tabelas deste ponto de lançamento?" , em caso afirmativo, serão excluídos os registros da tabela CWO que forem do código do ponto de lançamento correspondente (CWO_codpto=cva_codigo), porém, somente aquelas que forem do tipo usuário (CWO_tipo ='U').
Regra de Integridade
Valida que os registros a excluir na tabela (cwo_tabla) não estejam sendo utilizados por alguma fórmula em algum lançamento (relacionar as tabelas cwq e cwm para verificar que as tabelas estão associadas ao lançamento por meio de formulação), se for assim, será enviado o seguinte aviso para o usuário "A tabela XXX não pode ser excluída, está sendo utilizada em alguma fórmula do Lançamento".
Entrando por primeira vez na rotina
A primeira vez que for executada esta rotina, devem ser carregadas as tabelas associadas ao Ponto de Lançamento (CWO). Para que estas executem o chamado da rotina CTB94CARGA(), que conterá este processo, desenvolvido no Requisito 151106.
Tabelas Utilizadas
- CVA.- Pontos de Lançamento.
- CWO.- Tabelas x Pontos de Lançamento.
- CWQ.- Tabelas Utilizadas por Fórmula.
- CWM.- Fórmulas Utilizadas por Lançamento.
- SX2.- Tabelas.
- SIX.- Índices.
Protótipo de Telas
Protótipo 01 Retorno
Protótipo 02 Retorno
Regras de Integridade
- São citadas na seção de Regra de Negócio.
Release Notes
Módulo | SIGACTB / PROTHEUS |
Função | Tabelas utilizadas nos pontos de lançamento. |
Descrição da Função | Permite cadastrar todas as tabelas que são utilizadas para cada Ponto de Lançamento. Serve para validar as fórmulas que forem associadas ao Lançamento Padrão e reduzir o nível de erro do usuário. |
Módulo | SIGACTB |
Função | CTBA094 |
Situação/Requisito | 151103 |
Fluxo de Processo
Diagrama de Entidade e Relacionamento
Dicionários de Dados
Dicionário de Dados (sx3/sx2/six)
- CWO – Tabelas para Pontos de Lançamento
|
Campo | Tipo | Tam. | Dec. | Título | Descrição |
CWO_FILIAL | C |
|
| Filial |
|
CWO_CODPTO | C | 3 |
| Código Lançamento
| Descrição | Código do Ponto de Lançamento | Formato | @! | Nível | 1 | Usado | Não | Inc. Std | CVA->CVA_CODIGO | Obrigatório | Sim |
|
CWO_TIPO | C | 1 |
| Tipo | Descrição | Tipo | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim | Browse | Não | Contexto | Real | Inic std. | “U” | Lista | U=Usuários=Sistema | Propriedade | Visualizar | Help | Tipo de registro U=Usuário, S=sistema |
|
CWO_TABLA | C | 3 |
| Tabela | Descrição | Tabela | Formato |
| Nível | 1 | Usado | Si | Obrigatório | Si | Browse | No | Contexto | Real | Propriedade | Alterar | Consulta | HSPSX2 | Validação | CTB94VLDT(), valida que a tabela exista em SX2 e se existe, informa na descrição o campo CWO_DESCRI, segundo o idioma (x2_nomespa,x2_nome,..) |
|
| Help |
|
|
CWO_DESCRI | C | 30 |
| Descrição | Descrição | Descrição | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Não | Browse | Não | Contexto | Virtual | Propriedade | Visualizar | Consulta |
| Inic Std | CTBA094DESC() | Validación |
| Help |
|
|
CWO_INDICE | C | 1 |
| Índice | Descrição | Índice | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim | Browse | Não | Contexto | Real | Propriedade | Alterar | Consulta | SIXFUN | Validação | CTB94VLDI(), valida que o número de índice exista no SIX, para a tabela selecionada |
|
| Help | Número de índice a utilizar |
|
CWO_LLAVE | C | 100 |
| Chave | Descrição | Chave para Dbseek | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim | Browse | Não | Contexto | Real | Propriedade | Alterar | Consulta |
| Validação | CTB94ADVPL(), valida que o texto cadastrado tenha sintaxe ADVPL. | Help | Código ADVPL com o qual será efetuada a pesquisa na tabela, segundo o índice selecionado |
|
CWO_INDVAL | C | 2 | 0 | Valor Índice | Descrição | Valor Índice | Formato | @! | Nível | 1 | Usado | Não | Obrigatório | Não | Browse | Não | Contexto | Real | Propriedade | Alterar | Consulta |
| Validação |
| Help | Valor numérico do índice relacionado com a tabela. |
|
|
|
CWO_CACHE | C | 1 | 0 | Caché | Descrição | Caché | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Não | Browse | Não | Contexto | Real | Propriedade | Alterar | Consulta | Pertence(“12”) | Validação |
| Help | Atribuir Sim, aumenta o consumo de Memória, porém, melhora a performance. Recomenda-se apenas se o uso da tabela for muito concorrido na configuração dos lançamentos, por exemplo, tabelas de Centros de custo, Contas Contáveis, etc. Por exemplo, não é interessante ativar a tabela de Fornecedores, pois as notas fiscais são de fornecedores diferentes. |
|
|
|
Índice: CWO_FILIAL+CWO_CODPTO+CWO_TABLA
CWM – Fórmulas usadas por Lançamento Padrão |
Campo | Tipo | Tam. | Dec. | Título | Descrição |
CWM_FILIAL | C |
|
| Filial |
|
CWM_LANPAD | C | 3 |
| Lançamento Padrão
| Descrição | Código de Lançamento Padrão | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
CWM_SEQUEN | C | 3 |
| Sequência | Descrição | Sequência | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
CWM_CODFOR | C | 15 |
| Cód. Fórmula | Descrição | Código de Fórmula | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
Índice: CWM_FILIAL+CWM_LANPAD+CWM_SEQUEN+CWM_CODFOR
CWM_FILIAL+CWM_CODFOR+CWM_LANPAD+CWM_SEQUEN
CWQ – Tabelas usadas em Fórmulas |
Campo | Tipo | Tam. | Dec. | Título | Descrição |
CWQ_FILIAL | C |
|
| Filial |
|
CWQ_CODFOR | C | 15 |
| Código de Fórmula
| Descrição | Código de Fórmula | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
CWQ_TABLA | C | 3 |
| Alias tabela | Descrição | Alias tabela | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
Índice: CWQ_FILIAL+CWQ_CODFOR+CWQ_TABLA
CWQ_FILIAL+ CWQ_TABLA+CWQ_CODFOR
Estrutura de Menu
No módulo Configurador (SIGACFG) informe a rota Ambiente/Arquivos/Menus. Informe a nova opção do menu de SIGACTB (Contabilidade de Gestão), segundo as seguinte instruções:
Menu | Contabilidade de Gestão |
Submenu | Atualizações>Entidades>Tabelas X Ptos. Lançamento |
Nome de Rotina | Funções |
Programa | CTBA094 |
Módulo | SIGACTB |
Tipo | Função Protheus |