×
Linguagem de Programação ADVPL
Perguntas MATA910
- rickbamen
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 7
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22265
por rickbamen
Boa Noite
Gostaria de saber se alguem dos colegas, já precisou fazer inclusão de nota de entrada através da rotina automatica MATA910.
Eu tentei, mas não consegui saber pq não gerou a nota, mesmo não apresentando nenhum erro.
aadd(aCabec,{"F1_TIPO" ,aNota[nFaz][02] })//F1_TIPO
aadd(aCabec,{"F1_FORMUL" ,aNota[nFaz][03] })//F1_FORMUL
aadd(aCabec,{"F1_DOC" ,aNota[nFaz][04] })//F1_DOC
aadd(aCabec,{"F1_SERIE" ,aNota[nFaz][05] })//F1_SERIE
aadd(aCabec,{"F1_EMISSAO" ,ValData(aNota[nFaz][06]) })//F1_EMISSAO
aadd(aCabec,{"F1_FORNECE" ,aCliente[1] })//F1_FORNECE
aadd(aCabec,{"F1_TIPOCLI" ,aNota[nFaz][08] })//F1_TIPOCLI
aadd(aCabec,{"F1_LOJA" ,aCliente[2] })//F1_LOJA
aadd(aCabec,{"F1_ESPECIE" ,aNota[nFaz][10] })//F1_ESPECIE
aadd(aCabec,{"F1_COND" ,aNota[nFaz][11] })//F1_COND
aadd(aCabec,{"F1_DESCONT" ,ValVlr(aNota[nFaz][12],2) })//F1_DESCONT
aadd(aCabec,{"F1_VALBRUT" ,ValVlr(aNota[nFaz][13],2) })//F1_VALBRUT
aadd(aCabec,{"F1_VALFAT" ,ValVlr(aNota[nFaz][14],2) })//F1_VALFAT
aadd(aCabec,{"F1_FRETE" ,ValVlr(aNota[nFaz][15],2) })//F1_FRETE
aadd(aCabec,{"F1_SEGURO" ,ValVlr(aNota[nFaz][16],2) })//F1_SEGURO
aadd(aCabec,{"F1_DESPESA" ,ValVlr(aNota[nFaz][17],2) })//F1_DESPESA
//aadd(aCabec,{"F1_PREFIXO" ,aNota[nFaz][18] })//F1_PREFIXO
aadd(aCabec,{"F1_HORA" ,aNota[nFaz][19] })//F1_HORA
aadd(aCabec,{"F1_CHVNFE" ,aNota[nFaz][20] })//F1_CHVNFE
For nFazIte:=1 to len(aItens)
cIteAtu:= aItens[nFazIte][9]
IF(cNotaAt = cIteAtu)
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
lMsErroAuto := .F.
MSExecAuto({|x,y,z| mata910(x,y,z)},aCabec,aItensT,3) //Inclusao
If lMsErroAuto
MostraErro()
EndIF
Gostaria de saber se alguem dos colegas, já precisou fazer inclusão de nota de entrada através da rotina automatica MATA910.
Eu tentei, mas não consegui saber pq não gerou a nota, mesmo não apresentando nenhum erro.
aadd(aCabec,{"F1_TIPO" ,aNota[nFaz][02] })//F1_TIPO
aadd(aCabec,{"F1_FORMUL" ,aNota[nFaz][03] })//F1_FORMUL
aadd(aCabec,{"F1_DOC" ,aNota[nFaz][04] })//F1_DOC
aadd(aCabec,{"F1_SERIE" ,aNota[nFaz][05] })//F1_SERIE
aadd(aCabec,{"F1_EMISSAO" ,ValData(aNota[nFaz][06]) })//F1_EMISSAO
aadd(aCabec,{"F1_FORNECE" ,aCliente[1] })//F1_FORNECE
aadd(aCabec,{"F1_TIPOCLI" ,aNota[nFaz][08] })//F1_TIPOCLI
aadd(aCabec,{"F1_LOJA" ,aCliente[2] })//F1_LOJA
aadd(aCabec,{"F1_ESPECIE" ,aNota[nFaz][10] })//F1_ESPECIE
aadd(aCabec,{"F1_COND" ,aNota[nFaz][11] })//F1_COND
aadd(aCabec,{"F1_DESCONT" ,ValVlr(aNota[nFaz][12],2) })//F1_DESCONT
aadd(aCabec,{"F1_VALBRUT" ,ValVlr(aNota[nFaz][13],2) })//F1_VALBRUT
aadd(aCabec,{"F1_VALFAT" ,ValVlr(aNota[nFaz][14],2) })//F1_VALFAT
aadd(aCabec,{"F1_FRETE" ,ValVlr(aNota[nFaz][15],2) })//F1_FRETE
aadd(aCabec,{"F1_SEGURO" ,ValVlr(aNota[nFaz][16],2) })//F1_SEGURO
aadd(aCabec,{"F1_DESPESA" ,ValVlr(aNota[nFaz][17],2) })//F1_DESPESA
//aadd(aCabec,{"F1_PREFIXO" ,aNota[nFaz][18] })//F1_PREFIXO
aadd(aCabec,{"F1_HORA" ,aNota[nFaz][19] })//F1_HORA
aadd(aCabec,{"F1_CHVNFE" ,aNota[nFaz][20] })//F1_CHVNFE
For nFazIte:=1 to len(aItens)
cIteAtu:= aItens[nFazIte][9]
IF(cNotaAt = cIteAtu)
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
lMsErroAuto := .F.
MSExecAuto({|x,y,z| mata910(x,y,z)},aCabec,aItensT,3) //Inclusao
If lMsErroAuto
MostraErro()
EndIF
Por favor Acessar ou Registrar para participar da conversa.
- Victor
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 171
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22266
por Victor
Ricardo,
Não consegui identificar seu erro. Faz assim:
Defina seu lMsErroAuto antes de passar os dados na execauto:
lMsErroAuto := .F.
aadd(aCabec,{"F1_TIPO" ,aNota[nFaz][02] })//F1_TIPO
aadd(aCabec,{"F1_FORMUL" ,aNota[nFaz][03] })//F1_FORMUL
aadd(aCabec,{"F1_DOC" ,aNota[nFaz][04] })//F1_DOC
aadd(aCabec,{"F1_SERIE" ,aNota[nFaz][05] })//F1_SERIE
aadd(aCabec,{"F1_EMISSAO" ,ValData(aNota[nFaz][06]) })//F1_EMISSAO
aadd(aCabec,{"F1_FORNECE" ,aCliente[1] })//F1_FORNECE
aadd(aCabec,{"F1_TIPOCLI" ,aNota[nFaz][08] })//F1_TIPOCLI
aadd(aCabec,{"F1_LOJA" ,aCliente[2] })//F1_LOJA
aadd(aCabec,{"F1_ESPECIE" ,aNota[nFaz][10] })//F1_ESPECIE
aadd(aCabec,{"F1_COND" ,aNota[nFaz][11] })//F1_COND
aadd(aCabec,{"F1_DESCONT" ,ValVlr(aNota[nFaz][12],2) })//F1_DESCONT
aadd(aCabec,{"F1_VALBRUT" ,ValVlr(aNota[nFaz][13],2) })//F1_VALBRUT
aadd(aCabec,{"F1_VALFAT" ,ValVlr(aNota[nFaz][14],2) })//F1_VALFAT
aadd(aCabec,{"F1_FRETE" ,ValVlr(aNota[nFaz][15],2) })//F1_FRETE
aadd(aCabec,{"F1_SEGURO" ,ValVlr(aNota[nFaz][16],2) })//F1_SEGURO
aadd(aCabec,{"F1_DESPESA" ,ValVlr(aNota[nFaz][17],2) })//F1_DESPESA
//aadd(aCabec,{"F1_PREFIXO" ,aNota[nFaz][18] })//F1_PREFIXO
aadd(aCabec,{"F1_HORA" ,aNota[nFaz][19] })//F1_HORA
aadd(aCabec,{"F1_CHVNFE" ,aNota[nFaz][20] })//F1_CHVNFE
For nFazIte:=1 to len(aItens)
cIteAtu:= aItens[nFazIte][9]
IF(cNotaAt = cIteAtu)
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
MSExecAuto({|x,y,z| mata910(x,y,z)},aCabec,aItensT,3) //Inclusao
If lMsErroAuto
MostraErro()
EndIF
Não consegui identificar seu erro. Faz assim:
Defina seu lMsErroAuto antes de passar os dados na execauto:
lMsErroAuto := .F.
aadd(aCabec,{"F1_TIPO" ,aNota[nFaz][02] })//F1_TIPO
aadd(aCabec,{"F1_FORMUL" ,aNota[nFaz][03] })//F1_FORMUL
aadd(aCabec,{"F1_DOC" ,aNota[nFaz][04] })//F1_DOC
aadd(aCabec,{"F1_SERIE" ,aNota[nFaz][05] })//F1_SERIE
aadd(aCabec,{"F1_EMISSAO" ,ValData(aNota[nFaz][06]) })//F1_EMISSAO
aadd(aCabec,{"F1_FORNECE" ,aCliente[1] })//F1_FORNECE
aadd(aCabec,{"F1_TIPOCLI" ,aNota[nFaz][08] })//F1_TIPOCLI
aadd(aCabec,{"F1_LOJA" ,aCliente[2] })//F1_LOJA
aadd(aCabec,{"F1_ESPECIE" ,aNota[nFaz][10] })//F1_ESPECIE
aadd(aCabec,{"F1_COND" ,aNota[nFaz][11] })//F1_COND
aadd(aCabec,{"F1_DESCONT" ,ValVlr(aNota[nFaz][12],2) })//F1_DESCONT
aadd(aCabec,{"F1_VALBRUT" ,ValVlr(aNota[nFaz][13],2) })//F1_VALBRUT
aadd(aCabec,{"F1_VALFAT" ,ValVlr(aNota[nFaz][14],2) })//F1_VALFAT
aadd(aCabec,{"F1_FRETE" ,ValVlr(aNota[nFaz][15],2) })//F1_FRETE
aadd(aCabec,{"F1_SEGURO" ,ValVlr(aNota[nFaz][16],2) })//F1_SEGURO
aadd(aCabec,{"F1_DESPESA" ,ValVlr(aNota[nFaz][17],2) })//F1_DESPESA
//aadd(aCabec,{"F1_PREFIXO" ,aNota[nFaz][18] })//F1_PREFIXO
aadd(aCabec,{"F1_HORA" ,aNota[nFaz][19] })//F1_HORA
aadd(aCabec,{"F1_CHVNFE" ,aNota[nFaz][20] })//F1_CHVNFE
For nFazIte:=1 to len(aItens)
cIteAtu:= aItens[nFazIte][9]
IF(cNotaAt = cIteAtu)
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
MSExecAuto({|x,y,z| mata910(x,y,z)},aCabec,aItensT,3) //Inclusao
If lMsErroAuto
MostraErro()
EndIF
Por favor Acessar ou Registrar para participar da conversa.
- rickbamen
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 7
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22267
por rickbamen
Vitor...
O problema é que não inclui a nota com o codigo que postei, apesar de não dar erro.
Sobre o que vc mencionou isso já é feito...apenas quando copiei faltou, mas ele já tem no meu codigo.
O engraçado é que ao terminar de executar a rotina ele abre a tela de inclusão de nota, mas não acho a nota que inseri...
Não sei se essa rotina precisa de alguma coisa, ou se ela é usada apenas para gerar uma nota complementar...
O problema é que não inclui a nota com o codigo que postei, apesar de não dar erro.
Sobre o que vc mencionou isso já é feito...apenas quando copiei faltou, mas ele já tem no meu codigo.
O engraçado é que ao terminar de executar a rotina ele abre a tela de inclusão de nota, mas não acho a nota que inseri...
Não sei se essa rotina precisa de alguma coisa, ou se ela é usada apenas para gerar uma nota complementar...
Por favor Acessar ou Registrar para participar da conversa.
- Victor
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 171
- Obrigados Recebidos: 0
- rickbamen
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 7
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22269
por rickbamen
Vitor...
O fonte é apenas o que te no post...
A unica coisa que ta faltando são os dois arrays de nota e itens que está mencionado no post...
Não tem nada de diferente....
Eu ja tentei executar MATA910, MATA103 e MATA140, mas não obtive sucesso na inclusão das notas em nenhuma das rotinas...
O fonte é apenas o que te no post...
A unica coisa que ta faltando são os dois arrays de nota e itens que está mencionado no post...
Não tem nada de diferente....
Eu ja tentei executar MATA910, MATA103 e MATA140, mas não obtive sucesso na inclusão das notas em nenhuma das rotinas...
Por favor Acessar ou Registrar para participar da conversa.
- Victor
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 171
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22270
por Victor
Andei dando uma pesquisada e não achei execauto na rotina MATA910.
Em um cliente fiz na MATA103 segue exemplo:
lmsErroAuto:= .T.
aCAB := {}
aITEM := {}
aadd( aCab, { "F1_TIPO" ,"N" })
aadd( aCab, { "F1_FORMUL" ,"N" })
aadd( aCab, { "F1_DOC" ,_cNumCTe })
aadd( aCab, { "F1_SERIE" ,_cSerCTe })
aadd( aCab, { "F1_EMISSAO" ,CtoD(_cEmissa) })
aadd( aCab, { "F1_FORNECE" ,_cCdFor })
aadd( aCab, { "F1_LOJA" ,_cLojaF })
aadd( aCab, { "F1_ESPECIE" ,"SPED" })
aadd( aCab, { "F1_COND" ,"001" })
AADD(aCab, {"F1_CHVNFE" ,_cChavNFE })
aadd( aCab, { "E2_NATUREZ" ,"2.3.14" })
aadd(aCab,{"E2_VENCTO",_dDtVenc})
Aadd( aITEM, { { "D1_ITEM" ,"0001" ,Nil }, ;
{ "D1_COD" ,"000086" ,Nil }, ;
{ "D1_QUANT" ,1 ,Nil }, ;
{ "D1_VUNIT" ,_nVlUnit ,Nil }, ;
{ "D1_TES" ,"209" ,Nil }, ;
{ "D1_HIST",_cHistFin ,NIL }})
lMSErroAuto := .F.
lMSHelpAuto := .T.
Begin Transaction
MSExecAuto({|x,y,z|MATA103(x,y,z)},aCAB, aITEM,3,NIL)
End Transaction
Em um cliente fiz na MATA103 segue exemplo:
lmsErroAuto:= .T.
aCAB := {}
aITEM := {}
aadd( aCab, { "F1_TIPO" ,"N" })
aadd( aCab, { "F1_FORMUL" ,"N" })
aadd( aCab, { "F1_DOC" ,_cNumCTe })
aadd( aCab, { "F1_SERIE" ,_cSerCTe })
aadd( aCab, { "F1_EMISSAO" ,CtoD(_cEmissa) })
aadd( aCab, { "F1_FORNECE" ,_cCdFor })
aadd( aCab, { "F1_LOJA" ,_cLojaF })
aadd( aCab, { "F1_ESPECIE" ,"SPED" })
aadd( aCab, { "F1_COND" ,"001" })
AADD(aCab, {"F1_CHVNFE" ,_cChavNFE })
aadd( aCab, { "E2_NATUREZ" ,"2.3.14" })
aadd(aCab,{"E2_VENCTO",_dDtVenc})
Aadd( aITEM, { { "D1_ITEM" ,"0001" ,Nil }, ;
{ "D1_COD" ,"000086" ,Nil }, ;
{ "D1_QUANT" ,1 ,Nil }, ;
{ "D1_VUNIT" ,_nVlUnit ,Nil }, ;
{ "D1_TES" ,"209" ,Nil }, ;
{ "D1_HIST",_cHistFin ,NIL }})
lMSErroAuto := .F.
lMSHelpAuto := .T.
Begin Transaction
MSExecAuto({|x,y,z|MATA103(x,y,z)},aCAB, aITEM,3,NIL)
End Transaction
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.136 segundos