Árvore de páginas

Conceitos

As rotinas CTBANFE e CTBANFS foram desenvolvidas para melhorar a performance do processo de Contabilização Off-Line.


Como principais características das melhorias e modificações implementadas por estas rotinas tem-se:

  • As rotinas trabalham com queries as quais unificam as informações dispersas em “N” tabelas em um único registro de um novo ALIAS.
  • A forma de utilização das rotinas depende dos parâmetros: MV_OPTNFE e MV_OPTNFS.


Contabilização Compras - CTBANFE

A principal característica de configuração da rotina CTBANFE está na utilização do parâmetro MV_OPTNFE. Este parâmetro irá definir se a rotina irá ou não aglutinar as principais tabelas utilizadas no processo de contabilização em um único ALIAS de uma query.


Parâmetro MV_OPTNFE com conteúdo .F.

  • Somente a tabela SD1 será tratada pela query da rotina, restringindo os campos desta tabela que poderão ser utilizados nos Lançamentos Padrões, sendo que o ALIAS da query nesta situação será “SD1”.


Tabela

Campos Disponíveis

SD1

Todos os campos, exceto os iniciados em: “D1_BASE” e D1_BASI”


  • As tabelas SA1, SA2, SB1, SF1, SF4 e DKD estarão posicionadas e podem ser utilizadas normalmente nos Lançamentos Padrões. Exemplo:


Crédito

IIF(SF1->F1_TIPO$’DB’,SA1->A1_CONTA,SA2->A2_CONTA)

Débito

SD1->D1_CONTA

Valor

SD1->D1_TOTAL-SD1->D1_VALDESC+SD1->D1_VALIPI+SD1->D1_ICMRET


Parâmetro MV_OPTNFE com conteúdo .T.

  • As tabelas SA1, SA2, SB1, SD1, SF1, SF4 e DKD serão tratadas pela Query da rotina, restringindo os campos destas tabelas que poderão ser utilizados nos Lançamentos Padrões, sendo que o ALIAS da query nesta situação será “CTBANFE”.


  • Nesta situação, o Lançamento Padrão deverá ser configurado de acordo com o exemplo:


Crédito

IIF(CTBANFE->F1_TIPO$’DB’,CTBANFE->A1_CONTA,CTBANFE->A2_CONTA)

Débito

CTBANFE->D1_CONTA

Valor

CTBANFE->D1_TOTAL-CTBANFE->D1_VALDESC+CTBANFE->D1_VALIPI+…


  • Se os Lançamentos Padrões OFF-LINE foram definidos para tratar o ALIAS “CTBANFE” os mesmos não poderão ser utilizados em um processo de contabilização ON-LINE.
  • Os campos disponíveis na query CTBANFE são:


Tabela

Campos Disponíveis

SA1*

A1_FILIAL,A1_COD,A1_LOJA,A1_CONTA,A1_NOME,A1_NREDUZ

SA2*

A2_FILIAL,A2_COD,A2_LOJA,A2_CONTA,A2_NOME,A2_NREDUZ

SB1

B1_FILIAL,B1_COD,B1_CONTA

SD1

Todos os campos, exceto os iniciados em: “D1_BASE” e “D1_BASI”

SF1

Todos os campos, exceto os iniciados em: “F1_BASE” e “F1_BASI”

SF4

F4_FILIAL,F4_CODIGO,F4_CF

DKDTodos os campos, exceto: “DKD_FILIAL”, “DKD_DOC”, “DKD_SERIE”, “DKD_FORNEC”, “DKD_LOJA”, “DKD_EMISSA”, “DKD_ESPECI” e “DKD_ITEM”

* dependendo do tipo da nota


  • Caso seja necessária a utilização de outros campos além dos disponibilizados na query deverá ser utilizado o Ponto de Entrada CTBNFE o qual permite a manipulação da query. Um modelo deste ponto de entrada está disponível no link CTBNFE - Alteração da Query para Otimização


Contabilização Faturamento - CTBANFS

A principal característica de configuração da rotina CTBANFS está na utilização do parâmetro MV_OPTNFS. Este parâmetro irá definir se a rotina irá ou não aglutinar as principais tabelas utilizadas no processo de contabilização em um único ALIAS de uma query.


Parâmetro MV_OPTNFS com conteúdo .F.

  • Somente a tabela SD2 será tratada pela query da rotina, restringindo os campos desta tabela que poderão ser utilizados nos Lançamentos Padrões, sendo que o ALIAS da query nesta situação será “SD2”.


Tabela

Campos Disponíveis

SD2

Todos os campos, exceto os iniciados em: “D2_BASE” e D2_BASI”


  • As tabelas SA1, SA2, SB1, SF2 e SF4 estarão posicionadas e podem ser utilizadas normalmente nos Lançamentos Padrões. Exemplo:


Crédito

IIF(!SF2->F2_TIPO$’DB’,SA1->A1_CONTA,SA2->A2_CONTA)

Débito

SD2->D2_CONTA

Valor

SD2->D2_TOTAL+SD2->D2_VALIPI+SD2->D2_ICMRET



Parâmetro MV_OPTNFE com conteúdo .T.


  • As tabelas SA1, SA2, SB1, SD2, SF2 e SF4 serão tratadas pela Query da rotina, restringindo os campos destas tabelas que poderão ser utilizados nos Lançamentos Padrões, sendo que o ALIAS da query nesta situação será “CTBANFS”, sendo que o ALIAS da query nesta situação será “CTBANFS”.
  • Nesta situação, o Lançamento Padrão deverá ser configurado de acordo com o exemplo:


Crédito

IIF(!CTBANFS->F2_TIPO $ ’DB’,CTBANFS->A1_CONTA,CTBANFS->A2_CONTA)

Débito

CTBANFS->D2_CONTA

Valor

CTBANFS->D2_TOTAL-CTBANFS->D2_VALIPI+CTBANFS->D2_ICMRET


  • Se os Lançamentos Padrões OFF-LINE foram definidos para tratar o ALIAS “CTBANFS” os mesmos não poderão ser utilizados em um processo de contabilização ON-LINE.


  • Os campos disponíveis na query CTBANFS são:


Tabela

Campos Disponíveis

SA1*

A1_FILIAL,A1_COD,A1_LOJA,A1_CONTA,A1_NOME,A1_NREDUZ

SA2*

A2_FILIAL,A2_COD,A2_LOJA,A2_CONTA,A2_NOME,A2_NREDUZ

SB1

B1_FILIAL,B1_COD,B1_CONTA

SD2

Todos os campos, exceto os iniciados em: “D2_BASE” e “D2_BASI”

SF2

Todos os campos, exceto os iniciados em: “F2_BASE” e “F2_BASI”

SF4

F4_FILIAL,F4_CODIGO,F4_CF

* dependendo do tipo da nota


Caso seja necessária a utilização de outros campos além dos disponibilizados na query deverá ser utilizado o Ponto de Entrada CTBNFS o qual permite a manipulação da query.

Um modelo deste ponto de entrada está disponível no link CTBNFE - Alteração da Query para Otimização