01. VISIÓN GENERAL

Esta rutina permite la inclusión, modificación o borrado de cualquier Excepción fiscal de forma automática.

02. EJEMPLO DE UTILIZACIÓN

El ejemplo muestra la inclusión, modificación y borrado de una Excepción fiscal por medio de la utilización de la rutina automática.


La documentación también se aplica al Protheus 11 y 12, sin embargo, debe observar que la versión con MVC está disponible a partir de la versión 12.1.17 de octubre de 2017 del Protheus.

0201. INCLUSIÓN

MATA540 - Rutina automática de registro de excepción fiscal - Inclusión
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'
 
//------------------------------------------------------------------------
/*
EJEMPLO DE INCLUSIÓN
*/
//------------------------------------------------------------------------
User Function m540Inc()
Local oModel := Nil
Local nSeq := 1
Local cSequen := 0
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "XIFIS26"
 
cSequen := StrZero(nSeq,TamSx3("F7_SEQUEN")[1],0)
 
oModel := FwLoadModel ("MATA540")
oModel:SetOperation(MODEL_OPERATION_INSERT)
oModel:Activate()
oModel:SetValue("SF7MASTER","F7_GRTRIB" ,"050" )
oModel:SetValue("SF7DETAIL","F7_SEQUEN" ,cSequen )
oModel:SetValue("SF7DETAIL","F7_EST" ,"**" )
oModel:SetValue("SF7DETAIL","F7_TIPOCLI","*" )
oModel:SetValue("SF7DETAIL","F7_ALIQINT",12 )
oModel:SetValue("SF7DETAIL","F7_ALIQEXT",12 )
oModel:SetValue("SF7DETAIL","F7_MARGEM" ,12 )
oModel:SetValue("SF7DETAIL","F7_ALIQDST",12 )
oModel:SetValue("SF7DETAIL","F7_GRPCLI" ,"001" )
oModel:SetValue("SF7DETAIL","F7_ISS" ,"N" )
oModel:SetValue("SF7DETAIL","F7_VLR_ICM",12 )
oModel:SetValue("SF7DETAIL","F7_VLR_IPI",12 )
oModel:SetValue("SF7DETAIL","F7_VLR_PIS",0 )
oModel:SetValue("SF7DETAIL","F7_VLR_COF",0 )
oModel:SetValue("SF7DETAIL","F7_VLRICMP",12 )
oModel:SetValue("SF7DETAIL","F7_ALIQIPI",12 )
oModel:SetValue("SF7DETAIL","F7_ALIQPIS",0 )
oModel:SetValue("SF7DETAIL","F7_ALIQCOF",0 )
oModel:SetValue("SF7DETAIL","F7_BASEICM",0 )
oModel:SetValue("SF7DETAIL","F7_BASEIPI",0 )
oModel:SetValue("SF7DETAIL","F7_REDPIS" ,0 )
oModel:SetValue("SF7DETAIL","F7_REDCOF" ,0 )
oModel:SetValue("SF7DETAIL","F7_ICMPAUT","1" )
oModel:SetValue("SF7DETAIL","F7_UFBUSCA","1" )
oModel:SetValue("SF7DETAIL","F7_BSICMST",0 )
oModel:SetValue("SF7DETAIL","F7_PRCUNIC",0 )
oModel:SetValue("SF7DETAIL","F7_DTINCLU",dDataBase )
oModel:SetValue("SF7DETAIL","F7_ORIGEM" ,"0" )
oModel:SetValue("SF7DETAIL","F7_SITTRIB","00" )
 
 
If oModel:VldData()
   oModel:CommitData()
   MsgInfo("¡Registro INCLUIDO!", "Atención")
Else
   VarInfo("",oModel:GetErrorMessage())
EndIf
 
oModel:DeActivate()
oModel:Destroy()
 
oModel := NIL
 
Return Nil

0202. MODIFICACIÓN

MATA540 - Rutina automática de registro de excepción fiscal - Modificación
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'   

//------------------------------------------------------------------------
/*
EJEMPLO DE MODIFICACIÓN
*/
//------------------------------------------------------------------------
 
User Function m540Alt()
Local oModel := Nil
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "XIFIS26"
 
//Posiciona
DbSelectArea("SF7")
SF7->(DbSetOrder(1))
If SF7->(DbSeek(xFilial("SF7") + "050"))
     oModel := FwLoadModel ("MATA540")
     oModel:SetOperation(MODEL_OPERATION_UPDATE)
     oModel:Activate()
     oModel:SetValue("SF7DETAIL","F7_EST","SP")
 
     If oModel:VldData()
         oModel:CommitData()
         MsgInfo("¡Registro MODIFICADO!", "Atención")
     Else
         VarInfo("",oModel:GetErrorMessage())
     EndIf
 
     oModel:DeActivate()
Else
     MsgInfo("¡Registro NO UBICADO!", "Atención")
EndIf
 
Return Nil

0203. BORRADO

MATA540 - Rutina automática de registro de excepción fiscal - Borrado
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'   

//------------------------------------------------------------------------
/*
EJEMPLO DE BORRADO
*/
//------------------------------------------------------------------------
 
User Function m540Exc()
Local oModel := Nil
Private aRotina := {}
 
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "XIFIS26"
//Posiciona
DbSelectArea("SF7")
SF7->(DbSetOrder(1))
If SF7->(DbSeek(xFilial("SF7") + "050"))
    oModel := FwLoadModel ("MATA540")
    oModel:SetOperation(MODEL_OPERATION_DELETE)
    oModel:Activate()
 
    If oModel:VldData()
        oModel:CommitData()
        MsgInfo("¡Registro BORRADO!", "Atención")
    Else
        VarInfo("",oModel:GetErrorMessage())
    EndIf
 
    oModel:DeActivate()
Else
    MsgInfo("¡Registro NO UBICADO!", "Atención")
EndIf
 
Return Nil