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:
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.
Tabela | Campos Disponíveis |
SD1 | Todos os campos, exceto os iniciados em: “D1_BASE” e D1_BASI” |
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.
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+… |
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 |
* dependendo do tipo da nota
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.
Tabela | Campos Disponíveis |
SD2 | Todos os campos, exceto os iniciados em: “D2_BASE” e D2_BASI” |
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.
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 |
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