Especificação de Requisitos |
|
Projeto/Versão: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo: 151105/SIGACTB |
Sub-Requisito/Função: 151105/Lançamentos Padronizados | Tarefa/Chamado: 00000B.06.01 |
País: todos | Data Especificação: 16/12/2013 |
Rotinas Envolvidas |
|
|
Rotina | Tipo de Operação | Opção de Menu |
CTBA080 – Lançamentos Padronizados | Alteração | Atualizações->Cadastros->Entidades->Lançamentos Padronizados |
Estratégia de Desenvolvimento e liberação |
|
Produto | Microsiga Protheus – Contabilidade |
Release que está sendo desenvolvida | 11.90 |
Possui Réplica? | ( )Sim (X)Não |
Qual versão? | Não aplic |
Objetivo
Permitir associar Fórmulas aos Lançamentos Padronizados.
Definição da Regra de Negócio
Consulta CWKESP
Criar a consulta especifica CWKESP, que chamará a rotina CTB93CWK a qual realizará a visualização das telas do protótipo 01 e do protótipo 03 ao 05. Dependendo do campo que solicitou a consulta, será o tipo de tela em cascata:
Se os campos são das contas contáveis (CT5_DEBITO, CT5_CREDIT), ao selecionar F3 será apresentada a tela do Protótipo 01. Se selecionar Conta contável, apresentará a consulta padrão das contas contáveis que atualmente faz.
Se os campos são dos centros de custo (CT5_CCD, CT5_CCC), ao selecionar F3 será apresentada a tela do Protótipo 03. Se selecionar Centro de Custo, apresentará a consulta padrão de Centro de Custo que atualmente faz.
Se os campos são das contas contáveis (CT5_ITEMD, CT5_ITEMC), ao selecionar F3 será apresentada a tela do Protótipo 04. Se selecionar Itens Contáveis, apresentará a consulta padrão de Itens Contáveis que atualmente faz.
Se os campos são das contas contáveis (CT5_CLVLDB, CT5_CLVLCR), ao selecionar F3 será apresentada a tela do Protótipo 05. Se selecionar Classe Valor, apresentará a consulta padrão de Classe Valor que atualmente faz.
Se selecionou a consulta de Fórmulas será visualizada a consulta específica CTB931, explicada na seguinte seção.
Na aba Valores será adicionada a consulta CTB931 aos campos de valores (ct5_vlr01.. ct5_vlr05).
Consulta específica CtB931.
Será criada a consulta específica CTB931 que chamará à rotina CTBA080FOR que gerará a tela como o protótipo 06.
O retorno da consulta deve ser o campo CWK_FOREJE.
Validações dos campos CT5_DEBITO, CT5_CREDIT, CT5_CCD, CT5_CCT, CT5_ITEMD, CT5_ITEMC, CT5_CLVLDB, CT5_CLVLCR, ct5_vlr01.. ct5_vlr05
Será criada a rotina CTB93VCA que será executada somente se o campo tem a instrução EjeFor , e validará que:
- A fórmula digitada como parâmetro dentro da função EjeFor, deve existir no catálogo da fórmula (CWK).
- Obter as tabelas ou alias associados à fórmula (tabelas cwq) e que estas existam no Lançamento Padrão que está sendo configurado (tabela CWO), se ao menos uma não existisse, não será uma fórmula válida.
Se não cumpre com as validações, enviará ao usuário o aviso correspondente e não permitirá deixar esse valor no campo.
Ao salvar o Lançamento
Colocar a condição, se está no rpo a função CTBA093, ao salvar eliminará todos os registros contidos para esse lançamento e sequência na tabela de relacionamento de lançamentos x fórmulas (CWM) e depois salvará o novo relacionamento. Somente deve ter um código da fórmula relacionado a cada lançamento e sequência.
Preparação das tabelas e fórmulas ao executar o Lançamento Padrão (Mudanças para a função DetProva)
Será entendida primeiro a funcionalidade da rotina DetProva localizada no fonte MATXFUNA.prx, pois é aqui que tem que adicionar o código para as seguintes ações:
- Preparar as tabelas de usuário que serão utilizadas pelo Lançamento Padrão:
Dentro de Matxfuna, criar a rotina POSTABCTB, a qual deve selecionar os cadastros da tabela CWO com o código do referido lançamento padrão (cwo_codpto=ct5_lanpad), e que sejam do usuário (cwo _tipo='U'). A cada registro, inicializar a tabela (cwo _tabela) com o índice (cwo _indice) e posicionando (cwo _chave, somente se esta não estiver com o campo vazio), para deixar preparada a tabela que utilizará o lançamento padrão.
Verificar em que parte da rotina DetProva contida no fonte matxfuna.prx , é possível chamar a rotina POSTABCT, e ao realizar a chamada incluir a condição de que só será executada caso exista a função CTBA093 (fórmulas).
- Incluir a rotina Ejefor.
Criar a rotina EjeFor (no fonte Matxfuna), a qual receberá como dado de entrada o código da fórmula do Lançamento padrão e retornará como resultado o código ADVPL (cwk_advpl).
Function EjeFor(cFormula)
Local cForm := " "
Local cAliCWK := "CWK"
Local xRegreso:=Nil
DbSelectArea(cAliCWK)
(cAliCWK )->(dbSetOrder(1))
/*/
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³A fórmula deve existir no catálogo de fórmula (CWK).³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ/*/
If (cAliCWK )->(dbSeek(xFilial(cAliCWK )+cFormula))
cForm := AllTrim((cAliCWK )->CWK_ADVPL )
xRegreso:=&cForm
Else
Aviso( OemToAnsi(STR0037),OemToAnsi(STR0054) + cFormula + OemToAnsi(STR0055) + CT5->CT5_LANPAD , {OemToAnsi(STR0056)} ) //"Erro. Não foi encontrada a Fórmula " // " do lançamento " // "Ok"
EndIf
Return xRegreso
Verificar em que linha da rotina DetProva contida no fonte MatxFuna.prx é pertinente chamar a função EjecFor e deve ser executada somente se existe a função CTBA093 (catálogo de fórmulas).
Tabelas Utilizadas
- CT5.-Lançamentos padronizados
- CWK.-Fórmulas.
- CWQ.-Tabelas x fórmulas
- CWO.-Tabelas x Pontos de Lançamento
- CWM.-Fórmulas utilizadas por lançamentos padronizados
Protótipo de Telas
Protótipo 01 Retornar
Se selecionar F3 visualizará a tela:
Se selecionar Contas contáveis, visualizará a tela:
Protótipo 02 Retornar
Ao selecionar a consulta padrão visualizará a tela:
Protótipo 03
Protótipo 04
Protótipo 05
Protótipo 06
Consulta CTB91FOR
Release Notes
Módulo | SIGACTB / PROTHEUS |
Função | Lançamentos Padronizados. |
Descrição de Função | Permite associar fórmulas que foram criadas pela ferramenta de formulação (CTBA093). |
Fluxo do processo
Diagrama de Entidade e Relacionamento
Dicionário de Dados
Alterar as consultas padrão dos campos da CT5 e adicionar a validação a seguir:
Campo | Mudanças |
CT5_DEBITO | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_CREDIT | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_CCD | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_CCC | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_ITEMD | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_ITEMC | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_CLVLCR | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_CLVLDB | F3 | CWKESP | Vld. Sistema | CTB93VCA() |
|
CT5_VLR01 | F3 | CTB931 | Vld. Sistema | CTB93VCA() |
|
CT5_VLR02 | F3 | CTB931 | Vld. Sistema | CTB93VCA() |
|
CT5_VLR03 | F3 | CTB931 | Vld. Sistema | CTB93VCA() |
|
CT5_VLR04 | F3 | CTB931 | Vld. Sistema | CTB93VCA() |
|
CT5_VLR05 | F3 | CTB931 | Vld. Sistema | CTB93VCA() |
|
CWM – Fórmulas utilizadas pelo 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 do Lançamento Padrão | Formato | @! | Nível | 1 | Usado | Sim | Obrigatório | Sim |
|
CWM_SEQUEN | C | 3 |
| Sequência | Descrição | Sequência de Lançamento Padrão | 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
Adicionar os índices às Tabelas
Tabela | Núm Índ | Índice |
CWQ | 1 | CWQ_FILIAL+CWQ_CODFOR+CWQ_TABLA |
CWQ | 2 | CWQ_FILIAL+CWQ_TABLA+ CWQ_CODFOR |
CWO | 2 | CWO_FILIAL+CWO_CODPTO+CWO_TABLA |
Grupo de Perguntas
Não aplica
Consulta Padrão
CWKESP.- Consulta específica para criar a tela que permitirá ao usuário selecionar entre dois tipos de consulta.
CTB931.- Consulta especifica de fórmulas.