Paso a paso: | | Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento tipo normal |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento tipo complemento |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento tipo normal vinculado al pedido de compras |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento tipo devolución |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento vincular (SDH) |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento cobertura |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento tipo normal con jubilación especial |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento devolución - Terceros |
|---|
| collapse | true |
|---|
| 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.) |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento mejora - terceros |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento complementario ICMS o IPI |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento con complemento de ítems de la Fact (DKD) |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento entrega futura (DHQ) |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Resguardo fiscal - Grabar datos de la clasificación del documento para futura finalización de la clasificación |
|---|
| collapse | true |
|---|
| #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. |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Inclusión - Entrega por terceros |
|---|
| collapse | true |
|---|
| #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. |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Borrado de Doc de entrada (con apertura de pantalla) |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Inclusión con alícuota ISS, calculándose por medio del FISA052 |
|---|
| collapse | true |
|---|
| #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 |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento Tipo Normal - Com Rateio de CC com N itens |
|---|
| collapse | true |
|---|
| #Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
#Include "Coverage.ch"
User Function EXEC103()
Local aCab := {}
Local aItem := {}
Local aItens := {}
Local aItensRat := {}
Local nOpc := 3
Local cNum := ""
Local cSer := " "
Local cProd1 := "LF005"
Local cProd2 := "LF006"
Local nX := 0
Local nY := 0
Local cInicio := Time()
Private lMsErroAuto := .F.
Private lMsHelpAuto := .F.
Private lTemF1GFE := .F.
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01" MÓDULO "COM" FUNNAME "MATA103"
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_FORMUL" ,"N" ,NIL})
aadd(aCab,{"F1_DOC" ,cNum ,NIL})
aadd(aCab,{"F1_SERIE" ,cSer ,NIL})
aadd(aCab,{"F1_FORNECE" ,"COM002" ,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" ,"EFACT" ,NIL})
aadd(aCab,{"F1_COND" ,"000" ,NIL})
aadd(aCab,{"F1_STATUS" , "A" , Nil})
For nX := 1 To 2
aItem := {}
aadd(aItem,{"D1_ITEM" ,StrZero(nX,TamSx3("D1_ITEM")[1]) ,NIL})
If nX == 1
aadd(aItem,{"D1_COD" ,PadR(cProd1,TamSx3("D1_COD")[1]) ,NIL})
Elseif nX == 2
aadd(aItem,{"D1_COD" ,PadR(cProd2,TamSx3("D1_COD")[1]) ,NIL})
Endif
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(aItem,{"D1_TES" ,"001" ,NIL})
aadd(aItem,{"D1_RATEIO" ,"1" ,NIL})
aAdd(aItens,aItem)
aAdd(aItensRat, Array(2))
aItensRat[Len(aItensRat)][1] := StrZero(nX,TamSx3("D1_ITEM")[1])
aItensRat[Len(aItensRat)][2] := {}
For nY := 1 To 2
aItem := {}
aAdd(aItem, {"DE_FILIAL" , xFilial("SDE") , Nil})
aAdd(aItem, {"DE_ITEM" , StrZero(nY,TamSx3("DE_ITEM")[1]) , Nil})
aAdd(aItem, {"DE_DOC" , cNum , Nil})
aAdd(aItem, {"DE_SERIE" , cSer , Nil})
aAdd(aItem, {"DE_FORNECE" , "COM002" , Nil})
aAdd(aItem, {"DE_LOJA" , "01" , Nil})
aAdd(aItem, {"DE_ITEMNF" , StrZero(nX,TamSx3("D1_ITEM")[1]) , Nil})
If nY == 1
aAdd(aItem, {"DE_PERC" , 60 , Nil})
aAdd(aItem, {"DE_CC" , "CC01" , Nil})
Else
aAdd(aItem, {"DE_PERC" , 40 , Nil})
aAdd(aItem, {"DE_CC" , "01" , Nil})
Endif
aAdd(aItensRat[Len(aItensRat)][2], aClone(aItem))
Next nY
Next nX
MSExecAuto({|x,y,z,a,b| MATA103(x,y,z,a,,,,b)},aCab,aItens,nOpc,.F.,aItensRat)
If !lMsErroAuto
ConOut(" Se incluyó Fact: " + cNum)
Else
MostraErro()
ConOut("¡Error en la inclusión!")
EndIf
Conout("Inicio: " + cInicio)
ConOut("Final: " + Time())
Conout("Tiempo: " + ElapTime(cInicio,Time()))
RESET ENVIRONMENT
Return |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento Tipo Devolução - Classificação utilizando o aAutoImp para modificar as informações de Impostos |
|---|
| collapse | true |
|---|
| #Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function CSL103()
Local aCab := {}
Local aLinha := {}
Local aItens := {}
Local aParamAux := {}
Local aAutoImp := {}
Local cDoc := "DOCS0D "
Local cSerie := "001"
Local cForn := "CLISUP"
Local cLoja := "01"
Local cDocOrig := "DOCS0B "
Local cSerOrig := "001"
Local cItemOrig := "01 "
Local cTes := "001"
Local cCondPag := "000"
Local nOpc := 4 // CLASIFICACIÓN
Local lTela := .F.
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01" MÓDULO "COM"
dDataBase := cTod("27/01/2025")
DbSelectArea("SF1")
SF1->(DbSetOrder(1))
SF1->(DbSeek(xFilial("SF1") + cDoc + cSerie + cForn + cLoja ))
aadd(aCab,{"F1_TIPO" , SF1->F1_TIPO , NIL})
aadd(aCab,{"F1_TPCOMPL" , SF1->F1_TPCOMPL , NIL})
aadd(aCab,{"F1_FORMUL" , SF1->F1_FORMUL , 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})
aadd(aCab,{"F1_COND" , cCondPag , NIL})
dbSelectArea("SD1")
SD1->(dbSetOrder(1))
SD1->(DbSeek(xFilial("SD1")+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA))
While SD1->(!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
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" , cTes , NIL})
aadd(aItens,{"D1_NFORI" , cDocOrig , NIL})
aadd(aItens,{"D1_SERIORI", cSerOrig , NIL})
aadd(aItens,{"D1_ITEMORI" , cItemOrig , NIL})
aadd(aItens,{"D1_RATEIO" , SD1->D1_RATEIO , NIL})
if nOpc == 4 //Si fuera clasificación debe informar la variable LINPOS
aAdd(aItens, {"LINPOS" , "D1_ITEM", SD1->D1_ITEM }) //o SD1->D1_ITEM si estuviera seleccionado.
EndIf
aAdd(aLinha,aItens)
aItens := {}
SD1->(dbSkip())
EndDo
//Impuestos (Informe la referencia del impuesto, que consta en el valid del campo)
//Para impuestos de encabezado informe: referencia, valor
aAutoImp := { {"NF_TOTAL" , 1}}
//Para impuestos de Ítems informe: referencia, valor, número de la línea
aAdd(aAutoImp,{"IT_BASEICM", 361.21 , 1}) // Base ICMS
aAdd(aAutoImp,{"IT_ALIQICM", 12 , 1}) // Porcentaje ICMS
aAdd(aAutoImp,{"IT_VALICM" , 43.35 , 1}) // Valor ICMS
aAdd(aAutoImp,{"IT_BASESOL", 480.41 , 1}) // Base ICMS ST
aAdd(aAutoImp,{"IT_ALIQSOL", 12 , 1}) // Porcentaje ICMS
// Ejemplo para manejar la pregunta MTA103
aAdd(aParamAux, {"MV_PAR01", 2}) //-- ¿Muestra Asto. Contable? 1 = Sí, 2 = No
aAdd(aParamAux, {"MV_PAR06", 2}) //-- ¿Contabilidad online? 1 = Sí, 2 = No
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,a,b,c,d| MATA103(x,y,z,a,b,c,d,,,)},aCab,aLinha,nOpc,lTela,aAutoImp,,aParamAux)
If lMsErroAuto
MostraErro()
ConOut("¡Error en la clasificación!")
EndIf
dDataBase := Date()
RESET ENVIRONMENT
Return |
| Bloco de código |
|---|
| language | delphi |
|---|
| theme | Midnight |
|---|
| title | Documento Tipo Normal - Inclusão com aAutoImp e informando desconto,despesas,frete e seguro do cabeçalho do documento. |
|---|
| collapse | true |
|---|
| #Include "Protheus.ch"
#Include "RwMake.ch"
#Include "TbiConn.ch"
User Function INC103IMP()
Local aCab := {}
Local aItens := {}
Local aLinha := {}
Local aParamAux := {}
Local aAutoImp := {}
Local cTipo := "N"
Local cFormul := "N"
Local cDoc := "DOCIMP1"
Local cSerie := "001"
Local cForn := "000001"
Local cLoja := "01"
Local cEspec := "EFACT"
Local cCondPag := "000"
Local cStatus := "A"
Local cProd := "01"
Local cUni := "CX"
Local cLocal := "01"
Local cTes := "001"
Local nX
Local nOpc := 3 // INCLUSIÓN
Local lTela := .F.
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "T1" SUCURSAL "D MG 01" MÓDULO "COM"
dDataBase := cTod("06/02/2025")
//Encabezado
aadd(aCab,{"F1_TIPO" , PadR(cTipo,TamSx3("F1_TIPO")[1]) ,NIL})
aadd(aCab,{"F1_FORMUL" , PadR(cFormul,TamSx3("F1_FORMUL")[1]) ,NIL})
aadd(aCab,{"F1_DOC" , PadR(cDoc,TamSx3("F1_DOC")[1]) ,NIL})
aadd(aCab,{"F1_SERIE" , PadR(cSerie,TamSx3("F1_SERIE")[1]) ,NIL})
aadd(aCab,{"F1_EMISSAO" , dDataBase ,NIL})
aadd(aCab,{"F1_DTDIGIT" , dDataBase ,NIL})
aadd(aCab,{"F1_FORNECE" , PadR(cForn,TamSx3("F1_FORNECE")[1]) ,NIL})
aadd(aCab,{"F1_LOJA" , PadR(cLoja,TamSx3("F1_LOJA")[1]) ,NIL})
aadd(aCab,{"F1_ESPECIE" , PadR(cEspec,TamSx3("F1_ESPECIE")[1]) ,NIL})
aadd(aCab,{"F1_COND" , PadR(cCondPag,TamSx3("F1_COND")[1]) ,NIL})
aadd(aCab,{"F1_MOEDA" , 1 ,Nil})
aadd(aCab,{"F1_TXMOEDA" , 1 ,Nil})
aadd(aCab,{"F1_STATUS" , PadR(cStatus,TamSx3("F1_STATUS")[1]) ,NIL})
For nX := 1 to 1
aLinha := {}
aadd(aLinha,{"D1_DOC" , PadR(cDoc,TamSx3("D1_DOC")[1]) ,NIL})
aadd(aLinha,{"D1_SERIE" , PadR(cSerie,TamSx3("D1_SERIE")[1]) ,NIL})
aadd(aLinha,{"D1_FORNECE" , PadR(cForn,TamSx3("D1_FORNECE")[1]) ,NIL})
aadd(aLinha,{"D1_LOJA" , PadR(cLoja,TamSx3("D1_LOJA")[1]) ,NIL})
aadd(aLinha,{"D1_ITEM" , "0001" ,NIL})
aadd(aLinha,{"D1_COD" , PadR(cProd,TamSx3("D1_COD")[1]) ,NIL})
aadd(aLinha,{"D1_UM" , PadR(cUni,TamSx3("D1_UM")[1]) ,NIL})
aadd(aLinha,{"D1_LOCAL" , PadR(cLocal,TamSx3("D1_LOCAL")[1]) ,NIL})
aadd(aLinha,{"D1_QUANT" , 1 ,NIL})
aadd(aLinha,{"D1_VUNIT" , 100 ,NIL})
aadd(aLinha,{"D1_TOTAL" , 100 ,NIL})
aadd(aLinha,{"D1_TES" , PadR(cTes,TamSx3("D1_TES")[1]) ,NIL})
aAdd(aItens,aLinha)
Next nX
//Impuestos (Informe la referencia del impuesto, que consta en el valid del campo)
//Para impuestos de encabezado informe: referencia, valor
aAutoImp := { {"NF_DESCONTO" , 1 },;
{"NF_DESPESA" , 2 },;
{"NF_FRETE" , 3 },;
{"NF_SEGURO" , 4 }}
//Para impuestos de Ítems informe: referencia, valor, número de la línea
aAdd(aAutoImp,{"IT_BASEICM", 50 , 1}) // Base ICMS
aAdd(aAutoImp,{"IT_ALIQICM", 4 , 1}) // Porcentaje ICMS
aAdd(aAutoImp,{"IT_VALICM" , 2 , 1}) // Valor ICMS
aAdd(aAutoImp,{"IT_BASESOL", 9 , 1}) // Base ICMS ST
aAdd(aAutoImp,{"IT_ALIQSOL", 14 , 1}) // Porcentaje ICMS
// Ejemplo para manejar la pregunta MTA103
aAdd(aParamAux, {"MV_PAR01", 2}) //-- ¿Muestra Asto. Contable? 1 = Sí, 2 = No
aAdd(aParamAux, {"MV_PAR06", 2}) //-- ¿Contabilidad online? 1 = Sí, 2 = No
//3-Inclusión / 4-Clasificación / 5-Borrado
MSExecAuto({|x,y,z,a,b,c,d| MATA103(x,y,z,a,b,c,d,,,)},aCab,aItens,nOpc,lTela,aAutoImp,,aParamAux)
If lMsErroAuto
MostraErro()
ConOut("Error en la inclusión ")
EndIf
dDataBase := Date()
RESET ENVIRONMENT
Return |
| Informações |
|---|
| ¡No se olvide de verificar las observaciones! |
|