- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- MATA103 Problema ao incluir Nota de Entrada
×
Linguagem de Programação ADVPL
Perguntas MATA103 Problema ao incluir Nota de Entrada
- angeloprotti1
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 28
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22303
por angeloprotti1
MATA103 Problema ao incluir Nota de Entrada foi criado por angeloprotti1
Boa tarde Senhores
Estou com um probleminha na minha rotina para inclusão de nota de entrada na rotina automática..
São 2 situações ..
Se eu incluir adicionando o numero da CTE ({'F1_CHVNFE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,aPre[len(aPre), 9],''),NIL},; ),
ele acusa erro que o numero é invalido aDanfe[13] .. e eu preciso adicionar esse campo..
Outro item que acusa o mesmo problema é o campo da TES Ex.(//{'D1_TES' ,"143" ,NIL},
acusa TES invalida.. se eu retirar esses dois campos da lista, ele inclui a nota de entrada normalmente.. até com o campo TES, não sei de onde ele busca..
Poderiam me auxiliar nesse caso ?
Segue o Fonte , Muito obrigado !
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
/*
Função utilizada para inclusão de pré-nota do Frete (FRTLOG)
*/
User Function tMt140(aPre, lRet)
Local nOpc := 0
private aCabec := {}
private aItens := {}
private aItem := {}
private aLinha := {}
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private lAutoErrNoFile := .F.
//Private lPcNfe := GETMV("MV_PCNFE") // Guarda o conteudo do parametro
PutMV("MV_PCNFE",'F') // Torca para .F. permitindo entrada de nf sem pedido de compras
GRFRETE(aCabec, aItem,aPre)
AADD(aItens,aItem)
lMSHelpAuto := .T.
lMSErroAuto := .F.
nOpc := 3
MSExecAuto({|x,y,z| MATA103(x,y,z)}, aCabec, aItens, nOpc)
//MATA140
If lMsErroAuto
MostraErro()
Retorn := '2'
Else
Retorn := '1'
EndIf
PutMV("MV_PCNFE",'T')
Return (Retorn)
Static Function GRFRETE (aCabec, aItem,aPre)
Local cTes
IF (LEN(ALLTRIM(aPre[len(aPre), 9]))==44) //CTE
cTes := "155"
ELSE
IF ALLTRIM(Posicione("SA2",1,xFilial("SA2")+aPre[len(aPre), 6]+aPre[len(aPre), 7],"A2_MUN")) == "CAMPINAS"
cTes := "153"
ELSE
cTes := "143"
ENDIF
ENDIF
aCabec := {{'F1_TIPO' ,aPre[len(aPre), 1] ,NIL},;
{'F1_FORMUL' ,aPre[len(aPre), 2] ,NIL},;
{'F1_DOC' ,aPre[len(aPre), 3] ,NIL},;
{'F1_SERIE' ,aPre[len(aPre), 4] ,NIL},;
{'F1_EMISSAO' ,aPre[len(aPre), 5] ,NIL},;
{'F1_FORNECE' ,aPre[len(aPre), 6] ,NIL},;
{'F1_LOJA' ,aPre[len(aPre), 7] ,NIL},;
{'F1_EST' ,aPre[len(aPre), 8] ,NIL},;
{'F1_DTDIGIT' ,dDataBase ,NIL},;
{'F1_RECBMTO' ,dDatabase ,NIL},;
{'F1_ESPECIE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'CTE','NFS') ,NIL},;
{'F1_COND' ,'001' ,NIL},;
{'F1_ZZCHFRE' ,aPre[len(aPre), 12] ,NIL}}
//{'F1_ESPECIE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'CTE','NFS') ,NIL},;
//{'F1_CHVNFE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,aPre[len(aPre), 9],''),NIL},;
aItem := {}
aItem := {{'D1_COD' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'607000004','603000087') ,NIL},;
{'D1_UM' ,'UN' ,NIL},;
{'D1_CF' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'1352',IIF(aPre[len(aPre), 8]=='SP','1933','2933')) ,NIL},;
{'D1_LOJA' ,aPre[len(aPre), 7] ,NIL},;
{'D1_SERIE' ,aPre[len(aPre), 4] ,NIL},;
{'D1_CONTA' ,'501010101030023' ,NIL},;
{'D1_QUANT' ,1.00 ,NIL},;
{'D1_VUNIT' ,aPre[len(aPre), 10] ,NIL},;
{'D1_TOTAL' ,aPre[len(aPre), 10] ,NIL},;//VALOR
{'D1_ITEMCTA' ,aPre[len(aPre), 11] ,NIL},;
{'D1_CC' ,'60301' ,NIL}}
// {'D1_PEDIDO' ,'030107' ,NIL},;
//{'D1_ITEMPC' ,'0001' ,NIL},;
//{'D1_TES' ,"143" ,NIL},;
//{'D1_TESCLA' ,"143" ,NIL},;
Return
Estou com um probleminha na minha rotina para inclusão de nota de entrada na rotina automática..
São 2 situações ..
Se eu incluir adicionando o numero da CTE ({'F1_CHVNFE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,aPre[len(aPre), 9],''),NIL},; ),
ele acusa erro que o numero é invalido aDanfe[13] .. e eu preciso adicionar esse campo..
Outro item que acusa o mesmo problema é o campo da TES Ex.(//{'D1_TES' ,"143" ,NIL},
acusa TES invalida.. se eu retirar esses dois campos da lista, ele inclui a nota de entrada normalmente.. até com o campo TES, não sei de onde ele busca..
Poderiam me auxiliar nesse caso ?
Segue o Fonte , Muito obrigado !
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
/*
Função utilizada para inclusão de pré-nota do Frete (FRTLOG)
*/
User Function tMt140(aPre, lRet)
Local nOpc := 0
private aCabec := {}
private aItens := {}
private aItem := {}
private aLinha := {}
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private lAutoErrNoFile := .F.
//Private lPcNfe := GETMV("MV_PCNFE") // Guarda o conteudo do parametro
PutMV("MV_PCNFE",'F') // Torca para .F. permitindo entrada de nf sem pedido de compras
GRFRETE(aCabec, aItem,aPre)
AADD(aItens,aItem)
lMSHelpAuto := .T.
lMSErroAuto := .F.
nOpc := 3
MSExecAuto({|x,y,z| MATA103(x,y,z)}, aCabec, aItens, nOpc)
//MATA140
If lMsErroAuto
MostraErro()
Retorn := '2'
Else
Retorn := '1'
EndIf
PutMV("MV_PCNFE",'T')
Return (Retorn)
Static Function GRFRETE (aCabec, aItem,aPre)
Local cTes
IF (LEN(ALLTRIM(aPre[len(aPre), 9]))==44) //CTE
cTes := "155"
ELSE
IF ALLTRIM(Posicione("SA2",1,xFilial("SA2")+aPre[len(aPre), 6]+aPre[len(aPre), 7],"A2_MUN")) == "CAMPINAS"
cTes := "153"
ELSE
cTes := "143"
ENDIF
ENDIF
aCabec := {{'F1_TIPO' ,aPre[len(aPre), 1] ,NIL},;
{'F1_FORMUL' ,aPre[len(aPre), 2] ,NIL},;
{'F1_DOC' ,aPre[len(aPre), 3] ,NIL},;
{'F1_SERIE' ,aPre[len(aPre), 4] ,NIL},;
{'F1_EMISSAO' ,aPre[len(aPre), 5] ,NIL},;
{'F1_FORNECE' ,aPre[len(aPre), 6] ,NIL},;
{'F1_LOJA' ,aPre[len(aPre), 7] ,NIL},;
{'F1_EST' ,aPre[len(aPre), 8] ,NIL},;
{'F1_DTDIGIT' ,dDataBase ,NIL},;
{'F1_RECBMTO' ,dDatabase ,NIL},;
{'F1_ESPECIE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'CTE','NFS') ,NIL},;
{'F1_COND' ,'001' ,NIL},;
{'F1_ZZCHFRE' ,aPre[len(aPre), 12] ,NIL}}
//{'F1_ESPECIE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'CTE','NFS') ,NIL},;
//{'F1_CHVNFE' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,aPre[len(aPre), 9],''),NIL},;
aItem := {}
aItem := {{'D1_COD' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'607000004','603000087') ,NIL},;
{'D1_UM' ,'UN' ,NIL},;
{'D1_CF' ,IIF(LEN(ALLTRIM(aPre[len(aPre), 9]))==44,'1352',IIF(aPre[len(aPre), 8]=='SP','1933','2933')) ,NIL},;
{'D1_LOJA' ,aPre[len(aPre), 7] ,NIL},;
{'D1_SERIE' ,aPre[len(aPre), 4] ,NIL},;
{'D1_CONTA' ,'501010101030023' ,NIL},;
{'D1_QUANT' ,1.00 ,NIL},;
{'D1_VUNIT' ,aPre[len(aPre), 10] ,NIL},;
{'D1_TOTAL' ,aPre[len(aPre), 10] ,NIL},;//VALOR
{'D1_ITEMCTA' ,aPre[len(aPre), 11] ,NIL},;
{'D1_CC' ,'60301' ,NIL}}
// {'D1_PEDIDO' ,'030107' ,NIL},;
//{'D1_ITEMPC' ,'0001' ,NIL},;
//{'D1_TES' ,"143" ,NIL},;
//{'D1_TESCLA' ,"143" ,NIL},;
Return
Por favor Acessar ou Registrar para participar da conversa.
- angeloprotti1
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 28
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22311
por angeloprotti1
Respondido por angeloprotti1 no tópico MATA103 Problema ao incluir Nota de Entrada
Um detalhe interessante é que na pré nota de entrada ele gera com todas as informações que preciso na nota de entrada..
Por favor Acessar ou Registrar para participar da conversa.
- angeloprotti1
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 28
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22362
por angeloprotti1
Respondido por angeloprotti1 no tópico MATA103 Problema ao incluir Nota de Entrada
Descobri, eu estava fazendo os testes na base de homologação e há um parâmetro ativo na produção (copia da base e binarios..) que estava .T. e ele checava se era válida a chave do CTE..
o Problema era o TSS que não estava configurado no homolog, então gerava o problema, corrigindo isso até a TES funcionou normalmente..
Obrigado Galera
Um abraço
o Problema era o TSS que não estava configurado no homolog, então gerava o problema, corrigindo isso até a TES funcionou normalmente..
Obrigado Galera
Um abraço
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- MATA103 Problema ao incluir Nota de Entrada
Tempo para a criação da página:0.074 segundos