Histórico da Página
...
| Totvs custom tabs box | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
|
Ejemplo punto de entrada F887FPG:
Tiene el objetivo de filtrar los títulos al dar clic en "Aplicar" en la sección de panel general, este punto de entrada filtra los títulos que tienen asociado un cobrador y este mismo está asociado al usuario logueado en Protheus.
Parámetros recibidos:
Nombre | Tipo | Descripción |
|---|---|---|
| Paramixb[1] | C | Parámetro en el cual se obtiene el nombre del usuario logueado |
| Paramixb[2] | C | Parámetro en el cual se obtiene el ID del usuario logueado |
Retorno: variable de tipo carácter (correo electrónico).
Nombre | Tipo | Descripción |
|---|---|---|
| cCobrador | C | Retorna los cobradores asociados al cliente logueado Ejemplo: E1_COBRAD = '00001' OR E1_COBRAD = '00002' |
| Bloco de código | ||
|---|---|---|
| ||
#INCLUDE "Totvs.ch"
User Function F887FPG()
Local cUser := PARAMIXB[1] //Parametro en el cual se obtiene el nombre del usuario logueado
Local cUseriD := PARAMIXB[2] //Parametro en el cual se obtiene el ID del usuario logueado
Local cAlias := getNextAlias()
Local aSAQS := {} As Array
Local cCobrador := "" As Character
Local qryFields := "" As Character
Local qryWhere := "" As Character
Local nX := 0 As Numeric
//Definimos los campos a retornar en la intrucción SQL
qryFields := "AQ_COD,AQ_NOME"
//Definimos la condición, en este caso de que el codigo 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 //Intruccion 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 mostrara todos los titulos
cCobrador := "E1_COBRAD = 'ZZZZZ'"
ENDIF
Return cCobrador |
04. ASUNTOS RELACIONADOS
| Templatedocumentos |
|---|
...