Árvore de páginas

Versões comparadas

Chave

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

...

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 cQryWhere qryFields := "" As Character
	    Local qryWherecQuery    := "" 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)
        cCobrador := "E1_COBRAD = ''" 
    ENDIF
 
    cAuxWhere := cWhere +' AND ( '+cCobrador+' )'
 
Return cAuxWhere

04. ASUNTOS RELACIONADOS

...