Árvore de páginas

Versões comparadas

Chave

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

...

Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFIN - FINANCIERO
Función:
RutinaNombre TécnicoFecha
FINA998.APPAplicativo de TOTVS Recibo (Front-end)
FINA998.PRWAplicativo de TOTVS Recibo (Back-end)
 
FINA998A.PRWLlamada de servicios por ADVPL
GETCONTENTINI.SERVICE.TLPPServicio para obtener las configuraciones iniciales
FINANCIAL-TITLES.CONTROLLER.TLPPControlador para obtener los títulos financieros
FINANCIAL-TITLES.SERVICE.TLPPServicio para obtener los títulos financieros
SAVE-RECEIPT.SERVICE.TLPPServicio para guardar los recibosrecibos 
País:Todos
Ticket:N/A
Requisito/Story/Issue (informe el requisito vinculado):DMINA-23387

...

  • Aplicativo de TOTVS Recibo (FINA998.PRW Y FINA998A.TLPP) habilitando el endpoint para obtener las configuraciones determinadas en el PE "Descuento por pronto pago" (F998VALBX) y aplicar la  lógica matemática para realizar los descuentos.
  • Servicio para configuraciones iniciales (GETCONTENTINI.SERVICE.TLPP) se habilita una bandera para habilitar o deshabilitar la opción "Descuento por pronto pago" cuando se desea realizar la "Edición de cobro" a un título.
  • Controlador y servicio para obtener los títulos financieros (FINANCIAL-TITLES.CONTROLLER.TLPP y FINANCIAL-TITLES.SERVICE.TLPP) se realiza la ejecución del PE "Descuento por pronto pago"
  • Servicio para guardar un recibo (SAVE-RECEIPT.SERVICE.TLPP) se habilita el llamado del PE para el guardado del valor ingresado en el campo "Descuento por pronto pago" y se habilita el parametro mandado al PE F998NRG2.
Aviso
titleImportante

Importante

La solución estará presente en el patch de expedición continua (fin_recibo_mi) con fecha  superior  al 0131/0807/2024, para un funcionamiento correcto de la solución compilar de la siguiente manera:

  1. Patch de la issue
  2. Patch de expedición continua superior a la fecha 0131/0807/2024.



Totvs custom tabs box
tabsConf. Previas, Flujo de Pruebas
idspaso1,paso2
Totvs custom tabs box items
defaultyes
referenciapaso1
  1. Por medio del módulo configurador (SIGACFG) damos de alta los siguientes campos

    Aviso
    titleCampos de ejemplo para el PE (No son estándar)
    1. E1_XPERDES - En el cual se guardara el descuento aplicado al título.
      1. Campo = E1_XPERDES.
      2. Tipo = Numerico.
      3. Tamaño = 5
      4. Decimal = 2
      5. Formato = @99.99
      6. Contexto = Real
      7. Propiedad = Modificar
      8. Nombre = Desc. PP
    2. E1_XCONDPP - En donde se indica la condición de pago.
      1. Campo = E1_XCONDPP.
      2. Tipo = Caracter.
      3. Tamaño = 3
      4. Decimal = 0
      5. Formato = @!
      6. Contexto = Real
      7. Propiedad = Modificar
      8. Nombre = Cond. PP
    3. E4_XDESCON - En el cual se guardara el límite de descuento aplicado al título.
      1. Campo = E4_XDESCON.
      2. Tipo = Numerico.
      3. Tamaño = 5
      4. Decimal = 2
      5. Formato = @99.99
      6. Contexto = Real
      7. Propiedad = Modificar
      8. Nombre = Lim Desc. PP
  2. Realizar un respaldo del repositorio (RPO).
  3. Aplicar el paquete de expedición continua Financiero - Totvs Recibo MI con fecha del 0108 o posterior.  
  4. Aplicar el parche correspondiente al issue DMINA-23387.
  5. Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico, así como las fechas.
  6. Crear la función de usuario "Descuento por pronto pago" (F998VALBX) el cual retornará un objeto Json con las siguientes opciones:
    1. Nombre del campo nuevo a mostrar.
    2. Deshabilitar o habilitar el campo de descuento, multa o interés.
    3. Habilitar o deshabilitar el campo "Descuento por pronto pago".
    4. Realizara los calculos para los campos descuento, residuo, multa e interes.
    5. Realizara la grabación del "Descuento por pronto pago" a su respectivo campo.
  7. Compilar el PE F998NRG2 el cual llame la función de usuario U_TAFINE45().
  8. funcion de usuario F998VALBX  definiendo las propiedades para la vista , calculos matematicos para los campos descuento, multa, interes y total así como la funcion a ejecutar para guardar los datos.
  9. Dentro del módulo Financiero ejecutar la Dentro del módulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
  10. En la rutina de Clientes (MATA030), ubicada en el módulo Financiero (Actualizaciones | Archivos) registré un cliente.

  11. En la rutina de Productos (MATA010), ubicada en el módulo Facturación (Actualizaciones | Archivos), incluir un nuevo producto.

  12. En la rutina de Tipos de Entrada y Salida (MATA080), ubicada en el módulo Facturación (Actualizaciones | Archivos), incluir una TES de salida.
  13. En la rutina de Facturaciones (MATA467N), ubicada en el módulo de Facturación (Actualizaciones | Facturaciones) generamos una factura que genere un título financiero al cliente configurado anteriormente.

Hay que adaptar la manera de obtener la información del recibo y/o títulos en la función de usuario TAFINE45(), ya que en la nueva rutina de TOTVS Recibo no hay variables privadas como aCols.

  • El objeto Json obtiene los siguientes objetos:
    • Encabezado - Valores ingresados en el encabezado del recibo.
    • Títulos - Array de valores con los datos de cada título seleccionado.
    • Monedas - Array con los valores de cada moneda registrada.
    • Formas de pago - Array de valores por cada una de las formas de pago registradas en el recibo.
    • Params - Parámetros registrados en el sistema.
  • Ejemplo para obtener el descuento por pronto pago en el título seleccionado es de la siguiente manera:oJson['titulos'][1]['percentDiscount'], en donde se busca el descuento por pronto pago del título número uno del objeto títulos
        1. .
    Totvs custom tabs box items
    defaultno
    referenciapaso2
    1. Ingresar a la rutina TOTVS Recibo; SIGAFIN - Actualizaciones | Cuentas por Cobrar | TOTVS Recibo.

      1. Ingresar a la opción Nuevo Recibo.

        1. Informe el encabezado del recibo con los datos configurados anteriormente y damos clic en "Extraer Títulos". 

        2. Localizamos el título generado anteriormente y damos clic en "Editar cobro".
          1. Verificamos que se visualice el nuevo campo configurado "Descuento por pronto pago".
          2. Verificamos que se realice la lógica matemática adecuadamente proporcionada al descuento.
        3. Agregamos una forma de pago por el valor restante del título financiero.
        4. Guardamos el recibo:
          1. Verificamos que el valor se haya guardado correctamente en el campo configurado en el PE.

      Actualización de la función de usuario U_TAFINE45() en el PE F998NRG2, para la generación de la NCC al momento de guardar el recibo.

        1. pago por el valor restante del título financiero.
        2. Guardamos el recibo:
          1. Verificamos que el valor se haya guardado correctamente en el campo configurado en el PE
    Aviso
    titleImportante

    Card documentos
    Informacao"La solución estará presente en el patch de expedición continua con fecha superior al 01/08/2024."
    Titulo¡IMPORTANTE!

    ...

    F998VALBX
    DescripciónActualizaciones
    Punto de entrada:F998VALBXNombre del programa fuente:FINANCIAL-TITLES.SERVICE.TLPP
    Parámetros recibidos
    NombreTipoDescripción
    PARAMIXB[1]O

    Definición de la vista del campo "Descuento por pronto pago"

    Descripción del objeto PARAMIXB[1] cuando en el Json la bandera PARAMIXB[2] es Verdadera (.T.) y la bandera ["recalculate" ]  este como falsa (.F.)

    Expandir
    titleObjeto Titulo
    Nombre en JsonEquivalenciaDescripción
    recalculate['recalculate´]N/ASi es True (.T.) realizará los calculos, si es False (.F.) realizara la vista
    titulos[nX]['branch']E1_FILIALFilial
    titulos[nX]['billnumber']E1_NUMERONumero de Titulo
    titulos[nX]['type']E1_TIPOTipo de Titulo
    titulos[nX]['actualduedt']E1_VENCREAVencimiento Real
    titulos[nX]['currency']E1_MOEDAMoneda
    titulos[nX]['unit']E1_LOJATienda
    titulos[nX]['installment']E1_PARCELACuota
    titulos[nX]['billvalue']E1_VALORValor
    titulos[nX]['customer']E1_CLIENTECliente
    titulos[nX]['class']E1_NATUREZModalidad
    titulos[nX]['custname']A1_NOMENombre del cliente
    titulos[nX]['balance']E1_SALDOSaldo del titulo
    titulos[nX]['prefix']E1_PREFIXOPrefijo del titulo
    titulos[nX]['issuedt']E1_EMISSAOFecha de emisión
    titulos[nX]['writeoffne']E1_VALLIQValor neto de la baja    
    titulos[nX]['discount']E1_DESCONTDescuento
    titulos[nX]['interest']E1_JUROSIntereses
    titulos[nX]['fine']E1_MULTAMultas
    titulos[nX]['series']E1_SERIESerie 
    titulos[nX]['origin']E1_ORIGEMRuta origen del titulo
    titulos[nX]['recno']R_E_C_N_O
    titulos[nX]['client']E1_CLIENTECliente
    titulos[nX]['originbranch']E1_FILORIGFilial Original
    titulos[nX]['paycondf2']F2_CONDCondicion SF2
    titulos[nX]['paycondf1']F1_CONDCondición SF1
    titulos[nX]['serie2f2']F2_SERIE2Serie SF2
    titulos[nX]['serie2f1']F1_SERIE2Serie SF1
    titulos[nX]['paymentcondition']
    Condición de pago
    titulos[nX]['cobrar']
    Monto a cobrar en Numeric
    titulos[nX]['billvalueString']
    Toyal o saldo (Dependiendo la pantalla)
    titulos[nX]['balanceString']
    Saldo en String
    titulos[nX]['cobrarString']
    Monto a cobrar en String
    titulos[nX]['discountString']
    Descuento del titulo en String
    titulos[nX]['interestString']
    Interes del titulo en String
    titulos[nX]['fineString']
    Multa del titulo en String

    Definición de la lógica del campo "Descuento por pronto pago"

    Descripción del objeto PARAMIXB[1] cuando en el Json la bandera PARAMIXB[2] es Verdadera (.T.) y la bandera ["recalculate" ] este como True (.T.)

    Expandir
    titleObjeto
    Nombre en JsonDescripción
    recalculate['recalculate´]Si es True (.T.) realizará los calculos, si es False (.F.) realizara la vista
    bind['discountInput']Descuento ingresado en el campo Descuento Pronto Pago
    bind['descuento']Tipo de Titulo
    bind['multa']Interes del titulo en String
    bind['interes']Multa del titulo en String
    bind['saldo']Saldo total (Ya tomando en cuenta, descuento, multa e interes)

    Definición de la grabación del campo "Descuento por pronto pago"

    Descripción de los objetos (PARAMIXB[1]) mandados en el Json cuando la bandera PARAMIXB[2] es Falsa (.F.) 

    Expandir
    titleObjeto Encabezado
    Nombre en JsonEquivalenciaDescripción
    encabezado['serie']FJT_SERIESerie del recibo
    encabezado['recibo']FJT_RECIBONumero de recibo
    encabezado['emissa']FJT_EMISSAEmisión
    encabezado['nature']FJT_NATURECobrador
    encabezado['client']FJT_CLIENTCliente
    encabezado['loja']FJT_LOJATienda
    encabezado['cobrad']FJT_COBRADCobrador
    encabezado['recprov']FJT_RECPRVRecibo Provisorio
    Expandir
    titleObjeto Titulos
    Nombre en JsonEquivalenciaDescripción
    titulos[nX]['branch']E1_FILIALFilial
    titulos[nX]['billnumber']E1_NUMERONumero de Titulo
    titulos[nX]['type']E1_TIPOTipo de Titulo
    titulos[nX]['actualduedt']E1_VENCREAVencimiento Real
    titulos[nX]['currency']E1_MOEDAMoneda
    titulos[nX]['unit']E1_LOJATienda
    titulos[nX]['installment']E1_PARCELACuota
    titulos[nX]['billvalue']E1_VALORValor
    titulos[nX]['customer']E1_CLIENTECliente
    titulos[nX]['class']E1_NATUREZModalidad
    titulos[nX]['custname']A1_NOMENombre del cliente
    titulos[nX]['balance']E1_SALDOSaldo del titulo
    titulos[nX]['prefix']E1_PREFIXOPrefijo del titulo
    titulos[nX]['issuedt']E1_EMISSAOFecha de emisión
    titulos[nX]['writeoffne']E1_VALLIQValor neto de la baja    
    titulos[nX]['discount']E1_DESCONTDescuento
    titulos[nX]['interest']E1_JUROSIntereses
    titulos[nX]['fine']E1_MULTAMultas
    titulos[nX]['series']E1_SERIESerie 
    titulos[nX]['origin']E1_ORIGEMRuta origen del titulo
    titulos[nX]['recno']R_E_C_N_O
    titulos[nX]['client']E1_CLIENTECliente
    titulos[nX]['originbranch']E1_FILORIGFilial Original
    titulos[nX]['paycondf2']F2_CONDCondicion SF2
    titulos[nX]['paycondf1']F1_CONDCondición SF1
    titulos[nX]['serie2f2']F2_SERIE2Serie SF2
    titulos[nX]['serie2f1']F1_SERIE2Serie SF1
    titulos[nX]['paymentcondition']
    Condición de pago
    titulos[nX]['cobrar']
    Monto a cobrar en Numeric
    titulos[nX]['billvalueString']
    Toyal o saldo (Dependiendo la pantalla)
    titulos[nX]['balanceString']
    Saldo en String
    titulos[nX]['cobrarString']
    Monto a cobrar en String
    titulos[nX]['discountString']
    Descuento del titulo en String
    titulos[nX]['interestString']
    Interes del titulo en String
    titulos[nX]['fineString']
    Multa del titulo en String
    titulos[nX]['quickSelected']
    Titulo seleccionado en el GRID
    titulos[nX]['reasonBx']
    Motivos de baja
    titulos[nX]['peso']
    Total en moneda
    Expandir
    titleObjeto monedas
    Nombre en JsonDescripción
    monedas[nX]['coin']Nombre Moneda
    monedas[nX]['tasa']Tasa
    monedas[nX]['received']Cantidad recibida en esta moenda
    monedas[nX]['balance']Saldo en Numeric
    monedas[nX]['type']Nombre de Moneda
    monedas[nX]['moneda']Numero de Moneda
    monedas[nX]['stringTasa']Tasa de moneda
    monedas[nX]['balanceString']Saldo en String
    monedas[nX]['receivedString']Cantidad recibida en esta moenda
    Expandir
    titleObjeto formas de pago
    Nombre en JsonDescripción
    formaspago[nX]['property']Nombre de la propiedad (Trae el mismo nombre registrado en la SX3)
    formaspago[nX]['value']Valor de la propiedad
    Expandir
    titleObjeto parametros
    Nombre en JsonDescripción
    params[nX]['mv_par01']Valor del parametro 01

    params[nX]['mv_par01']

    .

    .

    .

    params[nX]['mv_parxx']


    PARAMIXB[2]LTrue (.T.) si es momento del guardado y False (.F.) si es configuración de la vista
    Punto de entrada:
    Respuesta:

    Descripción del objeto de respuesta cuando en el Json la bandera PARAMIXB[2] es Verdadera (.T.) y la bandera ["recalculate" ]  este como falsa (.F.)

    Expandir
    titleObjeto de respuesta

    Nombre

    Tipo

    Descripción

    Obligatorio

    oJson['label']L

    Nombre del campo nuevo a mostrar.

    Si
    oJson['disabledDiscount']LDeshabilitar o habilitar el campo de descuento.Si
    oJson['disabledInterest']LDeshabilitar o habilitar el campo de Intereses.Si
    oJson['disabledFine']LDeshabilitar o habilitar el campo de Multa.Si
    oJson['disabledInput']LDeshabilitar o habilitar el input nuevoSi
    oJson['maxDiscount']NSe informa el descuento permitido debe tener un rango mayor a 0 y menor a 100Si
    oJson['warningMaxDiscount']C Mensaje personalizado por si se excede el descuento permitido, si no se informa el front mandará uno por defaultNo

    Descripción del objeto de respuesta cuando en el Json la bandera PARAMIXB[2] es Verdadera (.T.) y la bandera ["recalculate" ] este como True (.T.)

    Expandir
    titleObjeto de respuesta
    Nombre en JsonDescripción
    oJson['descuento']Valor que sera mostrado en el campo descuento
    oJson['residuo']Valor que sera mostrado como total del titulo (Despues de descuentos, multa e intereses)
    oJson['multa']Valor que sera mostrado como multa del titulo
    oJson['interes']Valor que sera mostrado como interes del titulo

    Descripción de los objetos mandados de respues en el Json cuando la bandera PARAMIXB[2] sea Falsa (.F.) 

    N/A

    ...