Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
titleA410RNF
linenumberstrue
#INCLUDE 'Protheus.ch'
#INCLUDE "TOPCONN.CH"

User Function A410RNF

Local dDataDe := PARAMIXB[1]	// Data Inicial
Local dDataAte:= PARAMIXB[2]	// Data Final
Local lForn := PARAMIXB[3]		// Fornecedor (.T.) ou Cliente (.F.)
Local lFornece := PARAMIXB[4]	// Fornecedor (.T.) ou Documento (.F.)
Local cQuery := ""
Local cFornece := "000001"
Local cLoja := "02"

// Caso deseje manter a query Padrão do sistema, atribuir .T. na variável lMantemQry, caso contrário será utilizada a query retornada em cQuery
// A variável lMantemQry que possui seu valor padrão como .F.
If !lForn
	lMantemQry := .T.
EndIf

If !lMantemQry
	IF lFornece		// Foi escolhido por fornecedor,  o filtro deverá ser efetuado em codebase (SQL)
    	cQuery := " SELECT * "
    	cQuery += " FROM " + RetSqlName("SF1")
    	cQuery += " WHERE F1_FILIAL = '" + xFilial("SF1") + "' "
    	cQuery += " AND F1_FORNECE = '" + cFornece + "' "
    	cQuery += " AND F1_LOJA = '" + cLoja + "' "
    	cQuery += " AND F1_DTDIGIT BETWEEN '" + DtoS(dDataDe) + "' AND '" + DtoS(dDataAte) + "' "
    	cQuery += " AND F1_STATUS <> '" + Space(Len(SF1->F1_STATUS)) + "' "
    	If lForn
        	cQuery += " AND F1_TIPO NOT IN ('D','B')
    	Else
        	cQuery += " AND F1_TIPO IN ('D','B')
    	EndIf
    	cQuery += " AND D_E_L_E_T_ = ' ' "
	Else																		// O filtro deverá ser em AdvPL
    	cQuery := " SF1->F1_FILIAL == '" + xFilial("SF1") + "' "
    	cQuery += " .And. SF1->F1_FORNECE == '" + cFornece + "' "
    	cQuery += " .And. SF1->F1_LOJA == '" + cLoja + "' "
    	cQuery += " .And. DtoS(SF1->F1_EMISSAO) >= '" + DtoS(dDataDe) + "'"
    	cQuery += " .And. DtoS(SF1->F1_EMISSAO) <= '" + DtoS(dDataAte) + "' "
    	If lForn
        	cQuery += " .And. !(SF1->F1_TIPO $ 'DB') " 
    	Else
        	cQuery += " .And. SF1->F1_TIPO $ 'DB'
    	EndIf
	EndIf
EndIf

Return cQuery
Informações
titleImportante

Caso deseje manter a query Padrão do sistema, atribuir .T. na variável lMantemQry, caso contrário atribuir .F. na variável lMantemQry, então será utilizada a query retornada neste ponto de entrada.

...