Paso a paso: | #Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aAutoImp := {}
Local aItensRat := {}
Local aCodRet := {}
Local aParamAux := {}
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" SUCURSAL "6597" MÓDULO "COM" FUNNAME "MATA103"
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})
if(nOpc == 4)//Si fuera clasificación, debe informar la variable LINPOS
aAdd(aItem, {"LINPOS" , "D1_ITEM", StrZero(nX,4)}) //o SD1->D1_ITEM si estuviera seleccionado.
endIf
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 con la información si se genera DIRF y los códigos de retención por impuesto
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"} )
// Ejemplo para manejar la pregunta MTA103
aAdd(aParamAux, {"MV_PAR01", 2}) //-- ¿Muestra Asto. Contable? 1 = Sí, 2 = No
aAdd(aParamAux, {"MV_PAR06", 1}) //-- ¿Contabilidad online? 1 = Sí, 2 = No
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,k,a,b| MATA103(x,y,z,,,,k,a,,,b)},aCab,aItens,nOpc,aParamAux,aItensRat,aCodRet)
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Final: " + Time())
RESET ENVIRONMENT
Return |
#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" SUCURSAL "6597" MÓDULO "COM" FUNNAME "MATA103"
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})
//Ítems
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
//Impuestos (Informe la referencia del impuesto, que consta en el valid del campo)
//Para impuestos de encabezado informe: referencia, valor
aAutoImp := { {"NF_FRETE" , 10},;
{"NF_VALIPI", 15},;
{"NF_VALICM",7}}
//Para impuestos de ítems informe: referencia, valor, número de la línea
aAdd(aAutoImp, {'IT_BASEICM', 100, 1}) //Base
aAdd(aAutoImp, {'IT_ALIQICM',12, 1}) //Porcentaje impuesto
aAdd(aAutoImp, {'IT_VALICM', 12, 1}) //Valor impuesto
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,,a,,,,,)},aCabec,aItens,3,aAutoImp)
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Fim: " + Time())
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aAutoImp := {}
Local aItensRat := {}
Local aCodRet := {}
Local aParamAux := {}
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" SUCURSAL "6597" MÓDULO "COM" FUNNAME "MATA103"
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
//Encabezado
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})
//Ítems
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(aItens,aItem)
aadd(aItens[Len(aItens)], {'D1_PEDIDO ', '000034' ,}) // Número del pedido de compras
aadd(aItens[Len(aItens)], {'D1_ITEMPC ', '0001' ,}) // Ítem del pedido de compras
if(nOpc == 4)//Si fuera clasificación, debe informar la variable LINPOS
aAdd(aItem, {"LINPOS" , "D1_ITEM", StrZero(nX,4)}) //o SD1->D1_ITEM si estuviera seleccionado.
endIf
Next nX
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,k,a,b| MATA103(x,y,z,,,,k,a,,,b)},aCab,aItens,nOpc,aParamAux,aItensRat,aCodRet)
If !lMsErroAuto
ConOut(" Incluida Fact: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Final: " + Time())
RESET ENVIRONMENT
Return |
#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" SUCURSAL "6597" MÓDULO "COM" FUNNAME "MATA103"
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
//Encabezado
aadd(aCab,{"F1_TIPO" ,"D" ,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" ,"NFE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,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})
//Ítems
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_LOTECTL" ,"123456" ,NIL}) //Si el producto tuviera lote, informe el número.
aadd(aItem,{"D1_QUANT" ,1 ,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-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z| MATA103(x,y,z)},aCab,aItens,nOpc)
If !lMsErroAuto
ConOut(" Incluida Fact: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Final: " + Time())
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXECSDH()
Local aDadosVin := {}
Local cDocOri := "000130 "
Local cSerOri := "1 "
Local cForn := "001 "
Local cLoja := "01"
Local cProduto := "0001"
Local cSeqOri := ""
Local cNumSeq := ""
Local cDocDef := "200001 "
Local cSerDef := "1 "
Local cDHOper := "1"
Local cCodCli := ""
Local cLojaCli := ""
Local cTES := "001"
Local nQuantidad:= 2
Local nOpcX := 2 //2-Incluye / 3-Borrad
Local nRecno := 0
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "01" SUCURSAL "1001" MÓDULO "COM" FUNNAME "MATA103"
cDocOri := Padr(cDocOri,TamSX3("DH_DOC")[1])
cSerOri := Padr(cSerOri,TamSX3("DH_SERIE")[1])
cForn := Padr(cForn,TamSX3("DH_FORNECE")[1])
cLoja := Padr(cLoja,TamSX3("DH_LOJAFOR")[1])
cProduto := Padr(cProduto,TamSX3("DH_PRODUTO")[1])
cSeqOri := Padr("0001",TamSX3("DH_ITEM")[1])
cDocDef := Padr(cDocDef,TamSX3("DH_DOC")[1])
cSerDef := Padr(cSerDef,TamSX3("DH_SERIE")[1])
DbSelectArea("SD1")
SD1->(DbSetOrder(1))
If SD1->(DbSeek(xFilial("SD1") + cDocOri + cSerOri + cForn + cLoja + cProduto + cSeqOri))
cNumSeq := SD1->D1_NUMSEQ
If nOpcx == 3 //Borrado
DbSelectArea("SDH")
SDH->(DbSetOrder(1))
If SDH->(DbSeek(xFilial("SDH") + cNumSeq))
nRecno := SDH->(Recno())
Endif
Endif
aAdd(aDadosVin,{'DH_DOC' , cDocDef , Nil})
aAdd(aDadosVin,{'DH_SERIE' , cSerDef , Nil})
aAdd(aDadosVin,{'DH_TES' , cTES , Nil})
aAdd(aDadosVin,{'DH_FORNECE' , Padr(cForn,TamSX3("DH_FORNECE")[1]) , Nil})
aAdd(aDadosVin,{'DH_LOJAFOR' , Padr(cLoja,TamSX3("DH_LOJAFOR")[1]) , Nil})
aAdd(aDadosVin,{'DH_PRODUTO' , Padr(cProduto,TamSX3("DH_PRODUTO")[1]) , Nil})
aAdd(aDadosVin,{'DH_ITEM' , cSeqOri , Nil})
aAdd(aDadosVin,{'DH_IDENTNF' , Padr(cNumSeq,TamSX3("DH_IDENTNF")[1]) , Nil})
aAdd(aDadosVin,{'DH_TPMOV' , Padr('1',TamSX3("DH_TPMOV")[1]) , Nil})
aadd(aDadosVin,{'DH_OPER' , Padr( cDHOper, TamSX3("DH_OPER")[1] ) , Nil})
aAdd(aDadosVin,{'DH_CLIENTE' , cCodCli , Nil})
aAdd(aDadosVin,{'DH_LOJACLI' , cLojaCli , Nil})
aAdd(aDadosVin,{'DH_QUANT' , nQuantidad , Nil})
aAdd(aDadosVin,{'DH_ITEMCOB' , StrZero(1,TamSX3("DH_ITEMCOB")[1]), Nil})
If nOpcx == 3 //Borrado
aAdd(aDadosVin,{'DH_REC_WT' , nRecno, Nil})
Endif
MSExecAuto({|a,b,c,d,e| NfeDocVin(a,b,c,d,e)},,,nOpcx,,aDadosVin)
If lMsErroAuto
MostraErro()
Else
Conout("Incluido vínculo: " + cDocDef)
Endif
Endif
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
#Include "Coverege.ch"
User Function EXECCOB()
Local cDocDef := "200001 "
Local cSerDef := "1 "
Local cForn := "001 "
Local cLoja := "01"
Local cProduto := "0001"
Local nQuantidad:= 2
Local cDocOri := "000130 "
Local cSerOri := "1 "
Local cSeqOri := ""
Local cTpMov := "1"
Local cCodCli := ""
Local cLojCli := ""
Local cDHOper := "1"
Local aCab103 := {}
Local aDadosCob := {}
Local cTes := "001"
Local nOpcX := 3 //3-Incluye / 5-Borra
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "01" SUCURSAL "1001" MÓDULO "COM" FUNNAME "MATA103"
cDocDef := Padr(cDocDef,TamSX3("DH_DOC")[1])
cSerDef := Padr(cSerDef,TamSX3("DH_SERIE")[1])
cForn := Padr(cForn,TamSX3("DH_FORNECE")[1])
cLoja := Padr(cLoja,TamSX3("DH_LOJAFOR")[1])
cProduto := Padr(cProduto,TamSX3("DH_PRODUTO")[1])
cDocOri := Padr(cDocOri,TamSX3("DH_DOC")[1])
cSerOri := Padr(cSerOri,TamSX3("DH_SERIE")[1])
cSeqOri := Padr("0001",TamSX3("DH_ITEM")[1])
cCodCli := Padr(cCodCli,TamSX3("DH_CLIENTE")[1])
cLojCli := Padr(cLojCli,TamSX3("DH_LOJACLI")[1])
cTpMov := Padr('1',TamSX3("DH_TPMOV")[1])
cDHOper := Padr( cDHOper, TamSX3("DH_OPER")[1] )
DbSelectArea("SDH")
SDH->(DbSetOrder(2))
If SDH->(DbSeek(xFilial('SDH')+cTpMov+cSerDef+cDocDef+cSeqOri+cCodCli+cLojCli+cForn+cLoja+cDHOper))
aAdd(aCab103,{"F1_DOC" , cDocDef , Nil})
aAdd(aCab103,{"F1_SERIE" , cSerDef , Nil})
aAdd(aCab103,{"F1_TIPO" , "N" , Nil})
aAdd(aCab103,{"F1_FORNECE", cForn , Nil})
aAdd(aCab103,{"F1_LOJA" , cLoja , Nil})
aAdd(aCab103,{"F1_EMISSAO", dDataBase, Nil})
aAdd(aCab103,{"F1_DTDIGIT", dDataBase, Nil})
aAdd(aCab103,{"F1_FORMUL" , "N" , Nil})
aAdd(aCab103,{"F1_ESPECIE", "NFE" , Nil})
aAdd(aCab103,{"F1_COND" , "001" , Nil})
aAdd(aDadosCob,Array(CB_MAXCOL))
aTail(aDadosCob)[CB_DOC] := cDocOri
aTail(aDadosCob)[CB_SERIE] := cSerOri
aTail(aDadosCob)[CB_SEQ] := cSeqOri
aTail(aDadosCob)[CB_VLRUNIT] := 1000
aTail(aDadosCob)[CB_TES] := cTes
aTail(aDadosCob)[CB_REGSDH] := SDH->(Recno())
aTail(aDadosCob)[CB_PRODUTO] := cProduto
aTail(aDadosCob)[CB_QUANT] := nQuantidad
aTail(aDadosCob)[CB_BASIPI] := 0
aTail(aDadosCob)[CB_TAXIPI] := 0
aTail(aDadosCob)[CB_VALIPI] := 0
aTail(aDadosCob)[CB_BASICM] := 0
aTail(aDadosCob)[CB_TAXICM] := 0
aTail(aDadosCob)[CB_VALICM] := 0
aTail(aDadosCob)[CB_VALDES] := 0
aTail(aDadosCob)[CB_CFOP] := GetAdvFVal("SF4","F4_CF",xFilial("SF4") + cTes)
aTail(aDadosCob)[CB_LOCAL] := GetAdvFVal("SB1","B1_LOCPAD",xFilial("SB1") + cProduto)
MSExecAuto({|a,b,c,d,e,f,g| NfeNfeCob(a,b,c,d,e,f,g)},,,nOpcX,,aCab103,aDadosCob)
If lMsErroAuto
MostraErro()
Else
Conout("Inserido Cobertura: " + cDocDef)
Endif
Endif
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aItensApo := {}
Local nOpc := 3
Local cNum := ""
Local nI := 0
Local nX := 0
Local nReg := 1
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "01" SUCURSAL "1001" MÓDULO "COM" FUNNAME "MATA103"
If nOpc == 3
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
Elseif nOpc == 5
cNum := "000000004"
Endif
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_TIPO" ,"N" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,"NFE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_EST" ,"SP" ,NIL})
aadd(aCab,{"F1_DESPESA" , 0 , 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})
aadd(aCab,{"F1_VOLUME1",0, Nil})
aadd(aCab,{"F1_PLIQUI",0, Nil})
aadd(aCab,{"F1_PBRUTO",0, Nil})
For nX := 1 To 1
cProd1 :="0001 "
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd1,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" ,1000 ,NIL})
aadd(aItem,{"D1_TOTAL" ,1000 ,NIL})
aadd(aItem,{"D1_TES" ,"001" ,NIL})
aAdd(aItens,aItem)
Next nX
If nOpc == 3
aItem := {}
aAdd(aItensApo, Array(2))
aItensApo[Len(aItensApo)][1] := "0001"
aItensApo[Len(aItensApo)][2] := {}
aAdd(aItem, {"DHP_FILIAL" , xFilial("DHP") , Nil})
aAdd(aItem, {"DHP_DOC" , cNum , Nil})
aAdd(aItem, {"DHP_SERIE" , "1" , Nil})
aAdd(aItem, {"DHP_FORNECE" , "001 " , Nil})
aAdd(aItem, {"DHP_LOJA" , "01" , Nil})
aAdd(aItem, {"DHP_FAIXA1" , 10 , Nil})
aAdd(aItem, {"DHP_FAIXA2" , 20 , Nil})
aAdd(aItem, {"DHP_FAIXA3" , 30 , Nil})
aAdd(aItensApo[Len(aItensApo)][2], aClone(aItem))
Endif
MSExecAuto({|x,y,z,a| MATA103(x,y,z,,,,,,,,,a)},aCab,aItens,nOpc,aItensApo)
If !lMsErroAuto
ConOut(" Incluida Fact: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
Exit
EndIf
Next nI
RESET ENVIRONMENT
Return |
User Function EXEC103()
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local cDoc := ""
PRIVATE lMsErroAuto := .F.
ConOut(PadC(OemToAnsi("Prueba de inclusión de NFE DEVOLUCIÓN CON FACTURA DE ORIGEM NFS"),80))
PREPARE ENVIRONMENT EMPRESA "99" SUCURSAL "01" MÓDULO "COM" FUNNAME "MATA103"
cDoc := "DEV000002"
aCabec := {}
aItens := {}
aadd(aCabec,{"F1_TIPO" ,"D" })
aadd(aCabec,{"F1_FORMUL" ,"N" })
aadd(aCabec,{"F1_DOC" ,cDoc })
aadd(aCabec,{"F1_SERIE" ,"000" })
aadd(aCabec,{"F1_EMISSAO" ,dDataBase })
aadd(aCabec,{"F1_FORNECE" ,"2 " })
aadd(aCabec,{"F1_LOJA" ,"1 " })
aadd(aCabec,{"F1_ESPECIE" ,"NFE" })
aLinha := {}
aadd(aLinha,{"D1_ITEM" ,"001" ,Nil})
aadd(aLinha,{"D1_COD" ,"2 " ,Nil})
aadd(aLinha,{"D1_QUANT" ,1 ,Nil})
aadd(aLinha,{"D1_VUNIT" ,10 ,Nil})
aadd(aLinha,{"D1_TOTAL" ,10 ,Nil})
aadd(aLinha,{"D1_TES" ,"101" ,Nil})//TES DEVOLUCIÓN
aAdd(aLinha,{"D1_CF" ,"000 " ,Nil})
aAdd(aLinha,{"D1_DOC" ,cDoc ,Nil}) // *
aAdd(aLinha,{"D1_SERIE" ,"000" ,Nil}) // *
aAdd(aLinha,{"D1_EMISSAO",dDataBase ,Nil}) // AGREGUÉ
aadd(aLinha,{"D1_NFORI" ,"000005 " ,Nil}) // factura de origen
aadd(aLinha,{"D1_SERIORI","1 " ,Nil})
aadd(aLinha,{"D1_ITEMORI","01" ,Nil})
AAdd(aLinha,{"D1_IDENTB6","000334" ,Nil}) // d2_nunseq
aadd(aLinha,{"AUTDELETA" ,"N" ,Nil})
aadd(aItens,aLinha)
MSExecAuto({|x,y,z| mata103(x,y,z)},aCabec,aItens,3)
If !lMsErroAuto
ConOut("¡Incluido con éxito! "+cDoc)
Else
ConOut("¡Error en la inclusión!")
mostraerro()
EndIf
ConOut(OemToAnsi("Fim : ")+Time())
RESET ENVIRONMENT
Return(.T.) |
#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
Local nReg := 1
Local cInicio := Time()
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "01" SUCURSAL "1001" MÓDULO "COM" FUNNAME "MATA103"
For nI := 1 To nReg
lMsErroAuto := .F.
aCab := {}
aItem := {}
aItens := {}
If nOpc == 3
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
Endif
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_TIPO" ,"B" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,"NFE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_DESPESA" , 0 , 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})
aadd(aCab,{"F1_VOLUME1",0, Nil})
aadd(aCab,{"F1_PLIQUI",0, Nil})
aadd(aCab,{"F1_PBRUTO",0, Nil})
For nX := 1 To 1
cProd1 := "0001 "
aItem := {}
aadd(aItem,{"D1_ITEM" ,"0001" ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd1,TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aadd(aItem,{"D1_QUANT" ,10 ,NIL})
aadd(aItem,{"D1_VUNIT" ,10 ,NIL})
aadd(aItem,{"D1_TOTAL" ,100 ,NIL})
aadd(aItem,{"D1_NFORI" ,"000132 ",NIL})
aadd(aItem,{"D1_SERIORI" ,"1 " ,NIL})
aadd(aItem,{"D1_ITEMORI" ,"01" ,NIL})
aadd(aItem,{"D1_IDENTB6" ,"000755" ,NIL})
aadd(aItem,{"D1_TES" ,"022" ,NIL}) //TES DEVOLUCIÓN - Poder3
aAdd(aItens,aItem)
Next nX
/*If nOpc == 3
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))
Endif */
MSExecAuto({|x,y,z,a| MATA103(x,y,z)},aCab,aItens,nOpc)
If !lMsErroAuto
ConOut(" Incluida Fact: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
Exit
EndIf
Next nI
Conout("Inicio: " + cInicio)
ConOut("Fim: " + Time())
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local nOpc := 3
Local nI := 0
Local nX := 0
Local nReg := 1
Local cInicio := Time()
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "01" SUCURSAL "1001" MÓDULO "COM" FUNNAME "MATA103"
For nI := 1 To nReg
lMsErroAuto := .F.
aCab := {}
aItem := {}
aItens := {}
If nOpc == 3
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_TIPO" ,"I" ,NIL}) // I - Complemento ICMS / P - Complemento IPI
aadd(aCab,{"F1_FORMUL" ,"S" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,"NFE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_DESPESA" , 0 , 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})
aadd(aCab,{"F1_VOLUME1",0, Nil})
aadd(aCab,{"F1_PLIQUI",0, Nil})
aadd(aCab,{"F1_PBRUTO",0, Nil})
For nX := 1 To 1
cProd1 := "0001 "
aItem := {}
aadd(aItem,{"D1_ITEM" ,"0001" ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd1,TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aadd(aItem,{"D1_VUNIT" ,10 ,NIL})
aadd(aItem,{"D1_TOTAL" ,100 ,NIL})
aadd(aItem,{"D1_NFORI" ,"000132 ",NIL})
aadd(aItem,{"D1_SERIORI" ,"1 " ,NIL})
aadd(aItem,{"D1_ITEMORI" ,"01" ,NIL})
aadd(aItem,{"D1_TES" ,"066" ,NIL})
aAdd(aItens,aItem)
Next nX
MSExecAuto({|x,y,z,a| MATA103(x,y,z)},aCab,aItens,nOpc)
If !lMsErroAuto
ConOut(" NF_incluída)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
Exit
EndIf
Next nI
Conout("Inicio: " + cInicio)
ConOut("Final: " + Time())
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aAutoImp := {}
Local aItensRat := {}
Local aCodRet := {}
Local aParamAux := {}
Local nOpc := 3
Local cNum := ""
Local nI := 0
Local nX := 0
Local nReg := 1
Local aAuxItDKD := {}
Local aAuxDKD := {}
Conout("Inicio: " + Time())
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
PREPARE ENVIRONMENT EMPRESA "32" SUCURSAL "6597" MÓDULO "COM" FUNNAME "MATA103"
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" ,"NFE" ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_MOEDA" , 1 ,Nil})
aadd(aCab,{"F1_TXMOEDA" , 1 ,Nil})
aadd(aCab,{"F1_STATUS" , "A" ,Nil})
//Ítems
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(aItens,aItem)
aAuxItDKD := {}
aadd(aAuxItDKD,{"DKD_ITEM" ,StrZero(nX,TamSx3("D1_ITEM")[1]) ,NIL})
aadd(aAuxItDKD,{"DKD_TSTNUM" ,150 ,NIL}) //Campo personalizado creado en la nueva tabla complementaria DKD
aAdd(aAuxDKD,aAuxItDKD)
Next nX
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,b,a| MATA103(x,y,z,b,,,,,,,,,,,a)},aCab,aItens,nOpc,.F.,aAuxDKD)
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Final: " + Time())
RESET ENVIRONMENT
Return |
#Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function EXECFUT()
Local aCab := {}
Local cNum := "COM000"
Local cNum1 := "COM001"
Local aItem := {}
Local aItens := {}
Local cSerie := "100"
Local cFornec := "000005"
Local cLoja := "01"
Local cEspecie := "NFE "
Local cProd1 := "001 "
Local nX := 0
Local cTes := "043"
Local cPedido := "TIR469"
Local nOpc := 3 //3-Incluye / 5-Borra
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" SUCURSAL "01" MÓDULO "COM" FUNNAME "MATA103"
If nOpc == 3
// Compra con entrega futura (simple facturación)
aadd(aCab,{"F1_DOC" ,cNum ,NIL})
aadd(aCab,{"F1_SERIE" ,cSerie ,NIL})
aadd(aCab,{"F1_FORNECE" ,cFornec ,NIL})
aadd(aCab,{"F1_LOJA" ,cLoja ,NIL})
aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL})
aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL})
aadd(aCab,{"F1_TIPO" ,"N" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,cEspecie ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_EST" ,"SP" ,NIL})
aadd(aCab,{"F1_DESPESA" , 0 ,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})
aadd(aCab,{"F1_VOLUME1",0 ,NIL})
aadd(aCab,{"F1_PLIQUI",0 ,NIL})
aadd(aCab,{"F1_PBRUTO",0 ,NIL})
For nX := 1 To 1
cProd1 :="001 "
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd1,TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aAdd(aItem, {"D1_PEDIDO" ,cPedido,Nil})
aAdd(aItem, {"D1_ITEMPC", "0001",Nil})
aadd(aItem,{"D1_QUANT" ,100 ,NIL})
aadd(aItem,{"D1_VUNIT" ,100 ,NIL})
aadd(aItem,{"D1_TOTAL" ,10000 ,NIL})
aadd(aItem,{"D1_TES" ,cTes ,NIL})
aAdd(aItens,aItem)
Next nX
MSExecAuto({|x,y,z| MATA103(x,y,z)},aCab,aItens,nOpc)
If lMsErroAuto
MostraErro()
Else
Conout("Entrega futura incluida: " + cNum)
Endif
Endif
/***********************************************************************/
// Documento de entrada representando el envío de la mercadería
aCab := {}
aItem := {}
aItens := {}
nX := 0
If nOpc == 3
aadd(aCab,{"F1_DOC" ,cNum1 ,NIL})
aadd(aCab,{"F1_SERIE" ,cSerie ,NIL})
aadd(aCab,{"F1_FORNECE" ,cFornec ,NIL})
aadd(aCab,{"F1_LOJA" ,cLoja ,NIL})
aadd(aCab,{"F1_EMISSAO" ,DDATABASE ,NIL})
aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL})
aadd(aCab,{"F1_TIPO" ,"N" ,NIL})
aadd(aCab,{"F1_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_ESPECIE" ,cEspecie ,NIL})
aadd(aCab,{"F1_COND" ,"001" ,NIL})
aadd(aCab,{"F1_EST" ,"SP" ,NIL})
aadd(aCab,{"F1_DESPESA" , 0 , 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})
aadd(aCab,{"F1_VOLUME1",0, Nil})
aadd(aCab,{"F1_PLIQUI",0, Nil})
aadd(aCab,{"F1_PBRUTO",0, Nil})
For nX := 1 To 1
cProd1 :="001 "
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd1,TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,"UN" ,NIL})
aadd(aItem,{"D1_LOCAL" ,"01" ,NIL})
aadd(aItem,{"D1_QUANT" ,50 ,NIL})
aadd(aItem,{"D1_VUNIT" ,100 ,NIL})
aadd(aItem,{"D1_TOTAL" ,5000 ,NIL})
aadd(aItem,{"D1_TES" ,"496" ,NIL})
aadd(aItem,{"AUT_ENTFUT", {cNum,"100","0001",0,"0001",cFornec,cLoja},Nil})//Datos para factura de origen
aAdd(aItens,aItem)
Next nX
MSExecAuto({|x,y,z| MATA103(x,y,z)},aCab,aItens,nOpc)
If lMsErroAuto
MostraErro()
Else
Conout("Envío entrega futura incluida: " + cNum1)
Endif
Endif
RESET ENVIRONMENT
Return |
#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
Local nReg := 1
Local cInicio := Time()
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private lTemF1GFE := .F.
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01 " MÓDULO "COM" FUNNAME "MATA103"
Conout( Replicate( '=', 30 ))
Conout("Inicio: " + cInicio)
For nI := 1 To nReg
lMsErroAuto := .F.
aCab := {}
aItem := {}
aItens := {}
nOpc := 3
If nOpc == 3
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
ElseIf nOpc == 4 .Or. nOpc == 5
cNum := "COMSP137 "
EndIf
Conout("Documento: " + cNum)
aadd( aCab, { "F1_FORMUL" , "N" ,NIL } )
aadd( aCab, { "F1_DOC" , cNum ,NIL } )
aadd( aCab, { "F1_SERIE" , "1 " ,NIL } )
aadd( aCab, { "F1_FORNECE" , "000001" ,NIL } )
aadd( aCab, { "F1_LOJA" , "01" ,NIL } )
aadd( aCab, { "F1_EMISSAO" , DDATABASE ,NIL } )
aadd( aCab, { "F1_DTDIGIT" , DDATABASE ,NIL } )
aadd( aCab, { "F1_TIPO" , "N" ,NIL } )
aadd( aCab, { "F1_ESPECIE" , "NFE" ,NIL } )
aadd( aCab, { "F1_COND" , "000" ,NIL } )
cProd1 := "000001"
cItem := StrZero(nX,TamSx3("D1_ITEM")[1])
aItem := {}
aadd( aItem, { "D1_ITEM" , cItem , NIL } )
aadd( aItem, { "D1_COD" , PadR(cProd1,TamSx3("D1_COD")[1]) , NIL } )
aadd( aItem, { "D1_UM" , "UN" , NIL } )
aadd( aItem, { "D1_LOCAL" , "01" , NIL } )
aadd( aItem, { "D1_QUANT" , 10 , NIL } )
aadd( aItem, { "D1_VUNIT" , 1000 , NIL } )
aadd( aItem, { "D1_TOTAL" , 10000 , NIL } )
aAdd(aItens,aItem)
MSExecAuto( { |x,y,z| MATA140( x, y, z ) }, aCab, aItens, nOpc ) // Inclusión factura previa
If !lMsErroAuto
ConOut( "Incluida factura previa: " + cNum )
aItens := {}
aItem := {}
aadd( aItem, { "D1_ITEM" , cItem , NIL } )
aadd( aItem, { "D1_COD" , PadR(cProd1,TamSx3("D1_COD")[1]) , NIL } )
aadd( aItem, { "D1_UM" , "UN" , NIL } )
aadd( aItem, { "D1_LOCAL" , "01" , NIL } )
aadd( aItem, { "D1_QUANT" , 10 , NIL } )
aadd( aItem, { "D1_VUNIT" , 1500 , NIL } )
aadd( aItem, { "D1_TOTAL" , 15000 , NIL } )
aadd( aItem, { "D1_TES" , "001" , NIL } )
aAdd(aItens,aItem)
nOpc := 4 //Clasificación
lGrvGF := .T.
MSExecAuto( { |a, b, c, d| MATA103( a, b, c, , , , , , , , , , , , , d ) }, aCab, aItens, nOpc, lGrvGF ) // Realiza la grabación de los datos modificados sin finalizar la clasificación
If !lMsErroAuto
ConOut( "Clasificado documento fiscal: " + cNum )
Else
MostraErro()
ConOut( "¡Error en la inclusión!" )
Exit
EndIf
Else
MostraErro()
ConOut( "¡Error en la inclusión!" )
Exit
EndIf
Next nI
ConOut("Fim: " + Time())
Conout( Replicate( '=', 30 ))
RESET ENVIRONMENT
Return .T. |
#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
Local nReg := 1
Local cInicio := Time()
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private lTemF1GFE := .F.
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01 " MÓDULO "COM" FUNNAME "MATA103"
Conout( Replicate( '=', 30 ))
Conout("Inicio: " + cInicio)
For nI := 1 To nReg
lMsErroAuto := .F.
aCab := {}
aItem := {}
aItens := {}
nOpc := 3
If nOpc == 3
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
ElseIf nOpc == 4 .Or. nOpc == 5
cNum := "COMSP137 "
EndIf
Conout("Documento: " + cNum)
aadd( aCab, { "F1_FORMUL" , "N" ,NIL } )
aadd( aCab, { "F1_DOC" , cNum ,NIL } )
aadd( aCab, { "F1_SERIE" , "1 " ,NIL } )
aadd( aCab, { "F1_FORNECE" , "000001" ,NIL } )
aadd( aCab, { "F1_LOJA" , "01" ,NIL } )
aadd( aCab, { "F1_EMISSAO" , DDATABASE ,NIL } )
aadd( aCab, { "F1_DTDIGIT" , DDATABASE ,NIL } )
aadd( aCab, { "F1_TIPO" , "N" ,NIL } )
aadd( aCab, { "F1_ESPECIE" , "NFE" ,NIL } )
aadd( aCab, { "F1_COND" , "000" ,NIL } )
cProd1 := "000001"
cItem := StrZero(nX,TamSx3("D1_ITEM")[1])
aItem := {}
aadd( aItem, { "D1_ITEM" , cItem , NIL } )
aadd( aItem, { "D1_COD" , PadR(cProd1,TamSx3("D1_COD")[1]) , NIL } )
aadd( aItem, { "D1_UM" , "UN" , NIL } )
aadd( aItem, { "D1_LOCAL" , "01" , NIL } )
aadd( aItem, { "D1_QUANT" , 10 , NIL } )
aadd( aItem, { "D1_VUNIT" , 1000 , NIL } )
aadd( aItem, { "D1_TOTAL" , 10000 , NIL } )
aAdd(aItens,aItem)
MSExecAuto( { |x,y,z| MATA140( x, y, z ) }, aCab, aItens, nOpc ) // Inclusión factura previa
If !lMsErroAuto
ConOut( "Incluida factura previa: " + cNum )
aItens := {}
aItem := {}
aadd( aItem, { "D1_ITEM" , cItem , NIL } )
aadd( aItem, { "D1_COD" , PadR(cProd1,TamSx3("D1_COD")[1]) , NIL } )
aadd( aItem, { "D1_UM" , "UN" , NIL } )
aadd( aItem, { "D1_LOCAL" , "01" , NIL } )
aadd( aItem, { "D1_QUANT" , 10 , NIL } )
aadd( aItem, { "D1_VUNIT" , 1500 , NIL } )
aadd( aItem, { "D1_TOTAL" , 15000 , NIL } )
aadd( aItem, { "D1_TES" , "001" , NIL } )
aAdd(aItens,aItem)
nOpc := 4 //Clasificación
lGrvGF := .T.
MSExecAuto( { |a, b, c, d| MATA103( a, b, c, , , , , , , , , , , , , d ) }, aCab, aItens, nOpc, lGrvGF ) // Realiza la grabación de los datos modificados sin finalizar la clasificación
If !lMsErroAuto
ConOut( "Clasificado documento fiscal: " + cNum )
Else
MostraErro()
ConOut( "¡Error en la inclusión!" )
Exit
EndIf
Else
MostraErro()
ConOut( "¡Error en la inclusión!" )
Exit
EndIf
Next nI
ConOut("Final: " + Time())
Conout( Replicate( '=', 30 ))
RESET ENVIRONMENT
Return .T. |
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
User Function EXEC103()
Local cNumDoc := "M103CTELA"
Local cSerie := "001"
Local cForn := "000001"
Local cLoja := "01"
Local nOpc := 5
Local aCab := {}
Local aItens := {}
Local aLinha := {}
Private lMsErroAuto := .F.
DbSelectArea("SF1")
SF1->(DbSetOrder(1))
SF1->(DbSeek(xFilial("SF1") + cNumDoc + cSerie + cForn + cLoja ))
aadd(aCab,{"F1_TIPO" , "N" ,NIL})
aadd(aCab,{"F1_FORMUL" , "N" ,NIL})
aadd(aCab,{"F1_DOC" , SF1->F1_DOC,NIL})
aadd(aCab,{"F1_SERIE" , SF1->F1_SERIE ,NIL})
aadd(aCab,{"F1_EMISSAO" , dDataBase,NIL})
aadd(aCab,{"F1_DTDIGIT" , dDataBase,NIL})
aadd(aCab,{"F1_FORNECE" , SF1->F1_FORNECE ,NIL})
aadd(aCab,{"F1_LOJA" , SF1->F1_LOJA ,NIL})
aadd(aCab,{"F1_ESPECIE" , SF1->F1_ESPECIE ,NIL})
dbSelectArea("SD1")
SD1->(dbSetOrder(1))
SD1->(DbSeek(xFilial("SD1")+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA))
While !Eof() .And. SD1->D1_FILIAL+SD1->D1_DOC+SD1->D1_SERIE+SD1->D1_FORNECE+SD1->D1_LOJA == ;
SF1->F1_FILIAL+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA
aItens := {}
aAdd(aItens,{'D1_DOC',SD1->D1_DOC ,NIL})
aAdd(aItens,{'D1_SERIE',SD1->D1_SERIE ,NIL})
aAdd(aItens,{'D1_FORNECE',SD1->D1_FORNECE,NIL})
aAdd(aItens,{'D1_LOJA',SD1->D1_LOJA ,NIL})
aadd(aItens,{"D1_ITEM",SD1->D1_ITEM ,NIL})
aadd(aItens,{"D1_COD" ,SD1->D1_COD ,NIL})
aadd(aItens,{"D1_UM" ,SD1->D1_UM ,NIL})
aadd(aItens,{"D1_LOCAL",SD1->D1_LOCAL ,NIL})
aadd(aItens,{"D1_QUANT",SD1->D1_QUANT ,NIL})
aadd(aItens,{"D1_VUNIT",SD1->D1_VUNIT ,NIL})
aadd(aItens,{"D1_TOTAL",SD1->D1_TOTAL ,NIL})
aadd(aItens,{"D1_TES" ,SD1->D1_TES ,NIL})
aAdd(aLinha,aItens)
SD1->(dbSkip())
EndDo
MSExecAuto({|x,y,z,b,a| MATA103(x,y,z,b,,,,,,,,,,,a)},aCab,aLinha,nOpc,.T.,)
If lMsErroAuto
MostraErro()
EndIf
Return |
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function INC103IMP()
Local nX As Numeric
Local cTipo As Character
Local cFormul As Character
Local cNum As Character
Local cSerie As Character
Local cFornec As Character
Local cLoja As Character
Local cEspecie As Character
Local cCondPgt As Character
Local cStatus As Character
Local cNaturez As Character
Local cProd As Character
Local cUnid As Character
Local cArmz As Character
Local cTes As Character
Local nQuant As Numeric
Local nPrcUnit As Numeric
Local nVlTot As Numeric
Local aCab As Array
Local aItem As Array
Local aItens As Array
Local aAutoImp As Array
Local aItensRat As Array
Local aCodRet As Array
Local aParamAux As Array
Local nOpc As Numeric
Private lMsErroAuto As Logical
Private lMsHelpAuto As Logical
nX := 1
cTipo := "N"
cFormul := "N"
cSerie := "001"
cFornec := "FGFISS"
cLoja := "01"
cEspecie := "NFS"
cCondPgt := "000"
cStatus := "A"
cNaturez := "014"
cProd := "COMSP0000000000000000000000004"
cUnid := "UN"
cArmz := "01"
cTes := "015"
nQuant := 10
nPrcUnit := 100
nVlTot := 1000
aCab := {}
aItem := {}
aItens := {}
aAutoImp := {}
nOpc := 3
lMsErroAuto := .F.
lMsHelpAuto := .T.
Conout("Inicio: " + Time())
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01" MÓDULO "COM" FUNNAME "MATA103"
cNum := GetSxeNum("SF1","F1_DOC")
SF1->(dbSetOrder(1))
While SF1->(dbSeek(xFilial("SF1")+cNum))
ConfirmSX8()
cNum := GetSxeNum("SF1","F1_DOC")
EndDo
//Encabezado
aCab := {}
aadd(aCab,{"F1_TIPO" ,cTipo ,NIL})
aadd(aCab,{"F1_FORMUL" ,cFormul ,NIL})
aadd(aCab,{"F1_DOC" ,cNum ,NIL})
aadd(aCab,{"F1_SERIE" ,cSerie ,NIL})
aadd(aCab,{"F1_EMISSAO" ,dDataBase ,NIL})
aadd(aCab,{"F1_DTDIGIT" ,dDataBase ,NIL})
aadd(aCab,{"F1_FORNECE" ,cFornec ,NIL})
aadd(aCab,{"F1_LOJA" ,cLoja ,NIL})
aadd(aCab,{"F1_ESPECIE" ,cEspecie ,NIL})
aadd(aCab,{"F1_COND" ,cCondPgt ,NIL})
aadd(aCab,{"F1_MOEDA" ,1 ,Nil})
aadd(aCab,{"F1_TXMOEDA" ,1 ,Nil})
aadd(aCab,{"F1_STATUS" ,cStatus ,Nil})
aadd(aCab,{"E2_NATUREZ",PadR(cNaturez,TamSx3("ED_CODIGO")[1]) ,Nil})
//Ítems
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,4) ,NIL})
aadd(aItem,{"D1_COD" ,PadR(cProd,TamSx3("D1_COD")[1]) ,NIL})
aadd(aItem,{"D1_UM" ,cUnid ,NIL})
aadd(aItem,{"D1_LOCAL" ,cArmz ,NIL})
aadd(aItem,{"D1_QUANT" ,nQuant ,NIL})
aadd(aItem,{"D1_VUNIT" ,nPrcUnit ,NIL})
aadd(aItem,{"D1_TOTAL" ,nVlTot ,NIL})
aadd(aItem,{"D1_TES" ,cTes ,NIL})
aAdd(aItens,aItem)
//Impuestos (Informe la referencia del impuesto, que consta en el valid del campo)
//Para impuestos de encabezado informe: referencia, valor
aAutoImp := { {"NF_UFPREISS" , "SP"},;
{"NF_CODMUN", "18800"}}
//3-Inclusión
MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,a,b,,,,,)},aCab,aItens,nOpc,.F.,aAutoImp)
aItens := {}
If !lMsErroAuto
ConOut(" Incluido NF: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
ConOut("Final: " + Time())
RESET ENVIRONMENT
FwFreeArray(aCab)
FwFreeArray(aItem)
FwFreeArray(aAutoImp)
FwFreeArray(aItens)
Return |
¡No se olvide de verificar las observaciones! |
|