Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.



Área de tabela de conteúdos

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização

    ...

      1. Inclusão
      2. Múltiplas Inclusões

    ...

      1. Alteração
      2. Exclusão
    1. Tabelas

    ...

    1. utilizada

    01. VISÃO GERAL


    Exemplos de execução via rotina automática 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.

    ...

    Informações
    titleObservação


    Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ.

    ...



    Inclusão:

    Bloco de código
    languagepy
    themeMidnight
    titleInclusão
    linenumberstrue
    collapsetrue
    #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
    languagepy
    themeMidnight
    titleMúltiplas inclusões
    linenumberstrue
    collapsetrue
    #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
    languagepy
    themeMidnight
    titleAlteração
    linenumberstrue
    collapsetrue
    #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_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
    
    	RestArea(aArea)
    Return




    Exclusão:

    Bloco de código
    languagepy
    themeMidnight
    titleExclusão
    linenumberstrue
    collapsetrue
    #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 



    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

    ...