Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Faturamento
Função:MATN410A - Pedidos de Venda
Abrangências:Microsiga Protheus 12
Versões:Microsiga Protheus 12
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível com as Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Todos

02. DESCRIÇÃO

Ponto de Entrada utilizado para permitir a alteração do filtro de pesquisa das Notas Fiscais de Entrada, na opção de Retornar da rotina de Pedidos de Venda.

03. SINTAXE

A410RNF( ) ---> cQuery

04. PARÂMETROS

NomeTipoDescriçãoDefaultObrigatórioReferência
aParamIXBVetorVetor com os dados para montagem do filtro de pesquisa, sendo:
[ 1 ]  - dDataDe Data Inicial - Tipo: Data - Formato: dd/mm/aaaa
[ 2 ]  - dDataAte - Data Final - Tipo: Data - Formato: dd/mm/aaaa
[ 3 ]  - lForn - Fornecedor (.T.) ou Cliente (.F.) - Tipo: Lógico
[ 4 ]  - lFornece - Fornecedor (.T.) ou Documento (.F.) - Tipo: Lógico



05. RETORNO

RetornoTipoDescriçãoObrigatório
cQueryCaractereFiltro para seleção das notas fiscais que serão apresentadas na Tela

06. EXEMPLO


A410RNF
#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

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

Importante

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.


07. 
DEMAIS INFORMAÇÕES

  • Não há

08. ASSUNTOS RELACIONADOS

  • Não há