Duda
¿Como detonar el proceso de cancelación de una Factura o Nota de Crédito por punto de entrada?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Libros Fiscales (SIGAFIS) - Versión 11.80
Solución
Para detonar el proceso de cancelación de una Factura puede ser utilizado el punto de entrada LOCXPE27, para el caso de las Notas de Crédito se emplea el punto de entrada LOCXPE29. Por ejemplo:
#Include 'Protheus.ch'
User Function LOCXPE27()
Local aArea := GetArea()
Local lRet := .T.
Local lContinua := .T.
//Verificar si la factura contiene un timbre fiscal
If !Empty(SF2->F2_TIMBRE)
msginfo("Punto de entrada LOCXPE27 : Atención : la Factura contiene Timbre y será enviada a validación con el PAC para reportarla como cancelada con el SAT.")
lRet := U_CFDFAT02() //Función para realizar la cancelación de la factura
If !lRet
alert("Ocurrio un error con el PAC. La Factura no será cancelada.")
lContinua := .F.
Else
lContinua := .T.
EndIf
Else
msginfo("Atención: la Factura NO contiene Timbre y será cancelada sólo en el sistema.")
Endif
RestArea(aArea)
Return lContinua
#Include 'Protheus.ch'
User Function LOCXPE29()
Local aArea := GetArea()
Local cFunName := FUNNAME()
//Verificar si la factura contiene un timbre fiscal
If !Empty(SF1->F1_TIMBRE) .and. OAPP:CMODNAME == "SIGAFAT" .And. cFunName $ ("MATA467N|MATA468N|MATA465N")
msginfo("Punto de entrada LOCXPE29 : Atención: la Nota de Crédito contiene Timbre y será enviada a validación con el PAC para reportarla como cancelada con el SAT.")
lret := U_CFDFAT02() //Función para realizar la cancelación de la Nota de crédito
If !lRet
alert("Ocurrio un error con el PAC. La Nota de Crédito no será cancelada.")
lContinua := .F.
Else
lContinua := .T.
EndIf
//alert(lContinua)
Elseif Empty(SF1->F1_TIMBRE) .and. OAPP:CMODNAME == "SIGAFAT" .And. cFunName $ ("MATA467N|MATA468N|MATA465N")
msginfo("Atención: la Nota de Crédito NO contiene Timbre y será cancelada sólo en el sistema.")
Endif
RestArea(aArea)
Return lContinua
0 Comentarios