Árvore de páginas

Versões comparadas

Chave

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

01. DATOS GENERALES

Producto:

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto:

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:

SIGAFIN - Financiero

Función:
RutinaNombre TécnicoFecha
FINANCIAL-TITLES.DATA.TLPPData del servicio de títulos financieros 
 
País:Todos (Mercado Internacional)
Ticket:N/A
Requisito/Story/Issue (informe el requisito vinculado):DMINA-24106


02. DESCRIPCIÓN

En el panel general de la rutina de Totvs Recibo (FINA998), se requiere habilitar un punto de entrada (PE) denominado F887FPG. Este punto de entrada permitirá agregar filtros personalizados al Query de panel general, pero en este caso necesitamos filtrar los títulos correspondientes a un cobrador, asegurando que dicho cobrador esté asociado con el cliente que se encuentra logueado en Protheus.    


03. INFORMACIÓN ADICIONAL

Se realizan modificaciones en los siguientes componentes:  

...

Bloco de código
titleEjemplo de código
#INCLUDE "Totvs.ch"
 
User Function F887FPG()
    Local cUser     := PARAMIXB[1]      //Parámetro en el cual se obtiene el nombre del usuario logueado
    Local cUseriD   := PARAMIXB[2]      //Parámetro en el cual se obtiene el ID del usuario logueado
    Local cWhere    := PARAMIXB[3]      //Where del Query que se utiliza para obtener los títulos en Panel General
    Local cAlias    := getNextAlias()    
    Local aSAQS     := {} As Array 
    Local cCobrador := "" As Character
    Local qryFields := "" As Character
	Local qryWhere  := "" As Character
    Local nX        := 0  As Numeric
    Local cAuxWhere := "" As Character


    //Definimos los campos a retornar en la instrucción SQL
	qryFields := "AQ_COD,AQ_NOME"
    //Definimos la condición, en este caso de que el código del campo usuario sea igual al ID del usuario logueado
	qryWhere  := " AQ_CODUSR ='"+ cUseriD +"' "
    //Definimos la estructura de la intrucción SQL a ejecutar
	query := "SELECT "+ qryFields +" FROM "+ retSqlName("SAQ") +" WHERE "+ qryWhere
    //Ejecutamos la intrucción
	query := changeQuery(query)

    mpSysOpenQuery(query, cAlias)
	(cAlias)->(DbGoTop())
	While (cAlias)->(!Eof())
        IF aScan(aSAQS,(cAlias)->AQ_COD) == 0 //Instrucción para no repetir cobradores en el array
            aadd(aSAQS,(cAlias)->AQ_COD)      //Agrega en un array los cobradores asociados con el cliente logueado  
        ENDIF
        (cAlias)->(dbSkip())
	ENDDO
    (cAlias)->(dbCloseArea())

    //Preparamos la cadena que se retornara con los cobradores 
    IF !VAZIO(aSAQS)
        FOR nX := 1 To LEN(aSAQS)
			cCobrador += " E1_COBRAD =" + aSAQS[nX]
            IF nX < LEN(aSAQS)
               cCobrador += " OR "
            ENDIF
		NEXT
    ELSE
    //Opcional (En caso de que no tenga cobradores asociados) si no se informa mostrará todos los títulos
        cCobrador := "E1_COBRAD = 'ZZZZZ'" 
    ENDIF

    cAuxWhere := cWhere +' AND ( '+cCobrador+' )'

Return cAuxWhere

04. ASUNTOS RELACIONADOS

...