Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Backoffice
Módulo:Financeiro
Idiomas:Português
Função: Portal do Cliente

02. DESCRIÇÃO

O ponto de entrada PCINVQRY permite informar uma query personalizada para listagem de notas fiscais no Portal do Cliente - SIGAFIN.

Parâmetros disponibilizados no ponto de entrada:

PARAMIXBTipoDescrição
1º PosiçãoCaractereQuery padrão utilizada para listagem das notas fiscais no Portal do Cliente.
2º PosiçãoArray

Contém um Array com as chaves (FILIAL+CODIGO+LOJA) dos clientes selecionados no portal. 

  • Cada posição do Array contém um objeto Json com as propriedades: filial, codigo e loja.


Retorno do ponto de entrada:

O ponto de entrada deve retornar a query personalizada respeitando os campos definidos por padrão:


TipoObrigatoriedadeDescrição
CaractereObrigatórioQuery personalizada para listagem das notas fiscais do Portal do Cliente (A query deve obrigatoriamente retornar os campos descritos abaixo).


Campos obrigatórios:

          Campos que devem ser obrigatoriamente devolvidos na query personalizada:


CampoTabelaDescrição
F2_FILIALSF2

Filial do Sistema.  

F2_CLIENTESF2Codigo do Cliente.
F2_LOJASF2Loja do Cliente.
F2_DOCSF2Numero do Docto. de Saida.
F2_SERIESF2Serie do Documento.
F2_VALBRUTSF2Valor Bruto da NF.
F2_MOEDASF2Moeda da Fatura.
F2_CHVNFESF2Chave da NFe SEFAZ.
F2_NFELETRSF2Nota Fiscal Eletrônica.
F2_EMISSAOSF2Data de Emissao da NF.
F2_HORASF2Hora.
F2_CODNFESF2Código verificação NF-e.


03.
EXEMPLO DE UTILIZAÇÃO

PCINVQRY
#include 'Protheus.ch'
 
 /*/{Protheus.doc} User Function PCINVQRY
    Utilizado para alteração da query responsável pela listagem
    das notas fiscais no Portal do Cliente - FIN.

    Parâmetros:
     - Paramixb[1] (Character) = Query criada até o momento para listagem.
     - Paramixb[2] (Array) = Lista contendo a chave dos clientes selecionados no portal.

    Retorno:
     - cNewQuery (Character) = Query com os filtros aplicados.

    Obs: A query do ponto de entrada deve obrigatoriamente
    retornar os campos descritos na documentação.
   
    @type Function
    @author Totvs
    @since 10/10/2023
    @version 1.0
    @see https://tdn.totvs.com/pages/viewpage.action?pageId=794384769
 /*/
User Function PCINVQRY() As Character
    Local cOriginQry := Paramixb[1] As Array
    Local aCustomers := Paramixb[2] As Array
    Local cStartQry  := "" As Character
    Local cCustomQry := "" As Character
    Local cEndQry    := "" As Character
    Local cNewQuery  := "" As Character

    // Guarda a parte de inicio da query
    cStartQry := Substr(cOriginQry, 1, AT("ORDER BY", cOriginQry) -1 )

    // Logica para customização da query (Condicional WHERE)
    cCustomQry := " AND SF2.F2_DOC <> '000001' "

    // Guarda a parte final da query
    cEndQry := Substr(cOriginQry, AT("ORDER BY", cOriginQry))

    // Aplica a parte customizada na query principal
    cNewQuery := cStartQry + cCustomQry + cEndQry

Return cNewQuery