01. DATOS GENERALES
| Producto | TOTVS Backoffice | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Línea de producto: | Línea Protheus | |||||||||||||||
| Segmento: | Backoffice | |||||||||||||||
| Módulo: | SIGAFIN - Financiero | |||||||||||||||
| Función: |
| |||||||||||||||
| 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.
- Realizar un respaldo del repositorio (RPO).
- Aplicar el parche correspondiente al issue DMINA-26876.
Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en la sección 01. DATOS GENERALES, así como las fechas.
- Desde el módulo Configurador (SIGACFG):
- Configurar con el valor .T. el parámetro MV_RECMVC para activar la funcionalidad de Recibos en MVC.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
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).
- Nodo de pago que contendrá los datos del pago del título.
- Validar que el recibo impreso en formato PDF se muestre correctamente.
04. INFORMACIÓN ADICIONAL
No aplica
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.¡IMPORTANTE!
