Para el correcto funcionamiento del Totvs Recibo, debe ser configurado el puerto multiprotocolo:
2.1 - Configuración del puerto Multiprotocolo
La configuración del multiprotocolo solo está disponible a partir de la versión 20200214 de LIB y Appserver versión 7.00.191205P .
A continuación se muestran los pasos para configurar:
- En su appserver.ini, en la sección GENERAL, inicialmente debe incluir la clave App_Environment, cuyo valor debe ser el nombre del entorno donde se ejecutarán los servicios.
- Posteriormente habilitar el puerto multiprotocolo mediante la siguiente clave en la sección de DRIVERS.
Puede verificar si el puerto multiprotocolo fue habilitado correctamente mediante el console.log del ambiente como se muestra a continuación:
Con la configuración del puerto multiprotocolo, los parámetros MV_GCTPURL y MV_BACKEND ya no son necesarios .
2.2 - Habilitación de la rutina FINA998 en el menú de Financiero desde el módulo Configurador.
Ejemplo de configuración del menú de Financiero para habilitar la funcionalidad de la rutina Totvs Recibo:
Para Argentina . si el parámetro MV_FINA846 contiene .T., al ingresar a la rutina fina998, ingresará directamente a la antigua rutina que corresponde a Cobros Diversos modelo II (FINA840). Para los demás países de Mercado internacional, si el parámetro MV_FINA087 contiene .T., al ingresar a la rutina fina998, ingresará directamente a la antigua rutina que corresponde a Cobros Diversos modelo I (FINA087A).
La funcionalidad de estos parámetros sólo se mantendrá para en la versión 12.1.2210, después de esta versión ignorará dicha funcionalidad.
2.3 - Configuración de Disparadores de campo desde módulo Configurador.
Al momento de configurar un disparador, es importante tener en cuanta el uso de la nueva función FWFldGet para poder acceder a los valores que ya se tiene informados en la forma de pago(Variables de memoria).
Para configurar un disparador utilizando la función FWFldGet se tienen los siguientes ejemplos:
Campo | EL_TIPO |
Secuencia | 001 |
Cnt. Dominio | EL_PREFIXO |
Tipo | 1 -Primario |
Regla | "TF" |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición | FWFldGet('EL_TIPO') == "TF" (Se utiliza en lugar de M->EL_TIPO). |
Campo | EL_NUMERO |
Secuencia | 001 |
Cnt. Dominio | EL_SIRECER |
Tipo | 1 -Primario |
Regla | IIF(ALLTRIM(M->EL_TIPO)=="RS",U_Sire(FWFldGet('FJT_CLIENT'),FWFldGet('EL_TIPO')),M->EL_SIRECER). |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición |
Importante
Para poder acceder a los valores del encabezado solo se podrá utilizar la función FWFldGet, por ejemplo FWFldGet ('FJT_CLIENT'). Si se intenta acceder de la formar anterior "M→FJT_CLIENT" no será posible recuperar los valores.
Para los valores de la forma de pago se recomienda solo utilizar la función FWFldGet, por ejemplo FWFldGet ('EL_TIPO').
No será posible utilizar variables privadas dentro de la Regla, Clave o Condición del disparador.
Es importante contar con la siguiente actualización de disparador para ya no utilizar variables privadas en los disparadores:
Actualizaciones al Diccionario de datos
Tabla SEL - Recibos de Cobranza
Disparador para el campo EL_TIPO
Aplica para Argentina.
Campo | EL_TIPO |
Secuencia | 003 |
Cnt. Dominio | EL_ENDOSSA |
Tipo | 1 -Primario |
Regla | "2" |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición | ALLTRIM (M->EL_TIPO) <> "CH" |
Aplica para Argentina.
Campo | EL_TIPO |
Secuencia | 004 |
Cnt. Dominio | EL_TERCEIR |
Tipo | 1 -Primario |
Regla | "1" |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición | ALLTRIM (M->EL_TIPO) <> "CH" |
Disparador para el campo EL_TIPODOC
Aplica para Argentina, México, Bolivia, Chile, Colombia, Republica Dominicana, Ecuador, Paraguay ,Perú, Uruguay.
Campo | EL_TIPODOC |
Secuencia | 001 |
Cnt. Dominio | EL_TPCRED |
Tipo | 1 -Primario |
Regla | IIF(M->EL_TIPODOC$ IIf(FindFunction("FinCondTp"),FinCondTp("CredInm"),cCredInm),"1" ,M->EL_TPCRED) |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición |
Aplica para Argentina, México, Bolivia, Chile, Colombia, Republica Dominicana, Ecuador, Paraguay ,Perú, Uruguay.
Campo | EL_TIPODOC |
Secuencia | 002 |
Cnt. Dominio | EL_TPCRED |
Tipo | 1 -Primario |
Regla | IIF(M->EL_TIPODOC$ IIf(FindFunction("FinCondTp"),FinCondTp("CredMed"),cCredMed),"3",M->EL_TPCRED) |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición |
Aplica para México.
Campo | EL_TIPODOC |
Secuencia | 005 |
Cnt. Dominio | EL_FORPGO |
Tipo | 1 -Primario |
Regla | IIF(M->EL_TIPODOC=="TF","03",IIF(M->EL_TIPODOC=="CH","02",IIF(M->EL_TIPODOC=="EF","01",IIF(M->EL_TIPODOC=="CC","04","")))) |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición |
Importante
El disparador del campo EL_TIPODOC compara el Tipo Valor con el retorno de la función FinCondTp, la cual valida como primera opción, los tipos de títulos registados en la tabla de Tipos de Titulo (SES). Si la tabla no cuenta con registros, por default los comparará con "TF /EF /CC /CD" y "CH|CC".
Si la tabla ya cuenta con registros, es necesario agregar el tipo de titulo "CH" para que el disparador funcione correctamente.
Disparador para el campo EL_BANCO
Aplica para Argentina.
Campo | EL_BANCO |
Secuencia | 001 |
Cnt. Dominio | EL_MOEDA |
Tipo | 1 -Primario |
Regla | Iif(FindFunction('Bcotrigger'),Bcotrigger(M->EL_BANCO+"|" +M->EL_AGENCIA+"|" +M->EL_CONTA),"1") |
Posiciona | 2 - No |
Alias | |
Orden | 0 |
Clave | |
Condición |
Debe usar como separador de valores el pipe ("|") en vez de guion ("-") .
La configuración del multiprotocolo solo está disponible a partir de la versión 20200214 de LIB y Appserver versión 7.00.191205P .
A continuación se muestran los pasos para configurar:
- En su appserver.ini, en la sección GENERAL, inicialmente debe incluir la clave App_Environment, cuyo valor debe ser el nombre del entorno donde se ejecutarán los servicios.
- Posteriormente habilitar el puerto multiprotocolo mediante la siguiente clave en la sección de DRIVERS.
Puede verificar si el puerto multiprotocolo fue habilitado correctamente mediante el console.log del ambiente como se muestra a continuación:
Con la configuración del puerto multiprotocolo, los parámetros MV_GCTPURL y MV_BACKEND ya no son necesarios .
2.4 - Consideraciones para el uso de funciones en el campo Edición (X3_WHEN), reglas de dependencia (XXA) y Disparadores (SX7) en campos de la tabla Encabezado de recibo (FJT) y Recibos de cobranza (SEL)
Aviso
Esto solo es un ejemplo de como configurar correctamente las reglas de dependencia (XXA), Disparadores y/o modos de edición "When" (X3_WHEN)
CONFIGURACIÓN PARA PRUEBA DEL WHEN
- Por medio del Módulo Configurador (SIGACFG) :
- Crear el campo con las siguientes características:
- Sección campó
- Campo = EL_WHEN
- Tipo = 1-Caracter
- Tamaño = 5
- Formato = @!
- Contexto = 1 - Si
- Propiedad = 1 - Modificar
- Sección informaciones
- Tit. Español = Campo when
- Desc. Español = Campos que se activa si se cumple el when
- Sección Opciones
- Inic. Estándar = ""
Modo Edición = U_WHENRET()
Importante
En el campo Modo Edición (X3_WHEN) puede ser ejecutada una función de usuario (Cómo se observa en el punto 2) o configurar directamente una condición lógica que retorne un valor booleano desde el Modo Edición del campo.
Ejemplo de Función de usuario y condición lógica desde el módulo configurador:
- b.
Ambos ejemplos retornan un valor booleano, el cual indica (.T.) si se activa el campo, ya que la condición se cumple o de lo contrario el campo permanece bloqueado (.F.)
- Sección Uso
- Usado (x)
- Browse (x)
- Sección campó
- Crear el campo con las siguientes características:
- Compilar la siguiente función de usuario:
- Esta función tiene la funcionalidad de determinar si se bloquea o no un campo dependiendo el valor del campo Tipo Documento (EL_TIPODOC).
CONFIGURACIÓN PARA PRUEBA DE REGLAS DE DEPENDENCIA
- Por medio del Módulo Configurador (SIGACFG):
- Crear el campo (Contra dominio) con las siguientes características:
- Sección campó
- Campo = EL_DEPEN
- Tipo = 1-Caracter
- Tamaño = 5
- Formato = @!
- Contexto = 1 - Si
- Propiedad = 1 - Modificar
- Sección informaciones
- Tit. Español = DEPENDENCIA
- Desc. Español = Campos que se activa si se cumple la regla de dependencia
- Sección Opciones
- Inic. Estándar =""
- Sección Uso
- Usado (x)
- Browse (x)
- Sección campó
- Crear el campo (Contra dominio) con las siguientes características:
- Realizamos la configuración del campo (Dominio) Valor (EL_VALOR):
- Editamos la pestaña Reglas de dependencia (XXA):
- Secuencia = 501
- Contra dominio = EL_DEPEN
- Tipo = 3 - Pre y Post validación (Para más información, consulte el siguiente link: XXA - Reglas de Dependencia entre Campos)
- Editamos la pestaña Reglas de dependencia (XXA):
IMPORTANTE
Pueden ser mezcladas reglas de dependencia con when, por ejemplo:
- Se puede configurar un campo B (Contra dominio) que tenga una regla de dependencia de campo A (Dominio) pero a su vez el campo B tenga un WHEN (X3_WHEN) en donde indica que el campo Tipo Valor (EL_TIPODOC) retorne true solamente cuando se seleccione una forma de pago de tipo Efectivo. En este caso, el campo B solamente se activará cuando las combinaciones de estas dos condiciones sea verdadera (En caso de que él contra dominio tenga una validación (X3_VALID) está también tiene que ser validada y retornar un valor verdadero).
Pueden ser mezclados campos de diferentes tablas.
Puede hacerse uso de validaciones, reglas de dependencia, disparadores y condiciones "when" en las formas de pago (SEL) utilizando campos de la tabla Encabezado de recibo (FJT), como se ilustra en el siguiente ejemplo:
En el campo Prefijo (EL_PREFIXO), se configura la siguiente regla en el campo Modo Edición (X3_WHEN):
IIF(!VAZIO(FwFldGet("FJT_COBRAD")),.T.,.F.)
. Esta regla indica que se activará solo si se ha informado el campo Cobrador (FJT_COBRAD) en el encabezado.
Aviso
Si hace uso de la tabla de Tipos de Títulos (SES), para la correcta función de los disparadores, validaciones y when de Totvs Recibo, es necesario informar el campo Gen.en RC/OP (ES_RCOPGER).
2.5 - Restricciones importantes
Campos LookUp
Los campos con formato tipo LookUp no permiten el uso de consultas estándar o consultas específicas, esto se debe a que estos campos cuentan con una configuración especifica de mejora de performance cuando existen muchos registros de bancos en una base de datos, proporciona el uso de una pantalla con paginación y filtros avanzados para la búsqueda de un registro en específico, pero estos campos no están preparados para el consumo de consultas estándar o consultas específicas.
El formato de los campos es el siguiente:
Algunos de estos campos en Totvs Recibo son:
Busca Banco (EL_BANCOS), Busca Banco Cheque (EL_BCOCHQS), Cliente (FJT_CLIENT).
Campos Combo Normal
Algunos campos de tipo combo normal están preparados para el uso de consultas estándar, como por ejemplo los campos que hacen un consumo a la tabla SX5 como es el caso del campo Serie (FJT_SERIE). Es importante mencionar que únicamente se tiene la funcionalidad para aceptar consultas estándar, pero no consultas específicas para estos campos.
En caso de que se requiera el uso de consultas estándar o consultas específicas, se recomienda utilizar la versión Grid de formas de pago que será liberada en el primer semestre de 2024.