Histórico da Página
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: |
| ||||
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
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#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 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
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
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#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 |
Exemplo de Cancelamento da 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; 2 = Tipos de Ativos; 3 = Ativos
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