Histórico da Página
...
| Bloco 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 |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas