ÍNDICE

  1. Visión general
  2. Ejemplo de utilización
  3. Tablas

01. VISIÓN GENERAL

Se solicitó un punto de entrada para grabar información adicional en la tabla de registro de cheques (SEF) al utilizar la opción "Sustituir" en la rutina de cheques emitidos (FINA095).  

02. EJEMPLO DE UTILIZACIÓN

Se creó el punto de entrada F095ALTSEF que permite grabar información adicional en la tabla de registro de cheques (SEF) 


Punto de Entrada

Descripción:

F095ALTSEF

Ubicación:

Financiero

Eventos:

Cheques Emitidos

Programa Fuente:

FINA095.PRW

Función:

A095Anular() - Función para Anular cheques

Retorno:

Ninguno

 


Configuraciones previas:

Acceda al TOTVS | Developer Studio - TDS
Cree un código fuente con las reglas necesarias para la empresa.
Compile el referido código fuente.
A continuación se muestra un ejemplo para la utilización:

#Include 'Protheus.ch'

User Function F095ALTSEF()

Local cChAntg := PARAMIXB[1] // Datos del cheque que se sustituirá
Local cChNovo := PARAMIXB[2] // Datos del cheque que se generará 
Local aAreaSEF:= SEF->(GetArea())

DbSelectArea("SEF")
SEF->(DbSetOrder(4))
IF SEF->(DbSeek(cChAntg) )

RecLock("SEF")
SEF->EF_NUMNOTA := "" //CARACTER
SEF->EF_VALORBX := 0 // NUMERICO
SEF->EF_DATAPAG := CTOD("//") // DATA
SEF->EF_TERCEIR := .F. // LOGICO
SEF→(MsUnlock())

EndIF

SEF->(DbCloseArea())

DbSelectArea("SEF")
SEF->(DbSetOrder(4))
IF SEF->(DbSeek(cChNovo))

RecLock("SEF")
SEF->EF_NUMNOTA := "10052019001" //CARACTER
SEF->EF_VALORBX := 199.59 // NUMERICO
SEF->EF_DATAPAG := CTOD("10/05/2019") // DATA
SEF->EF_TERCEIR := .T. // LOGICO
SEF→(MsUnlock())

EndIF


SEF->(DbCloseArea())

SEF->(RestArea(aAreaSEF))

Return 

Flujo de prueba:
Acceda al Módulo Financiero.
Acceda a la rutina de cheques emitidos (Actualizaciones|Pago electrónico|Cheques emitidos)
Tener cheques con el estatus "no utilizado" y otra situación que permita sustituir el cheque, por ejemplo "pago vinculado"

Acceda al APSDU
Abra la tabla de registro de cheques (SEF) y filtre los cheques que se utilizarán en el proceso(El que será sustituido y su sustituto).
Observe el contenido de los campos tratados en el punto de entrada. En este ejemplo los campos son EF_NUMNOTA, EF_VALORBX, EF_DATAPAG, EF_TERCEIR.
Acceda al Módulo Financiero y seleccione el cheque que se sustituirá, es decir con el estatus "pago vinculado" y utilice la opción de sustituir.

Complete los campos necesarios, utilizando la opción para dejar el antiguo cheque a disposición para un movimiento futuro

Observe que se modificó el estatus de cada cheque.

Acceda al APSDU y observe que se modificó la información estándar entre os cheques y que los campos utilizados en el punto de entrada también se actualizaron para el nuevo cheque generado.
Acceda al Financiero y realice nuevamente el procedimiento, pero en este seleccione el cheque generado en los pasos anteriores de este proceso.

Complete los datos necesarios y confirme el proceso.

Observe que se modificaron los estatus entre los cheques.

Regrese al APSDU y observe que los campos tratados en el punto de entrada del cheque sustituido se borraron y la información se grabó en el nuevo cheque generado.
Observación:
Todos los procedimientos deben realizarse primeramente en una base de homologación.

03. TABLAS

SEF - registro de cheques


Versión: 12.1.17