Á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:
RutinaNombre Técnico
edit-receipt-service.tlpp 

Servicio que guarda la edición del Recibo.

FINA841.PRW  Mantenimiento de recibos - Argentina.
FINA840.PRW  Recibo de Cobros Diversos.
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.



  1. Respaldar el RPO y aplicar la solución del presente issue.
  2. A través de la rutina “Productos”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un producto.
  3. A través de la rutina “Bancos”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un banco.
  4. A través de la rutina “Clientes”, ubicada en el módulo de SIGAFIN (Actualizaciones | Archivos), incluir un cliente.

Totvs Recibos (FINA998.PRW)


  1. A través de la rutina Totvs recibos en el módulo Financiero – SIGAFIN (Actualizaciones | Cuentas por cobrar), ingresamos a la rutina:
    1. Se ingresa a la opción de "Nuevo recibo".
    2. Capturar los datos del encabezado.
    3. Seleccionar en el apartado "Títulos a Cobrar o Compensar" no es seleccionado ningún título
    4. Agregar la forma de pago:
      1. Debe ser con Tipo Valor Cheque (CH) y Tipo Tit. Cheque Diferido (CHD).
      2. Informar los datos obligatorios
      3. Grabar forma de pago.
  2. Grabar el Recibo.
  3. 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.
    1. Asegurar que permita editar el registro del cheque.
    2. Conformar la edición
    3. Guardar cambios.
  4. Liquidamos el cheque.
  5.  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


¡IMPORTANTE!

Solución disponible para versión 12.1.33 o superiores.




05. ASUNTOS RELACIONADOS

         Documento de Referencia: Totvs Recibos - Funcionalidad - Nuevo Recibo