× Linguagem de Programação ADVPL

Perguntas MATA910

Mais
10 anos 2 semanas atrás #22271 por rickbamen
Respondido por rickbamen no tópico MATA910
Vitor, mesmo fazendo como vc mencionou a nota não foi incluida, segue o fonte que te falei..
Static Function ProcNF(aTmpNota,aTmpItem)
Local nFaz := 0
Local nFazIte:= 0
Local cNotaAt:= ""
Local cIteAtu:= ""
Local aCabec := {}
Local aItensT := {}
Local aLinha := {}
Local cLinErro:= ""

Private aNota:=aTmpNota
Private aItens:=aTmpItem

Procregua(len(aNota))

//1 - ITEM, 2 - F2_TIPO, 3 - F2_FORMUL, 4 - F2_DOC, 5 - F2_SERIE, 6 - F2_EMISSAO, 7 - F2_CLIENTE, 8 - F2_TIPOCLI,
//9 - F2_LOJA, 10 - F2_ESPECIE, 11 - F2_COND, 12 - F2_DESCONT, 13 - F2_VALBRUT, 14 - F2_VALFAT, 15 - F2_FRETE,
//16 - F2_SEGURO, 17 - F2_DESPESA, 18 - F2_PREFIXO, 19 - F2_HORA, 20 - F2_CHVNFE, 21 - ROTA, 22 - SEQUENCIA

For nFaz:=1 to len(aNota)
cNotaAt:= aNota[nFaz][04]
aCliente:= BusCli(Val(aNota[nFaz][21]), Val(aNota[nFaz][22]))
IF Len(aCliente) > 0
IF !JaExist(aNota[nFaz][04],aNota[nFaz][05],aNota[nFaz][07],aNota[nFaz][09],aNota[nFaz][03],aNota[nFaz][02])
IncProc("Inserindo NF... ["+cNotaAt+"]")
aadd(aCabec,{"F1_FILIAL" ,xFilial("SF1") ,Nil})
aadd(aCabec,{"F1_TIPO" ,aNota[nFaz][02] ,Nil})//F1_TIPO
aadd(aCabec,{"F1_FORMUL" ,aNota[nFaz][03] ,Nil})//F1_FORMUL
aadd(aCabec,{"F1_DOC" ,aNota[nFaz][04] ,Nil})//F1_DOC
aadd(aCabec,{"F1_SERIE" ,aNota[nFaz][05] ,Nil})//F1_SERIE
aadd(aCabec,{"F1_EMISSAO" ,ValData(aNota[nFaz][06]) ,Nil})//F1_EMISSAO
aadd(aCabec,{"F1_FORNECE" ,aCliente[1] ,Nil})//F1_FORNECE
aadd(aCabec,{"F1_TIPOCLI" ,aNota[nFaz][08] ,Nil})//F1_TIPOCLI
aadd(aCabec,{"F1_LOJA" ,aCliente[2] ,Nil})//F1_LOJA
aadd(aCabec,{"F1_ESPECIE" ,aNota[nFaz][10] ,Nil})//F1_ESPECIE
aadd(aCabec,{"F1_COND" ,aNota[nFaz][11] ,Nil})//F1_COND
aadd(aCabec,{"F1_DESCONT" ,ValVlr(aNota[nFaz][12],2) ,Nil})//F1_DESCONT
aadd(aCabec,{"F1_VALBRUT" ,ValVlr(aNota[nFaz][13],2) ,Nil})//F1_VALBRUT
aadd(aCabec,{"F1_VALFAT" ,ValVlr(aNota[nFaz][14],2) ,Nil})//F1_VALFAT
aadd(aCabec,{"F1_FRETE" ,ValVlr(aNota[nFaz][15],2) ,Nil})//F1_FRETE
aadd(aCabec,{"F1_SEGURO" ,ValVlr(aNota[nFaz][16],2) ,Nil})//F1_SEGURO
aadd(aCabec,{"F1_DESPESA" ,ValVlr(aNota[nFaz][17],2) ,Nil})//F1_DESPESA
//aadd(aCabec,{"F1_PREFIXO" ,aNota[nFaz][18] ,Nil})//F1_PREFIXO
aadd(aCabec,{"F1_HORA" ,aNota[nFaz][19] ,Nil})//F1_HORA
aadd(aCabec,{"F1_CHVNFE" ,aNota[nFaz][20] ,Nil})//F1_CHVNFE
aadd(aCabec,{"F1_DTDIGIT" ,ValData(aNota[nFaz][06]) ,Nil})//F1_DTDIGIT

//1 - ITEM, 2 - D2_ITEM, 3 - D2_COD, 4 - D2_QUANT, 5 - D2_PRCVEN, 6 - D2_TOTAL,
//7 - D2_TES, 8 - D2_CF, 9 - D2_DOC, 10 - D2_SERIE
For nFazIte:=1 to len(aItens)
cIteAtu:= aItens[nFazIte][9]
IF(cNotaAt = cIteAtu)
aLinha:= {}
aadd(aLinha,{"D1_FILIAL" ,xFilial("SD1") ,Nil})
aadd(aLinha,{"D1_ITEM" ,aItens[nFazIte][2] ,Nil})
aadd(aLinha,{"D1_COD" ,aItens[nFazIte][3] ,Nil})
aadd(aLinha,{"D1_QUANT" ,ValVlr(aItens[nFazIte][4],6) ,Nil})
aadd(aLinha,{"D1_PRCVEN" ,ValVlr(aItens[nFazIte][5],6) ,Nil})
aadd(aLinha,{"D1_TOTAL" ,ValVlr(aItens[nFazIte][6],2) ,Nil})
aadd(aLinha,{"D1_TES" ,aItens[nFazIte][7] ,Nil})
aadd(aLinha,{"D1_CF" ,aItens[nFazIte][8] ,Nil})
aadd(aItensT,aLinha)
EndIF
Next nFazIte

IF Len(aItensT) > 0
lMsErroAuto := .F.
lMSHelpAuto := .T.
Begin Transaction
MSExecAuto({|x,y,z|MATA103(x,y,z)},aCabec,aItensT,3,NIL)
//MSExecAuto({|x,y,z| mata910(x,y,z)},aCabec,aItensT,3) //Inclusao
//MSExecAuto({|x,y,z| mata140(x,y,z)},aCabec,aItensT,3) //Inclusao
//MSExecAuto({|x,y,z| mata103(x,y,z)},aCabec,aItensT,3, .F.) //Inclusao

End Transaction
If lMsErroAuto
/*cLinErro:= ""
FErase(cDirLog+cErrLog)
cLinErro:= Mostraerro(cDirLog, cErrLog)
GeraLog("Nota Nr: "+cNotaAt+"," +VldErro(Alltrim(cLinErro)))*/
Mostraerro()
Else
aItensT:= {}
aCabec:= {}
aLinha:= {}
Endif
Else
GeraLog("Nota Nr: "+cNotaAt+", itens não encontrado.")
EndIF
Else
GeraLog("Nota Nr: "+cNotaAt+", já foi processado anteriormente.")
EndIf
Else
GeraLog("Nota Nr: "+cNotaAt+", cliente não encontrado (Rota: "+aNota[nFaz][21]+" Sequência: "+aNota[nFaz][22]+").")
EndIF
Next nFaz

Return .T.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.096 segundos
Joomla templates by a4joomla