01. DATOS GENERALES
Producto: | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Backoffice | ||||||
Módulo: | SIGAFIN - Financiero | ||||||
Función: |
| ||||||
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:
- Data del servicio de títulos financieros (FINANCIAL-TITLES.DATA.TLPP): Se habilita el nuevo punto de entrada (PE) F887FPG, que incorpora en el query ejecutado al seleccionar "Aplicar filtros" filtros personalizados por el cliente, en este caso filtramos por el cobrador y usuario logueado.
- Realizar un respaldo del repositorio (RPO).
- Realizar la aplicación del parche correspondiente al issue DMINA-24106.
- Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico, así como las fechas.
- Realice la compilación del punto de entrada F887FPG.
Desde el módulo configurador (SIGACFG):
En la rutina de Clientes (MATA030) que se encuentra en el menú perteneciente al módulo Financiero (Actualizaciones | Archivos) registre un cliente.
En la rutina de Bancos (MATA070) que se encuentra en el menú perteneciente al módulo Financiero (Actualizaciones | Archivos) registre un banco.
- En la rutina de Cobradores (FINA011) que se encuentra en el menú perteneciente al módulo Financiero (Actualizaciones | Archivos) registre un cobrador y en el campo Cod Usuario (AQ_CODUSR) seleccione en la consulta estándar el usuario configurado anteriormente (Este paso asociara el cliente logueado con el cobrador).
- En la rutina de Productos (MATA010) que se encuentra en el menú perteneciente al módulo Financiero (Actualizaciones | Archivos) registre un producto nuevo.
En la rutina de Cuentas Por Cobrar (FINA040) que se encuentra en el menú perteneciente al módulo Financiero (Actualizaciones | Cuentas Por Cobrar) genere una cuenta por cobrar y en el campo Cobrador (E1_COBRAD) informar el cobrador configurado anteriormente y generar otra una cuenta por cobrar pero sin un cobrador asociado.
- Ingresar a Protheus con el usuario y contraseña del nuevo usuario configurado anteriormente.
- Ingresar a la rutina TOTVS Recibo; SIGAFIN - Actualizaciones | Cuentas por Cobrar | TOTVS Recibo.
Permanecer en la ventana de "Panel General":
- Informar en el filtro los datos del cliente configurado anteriormente así como la tienda.
- Dar clic en "Aplicar"
- Verificar que muestre solamente el título el cual se configuró un cobrador y este mismo asociado al usuario logueado en el sistema.
Ejemplo punto de entrada F887FPG:
Tiene el objetivo de personalizar el Query que se usa para obtener los títulos dar clic en "Aplicar" en la sección de panel general.
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 |
Paramixb[3] | C | Where del Query que se utiliza para obtener los títulos en Panel General |
Retorno: variable de tipo carácter (Where modificado).
Nombre | Tipo | Descripción |
---|---|---|
cAuxWhere | C | Retorna el Where enviado en el parámetro Paramixb[3], modificado con los nuevos filtros personalizados. |
#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 cQryFields := "" As Character Local cQryWhere := "" As Character Local cQuery := "" As Character Local nX := 0 As Numeric Local cAuxWhere := "" As Character //Definimos los campos a retornar en la instrucción SQL 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 cQryWhere := " AQ_CODUSR ='"+ cUseriD +"' " //Definimos la estructura de la intrucción SQL a ejecutar cQuery := "SELECT "+ cQryFields +" FROM "+ retSqlName("SAQ") +" WHERE "+ cQryWhere //Ejecutamos la intrucción cQuery := changeQuery(cQuery) mpSysOpenQuery(cQuery, 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