Histórico da Página
Propriedades de página |
---|
CONTEÚDO
|
...
- Outras Ações / Ações relacionadas
...
- Principais Campos e Parâmetros
|
...
01. VISÃO GERAL
Exemplo Exemplos de execução via rotina automática no na rotina de cadastro de ativos(ATFA012), mostrando exemplos de utilização e tabelas relacionadas.
02. EXEMPLO DE UTILIZAÇÃO
Abaixo mostraremos exemplos de utilização.
Aviso | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Bloco de código | |||||||||||
| |||||||||||
Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ. |
Informações |
---|
Na inclusão, o programa irá considerar as taxas de depreciação informadas no cadastro de grupo de bens, desde que o código do Grupo seja informado na variável cGrupo e os campos de taxas correspondentes não sejam informados no array de itens do ExecAuto da rotina Cadastro de Ativos (ATFA012). |
Inclusão:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "Protheus.CH" #include "rwmake.ch" #include "TOTVS.ch" #include "TBICONN.ch" User Function MyAtfa012 Local aArea := GetArea() Local cBase := "ATFX01"//"0000000000" Local cItem := "0002" Local nQtd := 1 Local cChapa := "AJEDS10"//"00000" Local cPatrim := "N" Local cTipo := "01"//"01" Local cGrupo := "" Local dAquisic //:= dDataBase //:= CTOD("01/06/20")//dDataBase Local dIndDepr //:= RetDinDepr(dDataBase) Local cDescric := "Teste 01" Local cHistor := "TESTE " Local cContab := "11101" Local cCusto := "CDL" Local cSubCon := "000000001" Local cClvlCon := "000000000" Local nValor := 1000 Local nTaxa := 10 Local nTamBase //:= TamSX3("N3_CBASE")[1] Local nTamChapa //:= TamSX3("N3_CBASE")[1] Local aParam := {} Local aCab := {} Local aItens := {} Private lMsErroAuto := .F. Private lMsHelpAuto := .T. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "ATF" TABLES "SN1","SN3" dAquisic := dDataBase //:= CTOD("01/06/20")//dDataBase dIndDepr := RetDinDepr(dDataBase) DBSelectArea(aArea) nTamBase := TamSX3("N3_CBASE")[1] nTamChapa := TamSX3("N3_CBASE")[1] aCab := {} AAdd(aCab,{"N1_CBASE" , cBase ,NIL}) AAdd(aCab,{"N1_ITEM" , cItem ,NIL}) AAdd(aCab,{"N1_AQUISIC", dDataBase ,NIL}) AAdd(aCab,{"N1_DESCRIC", cDescric ,NIL}) AAdd(aCab,{"N1_QUANTD" , nQtd ,NIL}) AAdd(aCab,{"N1_CHAPA" , cChapa ,NIL}) AAdd(aCab,{"N1_PATRIM" , cPatrim ,NIL}) AAdd(aCab,{"N1_GRUPO" , cGrupo ,NIL}) //Coloque os campos desejados aqui aItens := {} //-- Preenche itens AAdd(aItens,{; {"N3_CBASE" , cBase ,NIL},; {"N3_ITEM" , cItem ,NIL},; {"N3_TIPO" , cTipo ,NIL},; {"N3_BAIXA" , "0" ,NIL},; {"N3_HISTOR" , cHistor ,NIL},; {"N3_CCONTAB" , cContab ,NIL},; {"N3_CUSTBEM" , cCusto ,NIL},; {"N3_CDEPREC" , cContab ,NIL},; {"N3_CDESP" , cContab ,NIL},; {"N3_CCORREC" , cContab ,NIL},; {"N3_CCUSTO" , cCusto ,NIL},; {"N3_DINDEPR" , dIndDepr ,NIL},; {"N3_VORIG1" , nValor ,NIL},; {"N3_TXDEPR1" , nTaxa ,NIL},; {"N3_VORIG2" , nValor ,NIL},; {"N3_TXDEPR2" , nTaxa ,NIL},; {"N3_VORIG3" , nValor ,NIL},; {"N3_TXDEPR3" , nTaxa ,NIL},; {"N3_VORIG4" , nValor ,NIL},; {"N3_TXDEPR4" , nTaxa ,NIL},; {"N3_VORIG5" , nValor ,NIL},; {"N3_SUBCCON" , cSubCon ,NIL},; {"N3_CLVLCON" , cClvlCon ,NIL},; {"N3_TXDEPR5" , nTaxa ,NIL}; }) //Coloque os campos desejados aqui Begin Transaction MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,aItens,3,aParam) If lMsErroAuto MostraErro() DisarmTransaction() Endif End Transaction RestArea(aArea) RESET ENVIRONMENT Return |
Múltiplas Inclusões:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include "rwmake.ch" #include "TOTVS.ch" #include "TBICONN.ch" User Function MyA012 Local aArea Local cBase, cItem ,cGrupo, cChapa , cDescric:= " " Local cTipo := "13" Local cPatrim := "N" Local dIndDepr Local cHistor := "TESTE EXEC" Local cContab := "PLANODECONTA00000000" Local cCusto := "CENTR0001" Local cSubCon :="000000001" Local cClvlCon:="000000000" Local nQtd := 1 Local nValor := 10 Local nTaxa := 1 Local nTaxa2:= 1 Local nX Local aParam := {} Local aCab := {} Local aItens := {} Private lMsErroAuto := .F. Private lMsHelpAuto := .T. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "ATF" TABLES "SN1","SN3" /*lançamento para inclusao de mais Ativos ----------------------------------------------*/ For nX :=1 To 2//Quantos registros serão incluídos aArea := GetArea() cBase :=PadR("AG"+cValToChar(nX),TamSX3("A3_COD")[1]) cItem :=PadR("AG"+cValToChar(nX),TamSX3("N1_ITEM")[1],"") cChapa :=PadR("AG"+cValToChar(nX),TamSX3("N1_CHAPA")[1]) cDescric:=PadR("EXECAUT : "+ cValToChar(nX), TamSX3("N1_CHAPA")[1]) dIndDepr := RetDinDepr(dDataBase) aCab := {} AAdd(aCab,{"N1_CBASE" , cBase ,NIL}) AAdd(aCab,{"N1_ITEM" , cItem ,NIL}) AAdd(aCab,{"N1_AQUISIC" , dDataBase ,NIL}) AAdd(aCab,{"N1_DESCRIC" , cDescric ,NIL}) AAdd(aCab,{"N1_QUANTD" , nQtd ,NIL}) AAdd(aCab,{"N1_CHAPA" , cChapa ,NIL}) AAdd(aCab,{"N1_PATRIM" , cPatrim ,NIL}) AAdd(aCab,{"N1_GRUPO" , cGrupo ,NIL}) AAdd(aCab,{"N1_MARGEM" ,"000000" ,NIL}) //adicione aqui os campos desejados aItens := {} //-- Preenche item 1 AAdd(aItens,{; {"N3_CBASE" , cBase ,NIL},; {"N3_ITEM" , cItem ,NIL},; {"N3_TIPO" , cTipo ,NIL},; {"N3_BAIXA" , "0" ,NIL},; {"N3_HISTOR" , cHistor ,NIL},; {"N3_CCONTAB" , cContab ,NIL},; {"N3_CUSTBEM" , cCusto ,NIL},; {"N3_CDEPREC" , cContab ,NIL},; {"N3_CDESP" , cContab ,NIL},; {"N3_CCORREC" , cContab ,NIL},; {"N3_CCUSTO" , cCusto ,NIL},; {"N3_DINDEPR" , dIndDepr ,NIL},; {"N3_VORIG1" , nValor ,NIL},; {"N3_TXDEPR1" , nTaxa ,NIL},; {"N3_VORIG2" , nValor ,NIL},; {"N3_TXDEPR2" , nTaxa ,NIL},; {"N3_VORIG3" , nValor ,NIL},; {"N3_TXDEPR3" , nTaxa ,NIL},; {"N3_VORIG4" , nValor ,NIL},; {"N3_TXDEPR4" , nTaxa ,NIL},; {"N3_VORIG5" , nValor ,NIL},; {"N3_TXDEPR5" , nTaxa ,NIL},; {"N3_VRDACM1" , nTaxa2 ,NIL},; {"N3_SUBCCON" , cSubCon ,NIL},; {"N3_SEQ" , SN3->N3_SEQ ,NIL},; {"N3_CLVLCON" , cClvlCon ,NIL}; }) //adicione acima os campos desejados //Controle de transacao Begin Transaction conOut('Inicio da rotina Automatica '+ Time()) MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,aItens,3,aParam) conOut('FIM' +Time()) If lMsErroAuto MostraErro() DisarmTransaction() else ConfirmSx8() conOut('INCLUIDO ATIVO N3_CBASE: '+ cBase + ", N3_ITEM : "+cItem+ ", N3_CUSTBEM : "+cCusto+ ", N3_SUBCCON : "+cSubCon+ ", N3_CLVLCON : "+cClvlCon) ENDIF RestArea(aArea) End Transaction //Modificando campos para segunda execução cCusto :="CENTR0002" cSubCon :="000000002" cClvlCon:="000000002" Next nX RESET ENVIRONMENT Return |
Alteração:
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
| Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ ( Conforme exemplo acima ). ||||||||||||
Bloco de código | ||||||||||||
| ||||||||||||
#INCLUDE "Protheus.CH" User Function AltAtfa012() Local aArea := GetArea() Local nQtd := 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_SEQTXDEPR5" , SN3->N3_SEQTXDEPR5 ,NIL},;}) {"N3_TXDEPR5" , SN3->N3_TXDEPR5 ,NIL}}) EndIfEndIf Begin Transaction MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,aItens,4,aParam) If lMsErroAuto MostraErro() DisarmTransaction() Endif End Transaction EndIf RestArea(aArea) Return |
Exclusão:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "Protheus.CH" User Function Exc012 Local aArea := GetArea() Local nQtd := 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" ,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}) EndIf Begin Transaction MSExecAuto({|x,y,z| Atfa012(x,y,z)},aCab,Nil,5,aParam) If lMsErroAuto MostraErro() DisarmTransaction() Endif End Transaction RestArea(aArea) Return |
03. TELA XXXXX
Outras Ações / Ações relacionadas
...
04. TELA XXXXX
Principais Campos e Parâmetros
...
...
...
05. TABELAS UTILIZADAS
- SN3 - Saldos e Valores
- SN1 - Ativo Imobilizado
- SN4 - Movimentações do Ativo Fixo
- SN5 - Arquivos de Saldos
- SN8 - Inventário
- CT1 - Plano de Contas
- CTT - Centro de Custo
- CTD - Item Contábil
- CTH - Classes de Valores
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas