La ventana de nuevo recibo en Totvs recibos tiene la funcionalidad de generar recibos de cobros a partir de títulos a cobrar o compensar y métodos de pago.

El filtrado que muestra esta ventana es:

  • El campo de serie se habilita dado a la configuración en el parámetro MV_SERREC.

Una vez aplicado los filtros se muestra lo siguiente:

Tasa cambio

En esta opción se puede visualizará las monedas registradas en el sistema actualmente y mostrando sus tasas actuales, las cuales pueden ser modificadas.

Parámetros

En esta opción se muestran los parámetros registrados en el sistema los cuales pueden ser modificados.

Agregar otros títulos

Esta opción permite al usuario agregar titulos de otro cliente que no pertenezca a los de la ventana principal de nuevo recibo.

Títulos a cobrar o compensar

En esta sección se muestran todos los documentos que se tienen  adeudo o en su caso documentos  a compensar, el filtrado que muestra esta sección es:

Y se  tiene las siguientes columnas extras a mostrar dando click en el icono con imagen del engrane:

Formas de pago

En esta sección se puede agregar o borrar métodos de pago agregando información en los siguientes campos:

Las columnas mostradas de una forma de pago son:

Y se  tiene las siguientes columnas extras a mostrar dando click en el icono con imagen del engrane:

Editar una forma de pago

Una vez agregado un método o forma de pago, este puede ser editado dando click en el botón editar que corresponde al método de pago .

Editar o ver detalle de título a cobrar o compensar

Se selecciona el título a cobrar o a compensar y en los tres puntos se localiza la opción de editar cobro o ver detalle.

Ver detalle: En esta ventana se puede todos los datos que corresponden a este título.

Editar cobro: En esta opción se puede editar el cobro realizando el cobro por medio de las diferentes monedas registradas en el sistema con su respectiva tasa, además se pueden agregar intereses o multas y realizar descuentos del cobro.

Totales

En la sección de totales se muestra las monedas que se tienen registradas en el sistema y su tasa.

Al seleccionar uno o más títulos a cobrar con su respectivo método a pagar, estos totalizadores se verán afectados a consecuencia de con qué moneda están siendo cobrados o pagados estos documentos.

Imprimir

Esta opción tiene la funcionalidad de abrir el pdf creado en el visualizador de archivos de formato .PDF predeterminado en Windows.

Generar CFDI

  • Opción disponible exclusivamente para el país México.
  • El guardado de estos archivos se configura en el parámetro MV_CFDRECP.

Esta opción es la responsable de generar el archivo .XML y timbrar el recibo.

Enviar E-Mail

Los parámetros que se deben configurar para su correcto funcionamiento son:

  • MV_RELSERV.
  • MV_RELACNT.
  • MV_RELPSW.
  • MV_RELAUTH.
  • MV_RELSSL.
  • MV_SRVPORT.
  • MV_RELTLS.

Esta opción tiene la funcionalidad de ya sea el país en el cual se ejecute enviará los archivos generados al correo del cliente.

Puntos de entrada en MVC (Estándares)

ID DEL PUNTO DE ENTRADA

MOMENTO DE EXECUÇÃO DO PONTO DE ENTRADA

MODELPRE

Antes de la alteración de cualquier campo del modelo.
Parámetros recibidos:

1     O        Objeto del formulario ó del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
Requiere un retorno lógico.
 

MODELPOS

En la validación total del modelo
Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
Requiere un retorno lógico.

FORMPRE

Antes de la alteración de cualquier campo del formulario.

Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
Requiere un retorno lógico.

FORMPOS

En la validación total del formulario.

Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
Requiere un retorno lógico.

FORMLINEPRE

Antes de la alteración de la línea del formulario FWFORMGRID.
Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme al caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.
4     N        Numero de linea del FWFORMGRID
5     C        Acción del FWFORMGRID
6     C        Id del campo

Retorno:
Requiere un retorno lógico.

FORMLINEPOS

En la validación total de la línea del formulario  FWFORMGRID.
Parámetros recibidos:

1     O        Objeto do formulário ou do modelo, conforme o caso
2     C        ID do local de execução do ponto de entrada
3     C        ID do formulário
4     N        Número da Linha da FWFORMGRID

Retorno:
Requiere un retorno lógico.

MODELCOMMITTTS

Após a gravação total do modelo e dentro da transação.

Parâmetros Recebidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
No espera retorno.

MODELCOMMITNTTS

Después de la grabación total del modelo y dentro de la transacción.

Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
No espera retorno

FORMCOMMITTTSPRE

Antes da gravação da tabela do formulário.

Parâmetros Recebidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.
4     L        Si es .T. indica nuevo registro (inclusión) si es .F. registro ya existente (Alteración/ Exclusión)

Retorno:
No espera retorno.

FORMCOMMITTTSPOS

Después de la grabación de la tabla del formulario.

Parâmetros Recebidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.
4     L        Si es .T. indica nuevo registro (inclusión) si es .F. registro ya existente (Alteración/ Exclusión)

Retorno:
No espera retorno.

MODELCANCEL

El botón de cancelar.

Parámetros recibidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
No espera retorno.

BUTTONBAR

Incluir botones en el  ControlBar.

Para crear los botones se debe retornar un array bidimensional con la siguiente estructura de cada ítem:

1     C        Titulo para el botón.
2     C        Nombre del Bitmap para mostrar.
3     B        CodeBlock a ser ejecutado.
4     C        ToolTip (Opcional)

Parâmetros Recebidos:

1     O        Objeto del formulario o del modelo, conforme el caso.
2     C        ID del local de ejecución del punto de entrada.
3     C        ID del formulario.

Retorno:
Array con la estructura pre-definida.

Campos de validaciones para el punto de entrada 

Generales:

México:

Perú:

Sentencia When

General:

Argentina/Colombia

Chile/Perú

México

Ejemplo de punto de entrada:

User Function FINA887() 
Local aParam    := PARAMIXB
Local oModel    := Nil
Local oModelFJT := Nil
Local oModelSEL := Nil
Local cIdPonto  := ""
Local cIdModel  := ""
Local nLineas   := 0
Local nX        := 0
Local lRet      := .T.


    If aParam <> NIL 
        oModel      := aParam[1]
        oModelFJT   := oModel:GetModel("FJT_MASTER") //Datos del encabezado
        oModelSEL   := oModel:GetModel("SEL_DETAIL") //Datos correspondientes a los registros de la tabla SEL
        cIdPonto    := aParam[2] 
        cIdModel    := aParam[3]

        If cIdPonto == 'MODELPOS'
            If Len(AllTrim(oModelFJT:GetValue("FJT_RECIBO"))) < 12
                Help( ,, 'Help',, 'Tamaño del número de recibo', 1, 0 ) 
                lRet      := .F.
            EndIf
            
            nLineas := oModelSEL:Length()

            For nX := 1 To nLineas
                If Empty(oModelSEL:GetValue("EL_NUMERO",nX))
                    Help( ,, 'Help',, 'Número no informado', 1, 0 ) 
                    lRet      := .F.
                EndIf
            Next nX
        ElseIf cIdPonto == 'MODELCOMMITTTS' 
            //'Llamada después de la grabación total del modelo y dentro de la transacción (MODELCOMMITTTS).'
        ElseIf cIdPonto == 'MODELCOMMITNTTS' 
            //'Llamada después de la grabación total del modelo y fuera de la transacción (MODELCOMMITNTTS).' 
        ElseIf cIdPonto == 'FORMCOMMITTTSPOS' 
            //'Llamada después de la grabación de la tabla del formulario (FORMCOMMITTTSPOS).
        EndIf
    EndIf

Return lRet