Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

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

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Serviços e

Juridico

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.

0

 

 

7

Aviso
titleNova versão

Acesse a nova versão da documentação clicando aqui.

Descrição

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

 


Rotina Automática

 


Bloco de código
languagegroovy
themeDJango
titleExemplo 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}}
}Begin Transaction


//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


Return



Bloco de código
languagegroovy
themeDJango
titleExemplo de Cancelamento
da
de Baixa:
 
#INCLUDE "Protheus.
CH
ch"



User
Function MyAltAtfa012Local aArea
 Function MyATF036()

Local aArea  := GetArea()



Local
nQtd
 cBase  :=
1
Local dAquisic := dDataBase
Local dIndDepr := RetDinDepr(dDataBase)
Local nQtd := 2
Local nValor := 1000
Local nTaxa := 10
Local nTamBase := TamSX3("N3_CBASE")[1]
Local nTamChapa := TamSX3("N3_CBASE")[1]
Local cGrupo := "0001"
Local aParam := {}

 

Local aCab := {}
Local aItens := {}

 

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

 

SN1->(DbSetOrder(1)) //N1_FILIAL+N1_CBASE+N1_ITEM
If SN1->(DbSeek(xFilial("SN1")+"0000000000"+"0001"))

 

aCab := {}
AAdd(aCab,{"N1_CBASE" , SN1->N1_CBASE ,NIL})
AAdd(aCab,{"N1_ITEM" , SN1->N1_ITEM ,NIL})
AAdd(aCab,{"N1_AQUISIC", SN1->N1_AQUISIC ,NIL})
AAdd(aCab,{"N1_DESCRIC", "TESTE MYAATF012 2" ,NIL})
AAdd(aCab,{"N1_QUANTD" , SN1->N1_QUANTD ,NIL})
AAdd(aCab,{"N1_CHAPA" , SN1->N1_CHAPA ,NIL})
AAdd(aCab,{"N1_PATRIM" , SN1->N1_PATRIM ,NIL})
AAdd(aCab,{"N1_GRUPO" , SN1->N1_GRUPO ,NIL})
aItens := {}
//-- Preenche itens
SN3->(DbSetOrder(1))//N3_FILIAL+N3_CBASE+N3_ITEM+N3_TIPO+N3_BAIXA+N3_SEQ
If SN3->(DbSeek(xFilial("SN3")+"0000000000"+"0001"+"01"+"0"+"001"))
AAdd(aItens,{;
{"N3_CBASE" , SN3->N3_CBASE ,NIL},;
{"N3_ITEM" , SN3->N3_ITEM ,NIL},;
{"N3_TIPO" , SN3->N3_TIPO ,NIL},;
{"N3_BAIXA" , SN3->N3_BAIXA ,NIL},;
{"N3_HISTOR" , "TESTE MYAATF012 2" ,NIL},;
{"N3_CCONTAB" , SN3->N3_CCONTAB ,NIL},;
{"N3_CUSTBEM" , SN3->N3_CUSTBEM ,NIL},;
{"N3_CDEPREC" , SN3->N3_CDEPREC ,NIL},;
{"N3_CDESP" , SN3->N3_CDESP ,NIL},;
{"N3_CCORREC" , SN3->N3_CCORREC ,NIL},;
{"N3_CCUSTO" , SN3->N3_CCUSTO ,NIL},;
{"N3_DINDEPR" , SN3->N3_DINDEPR ,NIL},;
{"N3_VORIG1" , SN3->N3_VORIG1 ,NIL},;
{"N3_TXDEPR1" , SN3->N3_TXDEPR1 ,NIL},;
{"N3_VORIG2" , SN3->N3_VORIG2 ,NIL},;
{"N3_TXDEPR2" , SN3->N3_TXDEPR2 ,NIL},;
{"N3_VORIG3" , SN3->N3_VORIG3 ,NIL},;
{"N3_TXDEPR3" , SN3->N3_TXDEPR3 ,NIL},;
{"N3_VORIG4" , SN3->N3_VORIG4 ,NIL},;
{"N3_TXDEPR4" , SN3->N3_TXDEPR4 ,NIL},;
{"N3_VORIG5" , SN3->N3_VORIG5 ,NIL},;

{"N3_SEQ" , SN3->N3_SEQ ,NIL},;

{"N3_TXDEPR5" , SN3->N3_TXDEPR5 ,NIL}})
EndIf
Begin Transaction
MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,aItens,4,aParam)
If lMsErroAuto
MostraErro()
DisarmTransaction()
Endif
End Transaction
EndIf
 "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

RestArea(aArea)

Return 

 Obs.: Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ ( Conforme exemplo acima )

.