01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||||
---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||
Segmento: | Backoffice | ||||||||
Módulo: | SIGAFIN- Financiero | ||||||||
Función: |
| ||||||||
País: | Argentina | ||||||||
Ticket: | No aplica. | ||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-18464 |
02. SITUACIÓN/REQUISITO
A través de la rutina Totvs Recibos (FINA998) al intentar modificar un recibo ya generado, muestra la pantalla para modificar los datos pero al intentar grabar los cambios se presenta un “Internal Server error” y al consultar el log, es generado el error:
THREAD ERROR ([10408], TP|SD|HTTP@01|TRUE, B277CF2C5304E44C8BB53F32088871DB) 19/01/2023 17:16:43
array out of bounds [2] of [0] on R.EDITRECEIPTDETAIL.EDITRECEIPTDETAILSERVICE:GETEDITRECEIPTDETAILSERVICE (EDIT-RECEIPT.SERVICE.TLPP) 08/09/2022 07:20:50 line : 59
Que se produce por intentar acceder al arreglo “aresp” que viene vacío.
03. SOLUCIÓN
Se realizan los siguientes ajustes:
- Dentro de la rutina Servicio que guarda la edición del recibo (edit-receipt-service.tlpp), en la función encargada de ejecutar el grabado de los cambios (geteditReceiptDetailService), se valida que el array “aresp” tenga algún valor, sino no se accesa a su contenido.
- En la función MontaTela() de la rutina FINA841, se cambia la ejecución del mensaje enviado a consola “Recibo de Cobranza sin ítems disponibles para mantenimiento” para que sea mostrado en pantalla. Para mostrarse en pantalla se graba previamente en el arreglo “aresp” y con esto se evita que se genera el error al intentar acceder a un arreglo vacío.
- En la función Fa841CpoOk() de la rutina FINA841, se envía por referencia el arreglo “aresp” en la ejecución de la función F840VldVct(), para evitar errores.
- En la función F840VldVct() de la rutina FINA840, se inicializan por default los arreglos “aresp” y “aServMod” para evitar algún error cuando no se envían los arreglos.
- Respaldar el RPO y aplicar la solución del presente issue.
- A través de la rutina “Productos”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un producto.
- A través de la rutina “Bancos”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un banco.
A través de la rutina “Clientes”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un cliente.
Totvs Recibos (FINA998.PRW)
- A través de la rutina Totvs recibos en el módulo Financiero – SIGAFIN (Actualizaciones | Cuentas por cobrar), ingresamos a la rutina:
- Se ingresa a la opción de "Nuevo recibo".
- Capturar los datos del encabezado.
- Seleccionar en el apartado "Títulos a Cobrar o Compensar" no es seleccionado ningún título
- Agregar la forma de pago:
- Debe ser con Tipo Valor Cheque (CH) y Tipo Tit. Cheque Diferido (CHD).
- Informar los datos obligatorios
- Grabar forma de pago.
- Grabar el Recibo.
- A través del botón "Buscar Recibo", informamos la fecha en que se capturo el recibo anterior, una vez que lo encontremos, damos clic en el botón de modificar.
- Asegurar que permita editar el registro del cheque.
- Conformar la edición
- Guardar cambios.
- Liquidamos el cheque.
- Volver a editar el recibo y al confirmar el grabado, no debe permitir grabar los cambios, ya que está liquidado el cheque. Al confirmar el grabado enviara el mensaje: “Recibo de Cobranza sin ítems disponibles para mantenimiento”.
04. INFORMACIÓN ADICIONAL
Solución disponible para versión 12.1.33 o superiores.¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
Documento de Referencia: Totvs Recibos - Funcionalidad - Nuevo Recibo