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).
Se creó el punto de entrada F095ALTSEF que permite grabar información adicional en la tabla de registro de cheques (SEF)
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.
SEF - registro de cheques
Versión: 12.1.17