Á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 cCobradorcQryFields := "" As Character
    Local qryFieldscQryWhere  := "" As Character
	Local qryWhere    Local cQuery    := "" As Character
    Local nX        := 0  As Numeric
    Local cAuxWhere := "" As Character
 
 
    //Definimos los campos a retornar en la instrucción SQL
	qryFields    cQryFields := "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    cQryWhere  := " AQ_CODUSR ='"+ cUseriD +"' "
    //Definimos la estructura de la intrucción SQL a ejecutar
	query    cQuery := "SELECT "+ qryFieldscQryFields +" FROM "+ retSqlName("SAQ") +" WHERE "+ qryWherecQryWhere
    //Ejecutamos la intrucción
	query    cQuery := changeQuery(querycQuery)
 
    mpSysOpenQuery(querycQuery, 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

...