Árvore de páginas

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   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:

CampoEL_TIPO
Secuencia

001

Cnt. DominioEL_PREFIXO
Tipo1 -Primario
Regla"TF"
Posiciona2 - No
Alias
Orden0
Clave
CondiciónFWFldGet('EL_TIPO') == "TF" (Se utiliza en lugar de M->EL_TIPO).  


CampoEL_NUMERO
Secuencia

001

Cnt. DominioEL_SIRECER
Tipo1 -Primario
ReglaIIF(ALLTRIM(M->EL_TIPO)=="RS",U_Sire(FWFldGet('FJT_CLIENT'),FWFldGet('EL_TIPO')),M->EL_SIRECER).
Posiciona2 - No
Alias
Orden0
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.

CampoEL_TIPO
Secuencia

003

Cnt. DominioEL_ENDOSSA
Tipo1 -Primario
Regla"2"  
Posiciona2 - No
Alias
Orden0
Clave
CondiciónALLTRIM (M->EL_TIPO) <> "CH"            


Aplica para Argentina.

CampoEL_TIPO
Secuencia

004

Cnt. DominioEL_TERCEIR
Tipo1 -Primario
Regla"1"  
Posiciona2 - No
Alias
Orden0
Clave
CondiciónALLTRIM (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

Secuencia001
Cnt. DominioEL_TPCRED 
Tipo1 -Primario
ReglaIIF(M->EL_TIPODOC$ IIf(FindFunction("FinCondTp"),FinCondTp("CredInm"),cCredInm),"1" ,M->EL_TPCRED)  
Posiciona2 - No
Alias
Orden0
Clave
Condición


Aplica para Argentina, México, Bolivia, Chile, Colombia, Republica Dominicana, Ecuador, Paraguay ,Perú, Uruguay.

Campo

EL_TIPODOC

Secuencia002
Cnt. DominioEL_TPCRED 
Tipo1 -Primario
Regla

IIF(M->EL_TIPODOC$ IIf(FindFunction("FinCondTp"),FinCondTp("CredMed"),cCredMed),"3",M->EL_TPCRED)   

Posiciona2 - No
Alias
Orden0
Clave
Condición


Aplica para México.

Campo

EL_TIPODOC

Secuencia005
Cnt. DominioEL_FORPGO
Tipo1 -Primario
ReglaIIF(M->EL_TIPODOC=="TF","03",IIF(M->EL_TIPODOC=="CH","02",IIF(M->EL_TIPODOC=="EF","01",IIF(M->EL_TIPODOC=="CC","04",""))))
Posiciona2 - No
Alias
Orden0
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

Secuencia001
Cnt. DominioEL_MOEDA
Tipo1 -Primario
ReglaIif(FindFunction('Bcotrigger'),Bcotrigger(M->EL_BANCO+"|" +M->EL_AGENCIA+"|" +M->EL_CONTA),"1")     
Posiciona2 - No
Alias
Orden0
Clave
Condición

Debe usar como separador de valores el pipe ("|") en vez de guion ("-") .


La configuración del multiprotocolo solo está disponible   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

  1. Por medio del Módulo Configurador (SIGACFG) :
    1. Crear el campo con las siguientes características:
      1. Sección campó 
        1. Campo = EL_WHEN
        2. Tipo = 1-Caracter
        3. Tamaño = 5
        4. Formato = @!
        5. Contexto = 1 - Si
        6. Propiedad = 1 - Modificar
      2. Sección informaciones
        1. Tit. Español = Campo when
        2. Desc. Español = Campos que se activa si se cumple el when
      3. Sección Opciones
        1. Inic. Estándar = ""
        2. 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: 

          1.  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.)

      4. Sección Uso
        1. Usado (x)
        2. Browse (x)
  2. Compilar la siguiente función de usuario:
    1. 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

  1. Por medio del Módulo Configurador (SIGACFG):
    1. Crear el campo (Contra dominio) con las siguientes características:
      1. Sección campó 
        1. Campo = EL_DEPEN
        2. Tipo = 1-Caracter
        3. Tamaño = 5
        4. Formato = @!
        5. Contexto = 1 - Si
        6. Propiedad = 1 - Modificar
      2. Sección informaciones
        1. Tit. Español = DEPENDENCIA
        2. Desc. Español = Campos que se activa si se cumple la regla de dependencia
      3. Sección Opciones
        1. Inic. Estándar =""  
      4. Sección Uso
        1. Usado (x)
        2. Browse (x)
  2. Realizamos la configuración del campo (Dominio) Valor (EL_VALOR):
    1. Editamos la pestaña Reglas de dependencia (XXA):
      1. Secuencia = 501
      2. Contra dominio = EL_DEPEN
      3. Tipo = 3 - Pre y Post validación (Para más información, consulte el siguiente link: XXA - Reglas de Dependencia entre Campos)


IMPORTANTE

Pueden ser mezcladas reglas de dependencia con when, por ejemplo:

  1. 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.

  1. 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.