Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Ponto de entrada para manipulação da condição da consulta (Query) principal do Extrator LCDPR e / ou substituição do campo Histórico (E5_HISTOR) por outro histórico customizado.

03. SOLUÇÃO

Ponto de entrada (PE) F820Qry criado para receber a condição padrão da consulta através de parâmetro (cCond) e manipulá-la (modificá-la ou até substituí-la) a fim de atender a uma necessidade específica de filtro das informações para o Livro Caixa Digital do Produtor Rural.

...

Compilar a função de usuário:


#Include "Protheus.ch"
#Include "rwmake.ch"

User Function F820Qry()

Local cRet cCond := ParamIXB [1]  // Recebe a cCond com a condição Condição (cláusula WHERE da query) padrão para geração dos movimentos financeiros LCDPR.
Local aTpDoc aRet := {} // Para caso de tipos de documentos diferentes do padrão
cRet := 'R_E_C_N_O_ = 1 '

aTpDoc := { , 'FTM|FTN|FTT' } // Exemplo de utilização informando 3 tipos de faturas, além da 'FT ' do padrão



cCond := " E5_NATUREZ = 'NTLCDPRESP' "

aAdd(aRet, cCond)
aAdd(aRet, " E5_BENEF + ' - ' + E5_IDORIG ") // Parâmetro que substitui a impressão do histórico do título (campo E5_HISTOR).

Return aRetReturn { cRet, aTpDoc }


Onde o 'cCond' recebido por parâmetro é a cláusula Where padrão do Extrator LCDPR. 

04. DEMAIS INFORMAÇÕES

Retorno do PE:

cRetcCond (posição 1ª do aRet[1]): condição escrita (em formato de consulta SQL) para filtragem nos dados da base de forma customizada; e

aTpDoc: é o array retornado na segunda posição (caso necessário) para indicar os tipos de documentos existentes além dos tipos do padrão.

Estrutura do aTpDpc:

aTpDoc[1]: tipo Nota Fiscal, além do 'NF' padrão;

aTpDoc[2]: tipo Fatura, além do 'FT' do padrão;

aTpDoc[3]: tipo Recibo, além do 'RC' do padrão;

aTpDoc[4]: tipo Contrato, além do 'C01' do padrão;

aTpDoc[5]: tipo Folha de pagamento, além do 'FOL' do padrão.

Todos os tipos devem ser informados, cada qual em sua posição específica no array, separados por '|' (Pipe). Exemplo:

aTpDoc := { 'NFC|NFX', 'FTY|FTA',,'CNT' }aRet[2]: é o campo (ou conjunto de campos) que irão substituir a informação contida no campo E5_HISTOR  de cada movimento financeiro (SE5).

05. ASSUNTOS RELACIONADOS

...