01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Servicios | ||||||
Módulo: | SIGAFIN - FINANCIERO | ||||||
Función: |
| ||||||
País: | Todos | ||||||
Ticket: | N/A | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-14278 |
02. SITUACIÓN/REQUISITO
Se necesita crear un punto de entrada que permita al usuario incluir campos/columnas en la lista de visualización de los recibos.
03. SOLUCIÓN
Se crea el punto de entrada F998BRMCOL en la rutina RECEIPT.SERVICE.TLPP - Servicio para el guardado de los recibos, con el objetivo de que el usuario pueda incluir campos/columnas en la lista de visualización de los recibos, esto desde la opción de Buscar recibos.
- Crear la función de usuario F998BRMCOL para agregar columnas en el GRID de visualización de los recibos desde la opción de "Buscar recibos".
- La rutina efectuará las validaciones correspondientes y debe retornar un arreglo con los campos y los valores, determinados por el usuario, para agregar en columnas a la lista de recibos. - Dentro del modulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
- En la sección Buscar recibo, especifique los criterios de consulta.
- Al momento de aplicar el filtrado se ejecutará el punto de entrada F998BRMCOL.
- Haga clic en el ícono con la imagen de engrane que se encuentra a la derecha de los títulos de las columnas.
- En la lista de campos a visualizar serán agregados los definidos por el usuario a través del punto de entrada.
- Seleccione y deseleccione los campos requeridos, a continuación, confirme.
- El listado de recibos se visualizará con las columnas de acuerdo a los campos seleccionados.
04. INFORMACIÓN ADICIONAL
Descripción | Actualizaciones | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Punto de entrada: | F998BRMCOL | ||||||||||||||||||||
Nombre del programa fuente: | RECEIPT.SERVICE.TLPP | ||||||||||||||||||||
Parámetros recibidos: |
| ||||||||||||||||||||
Respuesta: | Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de recibos.
|
Ejemplo:
#Include 'Protheus.ch'
User Function F998BRMCOL
Local aCampos := {}
Local cSerie := Paramixb[1]
Local cReceipt := Paramixb[2]
Local cClient := Paramixb[3]
Local cQueryFields As Character
Local cQueryWhere As Character
Local cAlias As Character
Local cQuery As Character
Local nCont As Numeric
Local aAux As Array
cAlias := GetNextAlias()
//En el arreglo de aCampos se agregan los campos a visualizar
//aCampos[1] -> Campo se desea visualizar
//aCampos[2] -> Título que se desea asignar a este campo para que lo visualice el cliente, ya sea fijo o que se obtenga de la SX3
//aCampos[3] -> .T. si se desea que este marcado por default y .F. si se desea que no este marcado por default en el GRID
//aCampos[4] -> Nombre de variable par ael campo, con formato camelCase; ejemplo "valorUnit", en vez de Valor Unitario
aCampos := {{"FJT_VERSAO","VERSION",.T.,"version"},{"FJT_DTDIGI",GetSx3Cache("FJT_DTDIGI","X3_TITULO"),.T.,"dataDigit"}}
//Se forman las condicionales de la consulta
cQueryWhere := " FJT_FILIAL = '"+xFilial("FJT")+"' AND FJT_SERIE = '"+cSerie+"' AND FJT_RECIBO = '"+cReceipt+"' AND FJT_CLIENT = '"+cClient+"' "
//Se estructura la parte de los campos a obtener
cQueryFields := " SELECT "
For nCont := 1 to LEN(aCampos)
cQueryFields += " "+aCampos[nCont][1]+" "
If nCont != LEN(aCampos)
cQueryFields += ","
EndIf
Next nCont
//Se estructura todo el query
cQuery := cQueryFields + " FROM " + RetSqlName("FJT") + " WHERE " + cQueryWhere
cQuery := ChangeQuery(cQuery)
MPSysOpenQuery(cQuery, cAlias)
aAux := {}
//Se asignan los campos deseados al arreglo a retornar
WHILE (cAlias)->(!EOF())
AADD( aAux,{aCampos[1][2],(cAlias)->FJT_VERSAO,aCampos[1][3],aCampos[1][4]})
AADD( aAux,{aCampos[2][2],(cAlias)->FJT_DTDIGI,aCampos[2][3],aCampos[2][4]})
(cAlias)->(DbSkip())
END
Return aAux
La presente solución aplica para versión 12.1.33 o superior, siempre y cuando se tengan las rutinas actualizadas a la fecha de la expedición del issue.¡IMPORTANTE!