Árvore de páginas

Parâmetro MV_CTBUPRC

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Contabilidade Gerencial (SIGACTB)

Rotina:

Rotina

Nome Técnico

Contabilização Contábil.
Ctba105.prw

Rotina(s) envolvida(s)

Nome Técnico

Contabilização Txt.
Ctba500.prw
Contabilização Off LineFina370.prx
Contabilização Fin.
Ctbafin.prw
Recálculo do Custo MédioMata330.prx
Contabilização do Custo Médio.Mata331.prx
Rotina interna do sistema.
AdmXProc.prw
Rotina interna do sistema.
Ctbxctb.prw
Rotina interna do sistema
CtbxAtu.prw
Rotina interna do sistema
CtbXvld.prw
Rotina interna do sistema.Matxfuna.prx

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 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').


Observações:

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 nas seguintes rotinas de contabilização contábil: 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 lançamentos contábeis nos tipos de saldo '1' e '3'.

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