Á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, além de permitir a manipulação dos campos selecionados nessa consulta.

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 Ruralalém dos campos (cSelect) selecionados na consulta.

Nota: os campos recebidos e devolvidos por parâmetro precisam respeitar a ordem padrão.


Exemplo:

Compilar a função de usuário:

...

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

User Function F820Qry()

Local cCond  Local cCond     := ParamIXB  ParamIXB[1] // Condição (cláusula WHERE da query) padrão para geração dos movimentos financeiros LCDPR.Local cSelect := ParamIXB Condição (cláusula WHERE da query) padrão para geração dos movimentos financeiros LCDPR.



Local cSelect   := ParamIXB[2] // Campos da consulta
Local aRet      Campos da consulta
Local aRet      := {}
Local cSelUsr Local cSelUsr   := " "cSelect // Padrão Padrão:  SUBSTRING  SUBSTRING(E5_DATA,7,2) DIA, SUBSTRING(E5_DATA, 5, 2) || SUBSTRING(E5_DATA, 1, 4) MES_ANO, E5_DATA DDATA, "
                        // TRFIL.COD FILCOD, FVV.FVV_PARTIC AS PERC, TRBCO.COD BANCO, E5_PREFIXO, E5_NUMERO NUMDOC, E5_HISTOR HIST, SA1.A1_CGC CNPJCLI, SA2.A2_CGC CNPJFOR, " 
                        // E5_TIPODOC TPDOC, E5_TIPO, E5_RECPAG RECPAG, E1_VALOR, E2_VALOR, E1_SALDO SLDREC, E2_SALDO SLDPAG, E5_MOTBX, SE5.R_E_C_N_O_ REC, E5_CLIFOR CLIFOR, "
                        // E5_VALOR AS VALOR "
            
            // , E5_CGC (campo disponível a partir do dicionário do leiaute 1CGC (campo disponível a partir do dicionário do leiaute 1.3)            

cCond := " E5 E5_NATUREZ NATUREZ = 'NTLCDPRESP' "

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

aAdd(aRet, " cSelUsr " cSelUsr) // Parâmetro para definir tratativas na consulta principal do relatório, sempre respeitando a estrutura padrão dos campos da consulta.Return aRet Parâmetro para definir tratativas na consulta principal do relatório, sempre respeitando a estrutura padrão dos campos da consulta.

Return aRet


Onde o 'cCond' recebido por parâmetro é a cláusula Where padrão do Extrator LCDPR e 'cSelect' contém os campos utilizados na primeira parte da consulta do Extrator. Como a consulta contém alguns UNION em sua estrutura, essa ordem padrão deve ser mantida.

04. DEMAIS INFORMAÇÕES

Retorno do PE:

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

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); e

cSelUsr (posição 3ª do aRet): campos selecionados na consulta padrão dos movimentos financeiros.

05. ASSUNTOS RELACIONADOS

...