Árvore de páginas

Função: Rotina Automática ATFA036 - Baixa de Ativos Imobilizados

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Serviços e Jurídico.

Módulo:

Ativo Fixo (SIGAATF)

Rotina:

Rotina

Nome Técnico

Baixas.

ATFA036.

Cadastros Iniciais:

SN1 e SN3.

Chamado

TUFUWY

País(es):

Todos.

Banco(s) de Dados:

Todos.

Tabelas utilizadas:

FN6, FN7.

Sistema(s) operacional(is):

Todos.

Versões/Release:

12.1.7



Descrição

Exemplo de rotina automática baixa de Ativos (ATFA036).


Rotina Automática


Exemplo de Baixa:
#INCLUDE "Protheus.ch"

User Function MyATF036()
Local aArea := GetArea()
Local cBase := "0000000005"
Local cItem := "0001"
Local cTipo := "01"
Local cTpSaldo := "1"
Local cBaixa := "0"
Local nQtdAtu := 1
Local nQtdBaixa := 1
Local cMotivo := "08"
Local cMetDepr := GetMV('MV_ATFDPBX')
Local cNumNF := ""
Local cSerieNF := ""
Local nValNF := 0

Local aCab := {}
Local aAtivo := {}
Local aParam := {}

Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.

aCab := { {"FN6_FILIAL" ,XFilial("FN6") ,NIL},;
{"FN6_CBASE" ,cBase ,NIL},;
{"FN6_CITEM" ,cItem ,NIL},;
{"FN6_MOTIVO" ,cMotivo ,NIL},;
{"FN6_BAIXA" ,100 ,NIL},;
{"FN6_QTDBX" ,nQtdBaixa ,NIL},;
{"FN6_DTBAIX" ,dDatabase ,NIL},;
{"FN6_DEPREC" ,cMetDepr ,NIL}}

aAtivo := {{"N3_FILIAL" ,XFilial("SN3") ,NIL},;
{"N3_CBASE" ,cBase ,NIL},;
{"N3_ITEM" ,cItem ,NIL},;
{"N3_TIPO" ,cTipo ,NIL},;
{"N3_BAIXA" ,cBaixa ,NIL},;
{"N3_TPSALDO" ,cTpSaldo ,NIL}}

//Array contendo os parametros do F12
aAdd( aParam, {"MV_PAR01", 1} ) //Pergunta 01 - Mostra Lanc. Contab? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR02", 2} ) //Pergunta 02 - Aglutina Lancamento Contabil ? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR03", 1} ) //Pergunta 03 - Contabaliza On-Line? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR04", 2} ) //Pergunta 04 - Visualização ? 2 = Tipos de Ativos   // deve se usar obrigatoriamente o número 2 

Begin Transaction
MsExecAuto({|a,b,c,d,e,f|ATFA036(a,b,c,d,e,f)},aCab,aAtivo,3,,.T./*lBaixaTodos*/,aParam)
If lMsErroAuto
MostraErro()
DisarmTransaction()
EndIf
End Transaction

RestArea(aArea)

Return



Exemplo de Cancelamento de Baixa:
 
#INCLUDE "Protheus.ch"


User Function MyATF036()

Local aArea  := GetArea()

Local cBase  := "0000000005"

Local cItem  := "0001"

Local cTipo  := "01"

Local cTpSaldo := "1"

Local cBaixa  := "1"

Local cSeq   := "001"

Local cSeqReav := ""

Local cFilOri  := "D MG 01"

Local cMotivo  := "08"

Local cMetDepr := GetMV('MV_ATFDPBX')

Local aCab   := {}

Local aAtivo  := {}

Local aParam  := {}

 
Private lMsErroAuto := .F.

Private lMsHelpAuto := .T.
 
aCab := { {"FN6_FILIAL" ,XFilial("FN6") ,NIL},;   
{"FN6_CBASE" ,cBase    ,NIL},;   
{"FN6_CITEM" ,cItem    ,NIL},;   
{"FN6_MOTIVO" ,cMotivo   ,NIL},;   
{"FN6_DEPREC" ,cMetDepr   ,NIL}}
 

aAtivo := {{"N3_FILIAL" ,XFilial("SN3") ,NIL},;   
{"N3_CBASE" ,cBase    ,NIL},;    
{"N3_ITEM"  ,cItem    ,NIL},;    
{"N3_TIPO"  ,cTipo    ,NIL},;    
{"N3_BAIXA" ,cBaixa   ,NIL},;    
{"N3_TPSALDO" ,cTpSaldo   ,NIL},;    
{"N3_SEQ"  ,cSeq    ,NIL},;    
{"N3_SEQREAV" ,cSeqReav   ,NIL},;    
{"N3_FILORIG" ,cFilOri   ,NIL}}
 

//Array contendo os parametros do F12
aAdd( aParam, {"MV_PAR01", 1} ) //Pergunta 01 - Mostra Lanc. Contab? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR02", 2} ) //Pergunta 02 - Aglutina Lancamento Contabil ? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR03", 1} ) //Pergunta 03 - Contabaliza On-Line? 1 = Sim ; 2 = Não
aAdd( aParam, {"MV_PAR04", 1} ) //Pergunta 04 - Visualização ? 1 = Baixas de Ativo  // deve se usar obrigatoriamente o número 1

Begin Transaction  

MsExecAuto({|a,b,c,d,e,f|ATFA036(a,b,c,d,e,f)},aCab,aAtivo,5,,.T./*lBaixaTodos*/,aParam)  

If lMsErroAuto  

	MostraErro()   

	DisarmTransaction()  

EndIf

End Transaction

RestArea(aArea)

Return

 

Importante

Para utilização do 5º parâmetro lBaixaTodos como .F. é necessário informar no cabeçalho (aCab) o campo FN6_PERCBX (% baixado) devido validações.