Árvore de páginas


01. VISÃO GERAL

Esta rotina possibilita a inclusão, alteração ou exclusão de qualquer Exceção Fiscal de forma automática.

02. EXEMPLO DE UTILIZAÇÃO

O exemplo demostra a inclusão, alteração e exclusão de uma Exceção Fiscal através da utilização da rotina automática.


Documentação também se aplica a Protheus 11 e 12, porém, deve-se atentar que a versão com MVC está disponível a partir da versão 12.1.17 de outubro de 2017 do Protheus.

0201. INCLUSÃO

MATA540 - Rotina Automática de Cadastro de Exceção Fiscal - Inclusão
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'
 
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO
*/
//------------------------------------------------------------------------
User Function m540Inc()
Local oModel := Nil
Local nSeq := 1
Local cSequen := 0
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "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!", "Atenção")
Else
   VarInfo("",oModel:GetErrorMessage())
EndIf
 
oModel:DeActivate()
oModel:Destroy()
 
oModel := NIL
 
Return Nil

0202. ALTERAÇÃO

MATA540 - Rotina Automática de Cadastro de Exceção Fiscal - Alteração
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'   

//------------------------------------------------------------------------
/*
EXEMPLO DE ALTERAÇÃO
*/
//------------------------------------------------------------------------
 
User Function m540Alt()
Local oModel := Nil
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "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 ALTERADO!", "Atenção")
     Else
         VarInfo("",oModel:GetErrorMessage())
     EndIf
 
     oModel:DeActivate()
Else
     MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
EndIf
 
Return Nil

0203. EXCLUSÃO

MATA540 - Rotina Automática de Cadastro de Exceção Fiscal - Exclusão
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE 'Protheus.ch'
#INCLUDE 'FWMVCDef.ch'   

//------------------------------------------------------------------------
/*
EXEMPLO DE EXCLUSÃO
*/
//------------------------------------------------------------------------
 
User Function m540Exc()
Local oModel := Nil
Private aRotina := {}
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "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 EXCLUIDO!", "Atenção")
    Else
        VarInfo("",oModel:GetErrorMessage())
    EndIf
 
    oModel:DeActivate()
Else
    MsgInfo("Registro NAO LOCALIZADO!", "Atenção")
EndIf
 
Return Nil