eu estava gerando Notas Fiscais de entrada através da rotina MSExecAuto({|x,y,z| mata103(x,y,z)},aCabec,aItens,3)
Conferi os dados, tudo certinho. Só que na hora de gerar a nota, a função MostraERRO() gerava o seguinte aviso:
HELP: REGNOIS
Não existe registro relacionado a este
código.
Tabela SF1 18/02/11 16:48:56
- cTipo :=N
- cFormul :=N
- cNFiscal :=102454
- cSerie :=01
- dDEmissao :=18/02/11
- cA100For :=000005
- cLoja :=01 < -- Invalido - cEspecie :=NFE - cUfOrig :=PB
Não existe registro relacionado a este
código.
Tabela SF1 18/02/11 16:48:56
- cTipo :=N
- cFormul :=N
- cNFiscal :=102454
- cSerie :=01
- dDEmissao :=18/02/11
- cA100For :=000005
- cLoja :=01 < -- Invalido - cEspecie :=NFE - cUfOrig :=PB
Só que a loja era realmente do fornecedor e todos os outros dados estavam corretos. A não ser por um detalhe. O código do fornecedor está com tamanho igual a 6, porém o campo correspondente do Protheus estava com tamanho 14. Nada muito haver com o erro apresentado pelo Protheus, mas que causou bastante dor de cabeça. Então na linha:
aadd(aCabec,{"F1_FORNECE","000005"})
Eu fiz assim:
aadd(aCabec,{"F1_FORNECE","000005 "})
E a rotina funcionou normalmente.
Resumo da história, é altamente recomendável usar códigos com o mesmo tamanho do campo.
Fala meu amigo, tudo em cima!?
ResponderExcluirPrimeiramente gostaria de elogiar seu blog, hoje infelizmente temos poucos canais sobre a linguagem ADVPL...
Enfim, materia muito boa... só um detalhe, em determinado momento você menciona que a rotina automatica "MATA103" é utilizada na geração de NF de SAÍDA, não seria ENTRADA?
Forte abraço!
Paulo Lima
Verdade Paulo Lima, faz tempo que postei isso e não revisei. Mas agora está corrigido. Obrigado pelo dica.
ResponderExcluirGostei do blog. Muitas dicas. Quando tiver um tempo, acesse: http://microsigadvpl.blogspot.com, tem muitas dicas de ADVPL / TOTVS Protheus.
ResponderExcluirObrigado!