01. DATOS GENERALES

Línea de producto:

Microsiga Protheus®

Segmento:

Backoffice

Módulo:

Financiero

Idiomas:

Portugués

Función: 

Portal del cliente

02. DESCRIPCIÓN

El punto de entrada PCINVQRY permite informar una query personalizada para listar las facturas en el Portal del cliente - SIGAFIN.

Parámetros puestos a disposición en el punto de entrada:

PARAMIXB

Tipo

Descripción

1º Posición

Carácter

Query estándar utilizada para listar las facturas en el Portal del cliente.

2º Posición

Array

Contiene un Array con las claves (SUCURSAL+CÓDIGO+TIENDA) de los clientes seleccionados en el portal. 

  • Cada posición del Array contiene un objeto Json con las propiedades: sucursal, código y tienda.


Devolución del punto de entrada:

El punto de entrada debe devolver la query personalizada respetando los campos definidos por estándar:


Tipo

Obligatoriedad

Descripción

Carácter

Obligatorio

Query personalizada para listar las facturas del Portal del cliente (La query obligatoriamente debe devolver los campos descritos a continuación).


Campos obligatorios:

          Campos que obligatoriamente deben ser devueltos en la query personalizada:


Campo

Tabla

Descripción

F2_FILIAL

SF2

Sucursal del sistema.  

F2_CLIENTE

SF2

Código del cliente.

F2_LOJA

SF2

Tienda del cliente.

F2_DOC

SF2

Número del Docto. de Salida.

F2_SERIE

SF2

Serie del documento.

F2_VALBRUT

SF2

Valor bruto de la factura.

F2_MOEDA

SF2

Moneda de la factura.

F2_CHVNFE

SF2

Clave de la e-Fact. FISCO.

F2_NFELETR

SF2

Factura electrónica.

F2_EMISSAO

SF2

Fecha de emisión de la factura.

F2_HORA

SF2

Hora.

F2_CODNFE

SF2

Código de verificación e-Fact.


03.
EJEMPLO DE UTILIZACIÓN

PCINVQRY
#include 'Protheus.ch'
 
 /*/{Protheus.doc} User Function PCINVQRY
    Se utiliza para modificar la query responsable por la lista
    de las facturas en el Portal del cliente - FIN.

    Parámetros:
     - Paramixb[1] (Character) = Query creada hasta el momento para la lista.
     - Paramixb[2] (Array) = Lista con la clave de los clientes seleccionados en el portal.

    Devolución:
     - cNewQuery (Character) = Query con los filtros aplicados.

    Obs: La query del punto de entrada obligatoriamente
    debe devolver los campos descritos en la documentación.
   
    @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

    // Graba la parte inicial de la query
    cStartQry := Substr(cOriginQry, 1, AT("ORDER BY", cOriginQry) -1 )

    // Logica para personalización de la query (Condicional WHERE)
    cCustomQry := " AND SF2.F2_DOC <> '000001' "

    // Graba la parte final de la query
    cEndQry := Substr(cOriginQry, AT("ORDER BY", cOriginQry))

    // Aplica la parte personalizada en la query principal
    cNewQuery := cStartQry + cCustomQry + cEndQry

Return cNewQuery