Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoServicios

Módulo:SIGAFIN - FINANCIERO
Función:
RutinaNombre TécnicoFecha
SAVE-RECEIPT.SERVICE.TLPPServicio 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ónActualizaciones
Punto de entrada:F998NROK
Nombre del programa fuente:SAVE-RECEIPT.SERVICE.TLPP
Parámetros recibidos:
NombreTipoDescripción
PARAMIXB[1]JsonObjeto Json que contiene la información de los métodos de pago que contiene el recibo a guardar.
PARAMIXB[2]JsonObjeto Json que contiene la información de los títulos que contiene el recibo a guardar.
PARAMIXB[3]JsonObjeto Json que contiene la información del encabezado del recibo a guardar.
Respuesta:
NombreTipoDescripción
aRet[1][1]BSi 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]CMensaje 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

...