Histórico da Página
Parametro_MV_CTBUPRC
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||||||||||||||||
Segmento: | Serviços | ||||||||||||||||||||||||||
Módulo: | Contabilidade Gerencial (SIGACTB) | ||||||||||||||||||||||||||
Rotina: |
| ||||||||||||||||||||||||||
Cadastros Iniciais: | Cadastros básicos da Contabilidade Gerencial: Calendário Contábil, Moedas Contábeis, Moeda X Calendário,Plano de Contas, Lançamento Padronizados . Financeiro : Cadastro de Natureza, Clientes/Fornecedores, Lançamentos Padronizados utilizados na Contabilização Off Line. Estoques : Cadastro de Natureza , Produtos, Locais de Estoque, Lançamentos Padronizados do módulo utilizados no processo de Contabilização do Recálculo do Custo Médio, Movimentações Internas. | ||||||||||||||||||||||||||
Parâmetro(s): | MV_CTBUPRC | ||||||||||||||||||||||||||
Requisito (ISSUE): | Criação do parâmetro MV_CTBUPRC. Este parâmetro, se existir e parametrizado com .T., irá criar o arquivo temporário da contabilização no banco de dados. Serão realizadas as verificações da regra e contra-regra, as amarrações ( CtbAmarra) e as validações da função linhaOK serão feitas por procedures dinâmicas. A gravação dos lançamentos contábeis (CT2), do rastreamento de lançamento (CV3) e da tabela temporária (TRW ) também serão feitas por procedures dinâmicas. A tabela TRW será populada caso a atualização de saldos seja on line ( MV_ATUSAL = 'S'). Obs: Quando quando se utilizar este recurso não será permitido alterar o lançamento durante a contabilização. | ||||||||||||||||||||||||||
País(es): | Brasil | ||||||||||||||||||||||||||
Banco(s) de Dados: | SqlServer, Oracle. | ||||||||||||||||||||||||||
Tabelas Utilizadas: | CT2, CTK, CV3, TRW, CT5, SD3 | ||||||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos homologados para o Protheus. |
Descrição
MV_CTBUPRC
O parâmetro MV_CTBUPRC se existir e estiver parametrizado como verdadeiro (.T.), irá criar o arquivo temporário da contabilização no banco de dados e não local. Serão realizadas as verificações da regra e contra-regra, as amarrações ( CtbAmarra) e as validações da função linhaOK por procedures dinâmicas. A gravação dos lançamentos contábeis (CT2), rastreamento de lançamento (CV3) e da tabela temporária (TRW ) também serão feitas por procedures dinâmicas. A tabela TRW será populada pela procedure dinâmica caso o parâmetro para a atualização de saldos seja on line ( MV_ATUSAL = 'S').
ObsObservações:
Quando quando se utilizar desse recurso, não será permitido alterar o lançamento durante a contabilização, portanto o parâmetro MV_ALTLCTO deve estar parametrizado com 'N'.
Essa melhoria será disponibilizada em algumasnas seguintes rotinas de contabilização contábil, por exemplo: ctba500, fina370.
Importante
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Antes de executar o compatibilizador U_UPDCTB é imprescindível:
- Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório PROTHEUS_DATA\DATA, se versão 10, ou \PROTHEUS11_DATA\DATA, se versão 11) e dos dicionários de dados SXs (diretório PROTHEUS_DATA_SYSTEM, se versão 10, ou \PROTHEUS11_DATA\SYSTEM, se versão 11).
- Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
- Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
- Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
- O compatibilizador deve ser executado com a Integridade Referencial desativada*.
Atenção O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente! A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir:
Contate o Help Desk Framework EM CASO DE DÚVIDAS! |
---|
- Em Microsiga Protheus TOTVS Smart Client (se versão 10) ou ByYou Smart Client (se versão 11), digite o U_UPDCTB no campo Programa Inicial. Descreva se o compatibilizador deve ter uma data específica ou superior para que a atualização nos dicionários seja efetuada corretamente. Importante: Para a correta atualização do dicionário de dados, certifique-se que a data do compatibilizador seja igual ou superior a ___/___/____.
- Clique em OK para continuar.
- Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado ou é apresentada a janela para seleção do compatibilizador.
- Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela. - Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
- Clique em Gravar para salvar o histórico (log) apresentado.
- Clique em OK para encerrar o processamento.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
Procedimento para Implantação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.
- Aplique o patch do chamado e execute uma vez a rotina U_UPDCTB.
No módulo Configurador acesse Ambiente/Cadastros/Parâmetros e verifique se o parâmetro MV_CTBUPRC está criado de acordo com as especificações abaixo:
Nome da Variável: | MV_CTBUPRC |
Tipo: | Lógico |
Descrição: | Se verdadeiro (.T.), habilita uso de procedure na contabilização. Crie o arquivo temporário da contabilização no banco de dados. As regras e contra-regras, as amarrações ( CtbAmarra), as validações da função linhaOK, a gravação do CT2, CV3 e TRW serão feitas por procedures dinâmicas. |
Valor Padrão: | Falso (.F.) |
Atualizações do Compatibilizador
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | MV_CTBUPRC |
Tipo | Lógico |
Descrição | Habilita procedures na contabilização de lanctos contábeis de integração. Arquivo tempórario no SGBD. Validações de amarrações e linhOk e gravação de CT2, CV3 e TRW por procedures. |
Valor Padrão | .F. |
CTBA500,FINA370, CTBAFIN, MATA330 e MATA331.
Na rotina CTBAFIN mesmo que o o parâmetro da execução em multithread esteja habilitado, se os parâmetros para a utilização dessa nova funcionalidade estirem ativos, será feita em conexão unica.
Campos CT5_CTRLSD, CT5_MLTSLD
CT5_CTRLSD - campo que indica se o controle de saldo irá ser feito '1 - sim' ou não '2 - não'.
CT5_MLTSLD - campo que contém os tipos de saldos em que os lançamentos serão gerados contabilização de integração. Será preenchido dessa forma '1;3;'.
Nas rotinas de lançamentos contábeis de integração acima citados, esses dois campos podem trabalhar em conjunto, gerando lançamentos contábeis nos tipos de saldos determinados no campo CT5_MLTSLD.
Exemplo:
Caso o campo CT5_CTRLSD ( controla saldo, 1 - sim, 2- não ) estiver preenchido com '1 - sim ' e o campo CT5_MLTSLD ( tipos de saldos em que os lançamentos serão gerados ) estiver preenchido com '1;3' nos lançamentos padronizados das rotinas acima descritas, serão gerados.
obs: com as configurações citadas no exemplo acima, embora sejam gerados lançamentos em mais de um tipo de saldo na tabela CT2, na tabela CTK será gerado somente uma linha.
Ponto de Entrada CT105CT2
Descrição: | Este ponto de entrada (PE) permite a gravação de dados complementares na tabela de lançamentos contábeis (CT2) durante o processo de contabilização de lançamentos de integração com outros módulos do Protheus. |
Localização: | Rotina customizada. Não fica no menu |
Eventos: | CT105CT2 |
Programa Fonte: | CTBA105 |
Função: | CT105CT2_XX, onde xx é o código da empresa |
Retorno: | Não tem retorno. o Usuário deve garantir que a gravação dos complementos seja bem sucedida. |
Ponto de Entrada CTBGRV
Descrição: | Este ponto de entrada (PE) permite a gravação de dados complementares na tabela de lançamentos contábeis (CT2) durante o processo de contabilização de lançamentos de integração com outros módulos do Protheus. |
Localização: | Rotina customizada. Não fica no menu |
Eventos: | CTBGRV |
Programa Fonte: | Ctba105 |
Função: | CTBGRV_XX, onde xx é o código da empresa |
Retorno: | Não tem retorno. o Usuário deve garantir que a gravação dos complementos seja bem sucedida. |
Os pontos de entradas acima serão chamados nas procedures dinâmicas criada para gravação de lançamentos, portanto, a implementação deles é de responsabilidade do usuário. Uma vez criados os PE's no SGBD, estes devem ser implementados para gravação de dados adicionais.
Serão chamados na ordem e da forma descrita abaixo:
Obs: código em SQLSERVER
/* -----------------------------------------
PE CT105CT2
----------------------------------------- */
If ( @IN_cProg != 'CTBA101' and @IN_cProg != 'CTBA102' and @IN_cProg != 'CTBA103' ) And @IN_LSIMULA = '0' begin
Exec CT105CT2_xx @IN_nMoedas, @cCT2_DATA, @cCT2_LOTE, @cCT2_SBLOTE, @cCT2_DOC, @IN_lCusto, @IN_lItem, @IN_lCLVL, @IN_TOTINF, @IN_LATUBASE, @IN_LREPROC
end
/* -----------------------------------------
PE CTBGRV
----------------------------------------- */
If @IN_LSIMULA = '0' begin
Exec CTBGRV_xx @IN_NOPC, @IN_cProg
End
Na primeira vez em que as procedures dinâmicas de gravação de lançamentos forem criadas, os pontos de entradas também serão criados no SGBD. Uma vez criados, a exclusão destes PE's só poderá ser feita manualmente no SGBD.
Exemplo:
Corpo do PE CT105CT2_XX e os parâmetros de entrada.
Create Procedure CT105CT2_XX (
@IN_NMOEDAS integer,
@IN_DATALANC Char( 08 ),
@IN_LOTE Char( 06 ),
@IN_SBLOTE Char( 03 ),
@IN_DOC Char( 06 ),
@IN_LCUSTO Char( 01 ),
@IN_LITEM Char( 01 ),
@IN_LCLVL Char( 01 ),
@IN_TOTINF float,
@IN_LATUBASE Char( 01 ),
@IN_LREPROC Char( 01 )
)
as
/* ------------------------------------------------------------------------------------
Ponto de entrada padrao : CT105CT2
---------------------------------------------
@IN_NMOEDAS - Nro de Moedas Usadas
@IN_DATALANC - Data do Lancto
@IN_LOTE - Nro do Lote Contábil
@IN_SBLOTE - Sublote contábil
@IN_DOC - Nro do Documento contabil
@IN_LCUSTO - Indica se Trabalha com CCusto, '1' trabalha, '0' Nao
@IN_LITEM - Indica se Trabalha com Item , '1' trabalha, '0' Nao
@IN_LCLVL - Indica se Trabalha com Classe de Valor, '1' trabalha, '0' Nao
@IN_TOTINF - Total Informado
@IN_LATUBASE - Indica se atualiza tabelas de Saldos. Se '1' atualiza
@IN_LREPROC - Indoca se é Reproc Contábil
-------------------------------------------------------------------------------------- */
Declare @iMoedas Integer
Declare @cDataLanc Char( 08 )
Declare @cLote Char( 06 )
Declare @cSbLote Char( 03 )
Declare @cDoc Char( 06 )
Declare @lCusto Char( 01 )
Declare @lItem Char( 01 )
Declare @lClvl Char( 01 )
Declare @nTotInf Float
Declare @lAtuBase Char( 01 )
Declare @lReproc Char( 01 )
Begin
select @iMoedas = @IN_NMOEDAS
select @cDataLanc = @IN_DATALANC
select @cLote = @IN_LOTE
select @cSbLote = @IN_SBLOTE
select @cDoc = @IN_DOC
select @lCusto = @IN_LCUSTO
select @lItem = @IN_LITEM
select @lClvl = @IN_LCLVL
select @nTotInf = @IN_TOTINF
select @lAtuBase = @IN_LATUBASE
select @lReproc = @IN_LREPROC
End
Corpo do PE CTBGRV_XX e os parâmetros de entrada.
Create Procedure CTBGRV_XX (
@IN_NOPC integer,
@IN_CPROG Char( 08 ),
)
as
/* ------------------------------------------------------------------------------------
Ponto de entrada padrao : CT105CT2
---------------------------------------------
@IN_NOPC - 3 - Inclusao, 4- alteração, 6 - Estorno - ( recebe sempre 3 )
@IN_CPROG - Nome do Programa
-------------------------------------------------------------------------------------- */
Declare @nOpc Integer
Declare @cProg Char( 10 )
Begin
select @nOpc = @IN_NOPC
select @cProg = @IN_CPROG
End