Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFIN - Financiero
Función:
NombreRutinaFecha
F887FINMEX.PRWReglas de negocio para México.
17/06/2025 
FINA087A.PRWGeneración de recibos.
17/06/2025  
FINA887.PRWCobros Diversos para todos los países.
17/06/2025  
FINA998.PRWTOTVS Recibos
17/06/2025 
País:México
Ticket:No aplica
Requisito/Story/Issue (informe el requisito vinculado):DMINA-26876


02. SITUACIÓN/REQUISITO

Al incluir un Nuevo Recibo cuando se tiene activa la funcionalidad de MVC, en el grupo de preguntas FIN998 al dar clic en la pregunta ¿Compensación? (MV_PAR07), se genera el siguiente error.log:

THREAD ERROR ([28664], luis.enriquez, MEX01G2M6TV3)   17/06/2025 12:48:23
variable does not exist ACPOSSEL on F087ACEC(FINA087A.PRW) 31/01/2025 12:20:30 line : 10649

03. SOLUCIÓN

En la rutina de Generación de recibos (FINA087A.PRW):

  • Se modificó la función F087ACEC, la cual es llamada por la consulta estándar definida en la pregunta ¿Compensación? (MV_PAR07) del grupo de preguntas FIN998. En esta modificación, se omitieron ciertas líneas de código con el fin de adaptar los parámetros a la lógica implementada en la versión de Nuevo Recibo bajo el modelo MVC,  se resetean las ventanas de Títulos a cobrar o compensar cuando se agrega una compensación , así como también se retornó cierta información al modelo MVC para su funcionamiento correcto.

En la rutina de Reglas de negocio para México (F887FINMEX.PRW):

  • Se obtiene la Fecha y el Número de la compensación, para estas ser guardadas en la tabla de Recibos de Cobranza (SEL).

En la rutina de Cobros Diversos (FINA887.PRW):

  • Se modifica la lógica para limpiar, o refrescar, los grids de visualización de datos tanto de las formas de pago (VIEW_SEL) como la sección de títulos a Cobrar o Compensar (VIEW_SE1).
  • Se vuelven públicos unos funciones que estaban como estáticas.

En la rutina de TOTVS Recibo (FINA998.PRW):

  • Se corrige el timbrado para los recibos de tipo Compensación, ya que se tomaban en cuenta como RA, y se agrega una limpieza de los parámetros de tipo carácter cada que se inicia el Nuevo Recibo, esto para no generar errores.


  1. Realizar un respaldo del repositorio (RPO).
  2. Aplicar el parche correspondiente al issue DMINA-26876.
  3. Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en la sección 01. DATOS GENERALES, así como las fechas.

  4. Desde el módulo Configurador (SIGACFG):
    • Configurar con el valor .T. el parámetro MV_RECMVC para activar la funcionalidad de Recibos en MVC.
  5. Desde el módulo Financiero (SIGAFIN):
    • Desde el menú Actualizaciones | Archivos | Clientes, configurar un Cliente (SA1) para las Facturas de Venta.
    • Desde el menú Actualizaciones | Archivos | Proveedores, configurar un Proveedor (SA2) para las Facturas de Entrada.
  6. Desde el módulo Facturación (SIGAFAT):
    • Desde el menú Actualizaciones | Archivos | Productos, configurar uno o varios Productos (SB1).
    • Desde el menú Actualizaciones | Archivos | Tipos de Entrada y Salida, configurar Tipo de Entrada y un Tipo de Salida (SF4).
    • Desde el menú Actualizaciones | Archivos | Condiciones de Pago, configurar una Condición de Pago (SE4).
    • Desde el menú Actualizaciones | Facturación | Facturaciones (MATA467N), incluir una Factura de Venta por un valor de $1500.00 + IVA (16%) = $1740.00 indicando el cliente configurado para facturas de entrada. La condición de pago a utilizar debe tener informado el código de método de pago del SAT PPD (Pago en Parcialidades/Diferido).
  7. Desde el módulo Compras (SIGACOM):
    • Desde el menú Actualizaciones | Movimientos | Factura de Entrada (MATA101N), incluir una Factura de Entrada por un valor de $1,000.00 + IVA (16%) = $1,160.00, indicando el proveedor configurado para Facturas de Salida.
  1. En el módulo Financiero (SIGAFIN), realizar el proceso de Compensación entre cartera, para lo cual ir al menú Actualizaciones | Cuentas por Pagar | Compensación Entre Carteras
    • Dar clic en la opción +Compensar.
    • Capturar los campos indicando la compensación a realizar y dar clic en Ok.
      • Vencimiento: Fechas de vencimiento de los documentos a considerar (Facturas de Venta y Facturas de Compra).
      • Valor a compensar: Valor de la Factura de Compra.
      • Cliente: Correspondiente a la Factura de Venta.
      • Proveedor: Correspondiente a la Factura de Compra.

        Nota:
        Al realizar compensaciones en monedas diferentes a Moneda 1 (Pesos), se sugiere marcar el checkbox "Cualquier Moneda":
    • En el Browse de documentos, marcar la Factura de Venta y la Factura de Compra que fueron incluidas previamente, y dar clic en Grabar.
  2. En el módulo Financiero (SIGAFIN), desde el menú  Consultas | Cuentas por Cobrar | Posición de Títulos por Cobrar.
    • Validar que el saldo de la Factura de Venta, corresponda al valor total menos el valor compensado.
  3. En el módulo Financiero (SIGAFIN), desde el menú  Consultas | Cuentas por Pagar | Posición de Títulos por Pagar.
    • Validar que el saldo de la Factura de Entrada sea cero, ya que fue compensada completamente.
  4. En el módulo Financiero (SIGAFIN), desde el menú Movimientos | Cuentas por Cobrar | TOTVS Recibo.
    • Se ingresa a la opción de Nuevo recibo.
    • En los parámetros, dar clic en la pregunta ¿Compensación?.
      • Realizará una consulta específica, la cual retorna las compensaciones registradas hasta el momento.
      • Seleccionar el número de compensación procesado.
    • En los parámetros colocar en Si  Generar CFDI e Imprimir.
    • Capturar los datos del encabezado.
      • Cliente: Indicar el cliente configurado para servicios financieros.
      • Recibo: Número de recibo.
      • Fecha de emisión: Fecha a emitir el recibo.
      • Modalidad: Modalidad de pago.
    • Agregar una forma de pago.
      • Verificar que el campo Tipo Valor (EL_TIPODOC) se muestre con la opción "Compensación".
      • Verificar que el campo Forma Pago (EL_FORPGO) se muestre con la opción "17 - Compensación".
      • Verificar que el campo Valor (EL_VALOR) se muestre con el valor total de la compensación.
  5.  Validar que en el CFDI sean generados 2 nodos Pago.

    • Nodo de pago que contendrá los datos del pago del título.
      • ImpSaldoAnt: Saldo anterior del título, sin considerar el cobro ni la compensación de la factura de compra.
      • ImpPagado: Valor del cobro (recurso recibido).
      • ImpSaldoInsoluto: Valor de saldo anterior (ImpSaldoAnt) menos el valor del cobro (ImpPagado).
    • Nodo de pago que contendrá los datos de la compensación entre carteras con la forma de pago 17 - Compensación.
      • FormaDePagoP = "17".
      • ImpSaldoAnt: Valor indicado en el atributo ImpSaldoInsoluto del nodo anterior.
      • ImpPagado: Valor de la compensación (factura de comisiones).
      • ImpSaldoInsoluto: Valor de saldo anterior (ImpSaldoAnt) menos el importe de la compensación (ImpPagado).
  6. Validar que el recibo impreso en formato PDF se muestre correctamente.


04. INFORMACIÓN ADICIONAL

No aplica


¡IMPORTANTE!

La presente solución aplica para versión 12.1.2310 o superior, siempre y cuando se tengan las rutinas actualizadas a la fecha indicada en la sección 01 - Datos Generales.


05. ASUNTOS RELACIONADOS

  • TOTVS Recibo