Tiempo aproximado de lectura 00:05:00 min
Duda
¿Cómo se configura el Execauto de la rutina ATFA012 para inclusión múltiple?
Entorno
Cross Segmentos - TOTVS Backoffice (Línea Protheus) - MI - Activo Fijo (SIGAATF) - A partir de la versión 12.1.2210
Solución
Ejemplo de Execauto ATFA012 - Inclusión de Múltiples Activos
Inclusión Múltiple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #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 ENVIRONMENTReturn |
0 Comentarios