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 |
Permitir associar Fórmulas aos Lançamentos Padronizados.
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:
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:
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).
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
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
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). |
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 |
| ||||
CT5_CREDIT |
| ||||
CT5_CCD |
| ||||
CT5_CCC |
| ||||
CT5_ITEMD |
| ||||
CT5_ITEMC |
| ||||
CT5_CLVLCR |
| ||||
CT5_CLVLDB |
| ||||
CT5_VLR01 |
| ||||
CT5_VLR02 |
| ||||
CT5_VLR03 |
| ||||
CT5_VLR04 |
| ||||
CT5_VLR05 |
|
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 |
| |||||||||||
CWM_SEQUEN | C | 3 | Sequência |
| |||||||||||
CWM_CODFOR | C | 15 | Cód. Fórmula |
|
Í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.