Árvore de páginas

Versões comparadas

Chave

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

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoServicios

Módulo:SIGAFIN - Financiero
Función:
RutinaNombre TécnicoFecha
RECEIPT.DATA.TLPPData del servicio de recibos
//
28/01/2022
País:Todos
Ticket:N/A
Requisito/Story/Issue (informe el requisito vinculado):DMINA-14278


02. SITUACIÓN/REQUISITO

Se necesita crear un el punto de entrada en F998BRFLT  en el cual se pueda agregar más filtros al Query de selección de recibos al momento de dar clic en aplicar filtros al buscar recibo.

03. SOLUCIÓN

Se crea el punto de entrada F998BRFLT en la rutina RECEIPT.DATA.TLPP - Data del servicio de recibos, con el objetivo de que el usuario pueda agregar mas más filtros al Query de selección de recibos al momento de dar clic en aplicar filtros al buscar un recibo desde el programa de TOTVS Recibo.

...

Totvs custom tabs box
tabsProcedimiento de utilización ,Paso 02, Paso 03, Paso 04
idsProcedimiento de utilización
Totvs custom tabs box items
defaultyes
referenciaProcedimiento de utilización
  1. Crear la función de usuario F998BRFLT para agregar

    filtros

    filtro de

    búsqueda; definir el Query y retornar la consulta

    campos para búsqueda de recibos.

  2. La función debe retornar la expresión SQL para la consulta correspondiente.
  3. Dentro del modulo Financiero ejecutar módulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
  4. Dentro del aplicativo de TOTVS Recibo | , ir a Buscar recibo, llenar los campos de consulta de acuerdo a lo los recibos que se desea buscar y visualizar.
  5. Al dar click clic en Aplicar se ejecutara ejecutará el punto de entrada F998BRFLT.
  6. La función de usuario afectara afectará la búsqueda de recibos, aplicando los filtros llenados definidos por el usuario desde TOTVS Recibo más los filtros agregados desde el punto de entrada (F998BRFLT). el cual retornara un solo Query mostrando los recibos. Esta función retornará la expresión SQL necesaria para realizar la consulta (Query) a la base de datos mostrando los recibos que cumplan todas las condiciones.


04. INFORMACIÓN ADICIONAL

DescripciónActualizaciones
Punto de entrada:F998BRFLT
Nombre del programa fuente:RECEIPT.DATA.TLPP
Parámetros recibidos:
NombreTipoDescripción
PARAMIXB[1]C
Campos a mostrar de
Expresión SQL estándar para la consulta
SQL
(SELECT) que contará los registros a seleccionar.
PARAMIXB[2]C
Campos a los cuales se les realizara el filtrado SQL
Expresión SQL estándar con filtros por campo que se utilizada para filtrar (WHERE) los registros a seleccionar.
PARAMIXB[3]C
Parte del Query a retornar; "Complete"-Query completo , "Where"-Solo las condicionales del Query

Este punto de entrada se ejecuta en dos partes, este parámetro indica el tipo de consulta (expresión SQL para el Query a la base de datos) que se debe retornar:

"complete" - El punto de entrada debe retornar una expresión de consulta (Query) completa, la cual se utiliza para determinar el total de registros que se visualizaran.

"where" - El punto de entrada solo complementa la expresión de condiciones (WHERE) para la selección de registros a visualizar.

PARAMIXB[4]O

Contiene el Objeto Json con las Respuestas del motor de búsqueda que se colocaron en buscar Recibo.

Aviso
titleImportante

Este parámetro solo es necesario cuando se tiene configurado el grupo de preguntas FINA998BUS.

Respuesta:
NombreTipoDescripciónObligatorio
queryNewCRetorna
el Query con los campos a mostrar y el filtrado
Si

Ejemplo:

...

la expresión SQL de la consulta a realizar de acuerdo al tipo de Query; "complete" o "where".Si



Bloco de código
titleEjemplo
linenumberstrue
collapsetrue
#Include 'Protheus.ch'

...


 
User Function

...

 F998BRFLT
   Local querySelect := Paramixb[1]

...


   Local queryWhere := Paramixb[2]

...


   Local queryOption := Paramixb[3]

...


   Local whereNew := " AND SEL.EL_RECIBO >= '0040

...

' "
   Local queryNew := ""

...


 
   IF queryOption == 'complete'

...


         queryNew := " SELECT " + querySelect + " AS totalreceipts FROM " + RetSqlName("SEL")

...


         queryNew += +" SEL WHERE " + queryWhere +

...

 whereNew
   ELSEIF queryOption == 'where'

...


         queryNew := queryWhere + whereNew

...


   ENDIF
 
RETURN queryNew
Bloco de código
languageapplescript
titleEjemplo con el Grupo de preguntas FINA998BUS
linenumberstrue
collapsetrue
User Function F998BRFLT()
 
Local querySelect := Paramixb[1]
Local queryWhere  := Paramixb[2]
Local queryOption := Paramixb[3]
Local jPergunte   := Paramixb[4] // Objeto Json de Preguntas
Local whereNew := " "
Local queryNew := ""
 
      IF  jPergunte['form']['mv_par11'] != ""
        whereNew :=" AND EL_NATUREZ = '"+jPergunte['form']['mv_par11']+"' "
      EndIF
 
      IF queryOption == 'complete'
            queryNew := " SELECT " + querySelect + " AS totalreceipts FROM " + RetSqlName("SEL")
            queryNew += +" SEL WHERE " + queryWhere + whereNew
      ELSEIF queryOption == 'where'
            queryNew := queryWhere + whereNew
      ENDIF
 
RETURN queryNew


Card documentos
InformacaoLa 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.
Titulo¡IMPORTANTE!


05. ASUNTOS RELACIONADOS