01. DATOS GENERALES
| Producto | |
|---|
| Línea de producto: | |
|---|
| Segmento: | |
|---|
| Módulo: | SIGAFIN - FINANCIERO |
|---|
| Función: | | Rutina | Nombre Técnico | Fecha |
|---|
| SAVE-RECEIPT.SERVICE.TLPP | Servicio para el guardado de los recibos |
|
|
|---|
| País: | Todos |
|---|
| Ticket: | N/A |
|---|
| Requisito/Story/Issue (informe el requisito vinculado): | DMINA-14964 |
|---|
02. SITUACIÓN/REQUISITO
Crear un punto de entrada con el objetivo de agregar validaciones y mensajes de confirmación o error antes de guardar, de manera que si no cumple las condiciones del punto de entrada no permita el guardado del recibo y este pueda ser modificado.
...
04. INFORMACIÓN ADICIONAL
| Descripción | Actualizaciones |
|---|
| Punto de entrada: | F998NROK |
| Nombre del programa fuente: | SAVE-RECEIPT.SERVICE.TLPP |
| Parámetros recibidos: | | Nombre | Tipo | Descripción |
|---|
| PARAMIXB[1] | Json | Objeto Json que contiene la información de los métodos de pago que contiene el recibo a guardar. | | PARAMIXB[2] | Json | Objeto Json que contiene la información de los títulos que contiene el recibo a guardar. | | PARAMIXB[3] | Json | Objeto Json que contiene la información del encabezado del recibo a guardar. |
|
| Respuesta: | | Nombre | Tipo | Descripción |
|---|
| aRet[1][1] | B | Si el valor obtenido en este campo es .T. se permitirá el guardado del recibo, de lo contrario no se permitirá el guardado del recibo. | | aRet[1][2] | C | Mensaje que se visualizara en el aplicativo en caso de que el campo aRet[1][1] sea Falso. |
|
Ejemplo:
#INCLUDE "Totvs.ch"
/*/{Protheus.doc} F998NROK
Punto de entrada que permite agregar validaciones al recibo antes del guardado
Si retorna un .T. procedera con el guardado del recibo
Si retorna un .F. no continuara con el guardado del recibo
/*/
USER FUNCTION F998NROK()
Local jFormasPago := Paramixb[1] //Json que contiene todas las formas de pago del recibo
Local jTitulos := Paramixb[2] //Json que contiene todos los titulos que contiene el recibo
Local jEncabezado := Paramixb[3] //Json que contiene los datos que conforman el encabezado del recibo
Local lRet := .T. As Logical
Local aRet := {} As Array
Local nCont As Numeric
Local cMensaje := "" As Character
Local nTipoDoc As Numeric
//Ejemplo de validaciones en las formas de pago que contiene el recibo
FOR nCont := 1 TO LEN(jFormasPago)
nTipoDoc := AScan(jFormasPago[nCont],{|x|x['property'] == "tipodoc"})
IF jFormasPago[nCont][nTipoDoc]['value'] == "EF"
lRet := .F.
cMensaje := "No se permite guardar recibos con forma de pago tipo EF-Efectivo"
AADD(aRet,{lRet,cMensaje})
ENDIF
NEXT
...