Passo a passo: | //DOCUMENTO TIPO NORMAL #Include "Protheus.ch" #Include "RwMake.ch" #Include "TbiConn.ch" User Function EXEC103() Local aCab := {} Local aItem := {} Local aItens := {} Local aItensRat := {} Local aCodRet := {} Local nOpc := 3 Local cNum := "" Local nI := 0 Local nX := 0 Local nReg := 1 Conout("Inicio: " + Time()) Private lMsErroAuto := .F. Private lMsHelpAuto := .T. PREPARE ENVIRONMENT EMPRESA "32" FILIAL "6597" MODULO "COM" cNum := GetSxeNum("SF1","F1_DOC") SF1->(dbSetOrder(1)) While SF1->(dbSeek(xFilial("SF1")+cNum)) ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo //Cabeçalho aadd(aCab,{"F1_TIPO" ,"N" ,NIL}) aadd(aCab,{"F1_FORMUL" ,"N" ,NIL}) aadd(aCab,{"F1_DOC" ,cNum ,NIL}) aadd(aCab,{"F1_SERIE" ,"1 " ,NIL}) aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL}) aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL}) aadd(aCab,{"F1_FORNECE" ,"001 " ,NIL}) aadd(aCab,{"F1_LOJA" ,"01" ,NIL}) aadd(aCab,{"F1_ESPECIE" ,"CTE" ,NIL}) aadd(aCab,{"F1_COND" ,"001" ,NIL}) aadd(aCab,{"F1_DESPESA" ,10 ,NIL}) aadd(aCab,{"F1_DESCONT" , 0 ,Nil}) aadd(aCab,{"F1_SEGURO" , 0 ,Nil}) aadd(aCab,{"F1_FRETE" , 0 ,Nil}) aadd(aCab,{"F1_MOEDA" , 1 ,Nil}) aadd(aCab,{"F1_TXMOEDA" , 1 ,Nil}) aadd(aCab,{"F1_STATUS" , "A" ,Nil}) //Itens For nX := 1 To 1 aItem := {} aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL}) aadd(aItem,{"D1_COD" ,PadR("0001",TamSx3("D1_COD")[1]) ,NIL}) aadd(aItem,{"D1_UM" ,"UN" ,NIL}) aadd(aItem,{"D1_LOCAL" ,"01" ,NIL}) aadd(aItem,{"D1_QUANT" ,1 ,NIL}) aadd(aItem,{"D1_VUNIT" ,7508.33 ,NIL}) aadd(aItem,{"D1_TOTAL" ,7508.33 ,NIL}) aadd(aItem,{"D1_TES" ,"001" ,NIL}) aadd(aItem,{"D1_RATEIO" ,"1" ,NIL}) aAdd(aItens,aItem) Next nX //Rateio de Centro de Custo aItem := {} aAdd(aItensRat, Array(2)) aItensRat[Len(aItensRat)][1] := "0001" aItensRat[Len(aItensRat)][2] := {} aAdd(aItem, {"DE_FILIAL" , xFilial("SDE") , Nil}) aAdd(aItem, {"DE_ITEM" , StrZero(1,TamSx3("DE_ITEM")[1]) , Nil}) aAdd(aItem, {"DE_DOC" , cNum , Nil}) aAdd(aItem, {"DE_SERIE" , "1" , Nil}) aAdd(aItem, {"DE_FORNECE" , "001 " , Nil}) aAdd(aItem, {"DE_LOJA" , "01" , Nil}) aAdd(aItem, {"DE_ITEMNF" , "0001" , Nil}) aAdd(aItem, {"DE_PERC" , 100 , Nil}) aAdd(aItem, {"DE_CC" , "01" , Nil}) aAdd(aItensRat[Len(aItensRat)][2], aClone(aItem)) //Array contendo a informação se gera DIRF e os códigos de retenção por imposto aAdd( aCodRet, {01, "0297", 1, "..."} ) aAdd( aCodRet, {02, "0297", 1, "IRR"} ) aAdd( aCodRet, {03, "5979", 1, "PIS"} ) aAdd( aCodRet, {04, "5960", 1, "COF"} ) aAdd( aCodRet, {05, "5987", 1, "CSL"} ) //3-Inclusão / 4-Classificação / 5-Exclusão MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,,,,,a,,,b)},aCab,aItens,nOpc,aItensRat,aCodRet) If !lMsErroAuto ConOut(" Incluido NF: " + cNum) Else MostraErro() ConOut("Erro na inclusao!") EndIf ConOut("Fim: " + Time()) RESET ENVIRONMENT Return
//DOCUMENTO TIPO COMPLEMENTO #Include "Protheus.ch" #Include "RwMake.ch" #Include "TbiConn.ch" User Function EXEC103() Local aCab := {} Local aItem := {} Local aItens := {} Local nOpc := 3 Local cNum := "" Local nI := 0 Local nX := 0 Conout("Inicio: " + Time()) Private lMsErroAuto := .F. Private lMsHelpAuto := .T. PREPARE ENVIRONMENT EMPRESA "32" FILIAL "6597" MODULO "COM" cNum := GetSxeNum("SF1","F1_DOC") SF1->(dbSetOrder(1)) While SF1->(dbSeek(xFilial("SF1")+cNum)) ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo //Cabeçalho aadd(aCab,{"F1_TIPO" ,"C" ,NIL}) aadd(aCab,{"F1_TPCOMPL" ,"3" ,NIL}) aadd(aCab,{"F1_DOC" ,cNum ,NIL}) aadd(aCab,{"F1_SERIE" ,"1 " ,NIL}) aadd(aCab,{"F1_FORNECE" ,"001 " ,NIL}) aadd(aCab,{"F1_LOJA" ,"01" ,NIL}) aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL}) aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL}) aadd(aCab,{"F1_FORMUL" ,"N" ,NIL}) aadd(aCab,{"F1_ESPECIE" ,"CTE" ,NIL}) aadd(aCab,{"F1_COND" ,"001" ,NIL}) aadd(aCab,{"F1_MODAL" ,"01" ,NIL}) aadd(aCab,{"F1_TPFRETE" ,"C" ,NIL}) aadd(aCab,{"F1_TPCTE" ,"N" ,NIL}) aadd(aCab,{"F1_EST" ,"SP" ,NIL}) aadd(aCab,{"F1_DESCONT" , 0 , Nil}) aadd(aCab,{"F1_SEGURO" , 0 , Nil}) aadd(aCab,{"F1_FRETE" , 0 , Nil}) aadd(aCab,{"F1_MOEDA" , 1 , Nil}) aadd(aCab,{"F1_TXMOEDA" , 1 , Nil}) aadd(aCab,{"F1_STATUS" , "A" , Nil}) //Itens For nX := 1 To 1 aItem := {} aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL}) aadd(aItem,{"D1_COD" ,PadR("0001",TamSx3("D1_COD")[1]) ,NIL}) aadd(aItem,{"D1_UM" ,"UN" ,NIL}) aadd(aItem,{"D1_LOCAL" ,"01" ,NIL}) aadd(aItem,{"D1_VUNIT" ,1000 ,NIL}) aadd(aItem,{"D1_TOTAL" ,1000 ,NIL}) aadd(aItem,{"D1_TES" ,"001" ,NIL}) aadd(aItem,{"D1_NFORI" ,"000009015" ,NIL}) aadd(aItem,{"D1_SERIORI" ,"1 " ,NIL}) aadd(aItem,{"D1_ITEMORI" ,"0001" ,NIL}) aAdd(aItens,aItem) Next nX //3-Inclusão / 4-Classificação / 5-Exclusão MSExecAuto({|x,y,z| MATA103(x,y,z)},aCab,aItens,nOpc) If !lMsErroAuto ConOut(" Incluido NF: " + cNum) Else MostraErro() ConOut("Erro na inclusao!") EndIf ConOut("Fim: " + Time()) RESET ENVIRONMENT Return |