Conflito de Dados

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

AutomoSistema
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 27 Nov 2015 22:09
Localização: Jardim-MS

Conflito de Dados

Mensagem por AutomoSistema »

Boa Tarde, amigos estou com um problema q nunca deparei. Realizei um importação de uma Tabela de Produto para Dbf de um aplicativo fiscal meu, até ai tudo bem. Só q qdo vou emitir uma NFCE da erro rejeição no esquema da XML, motivo erro nos caracteres inválido ai eu troco a dbf produto de um outro cliente vai tudo bem, gera a NFCE. Pergunto se alguem pode me ajudar.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Conflito de Dados

Mensagem por JoséQuintas »

Provavelmente caractere inválido. Talvez por exemplo & CIA LTDA. O "E" comercial, ou macro do Harbour, não vale.

Em todo caso, você pode facilmente criar um programa de teste pra validar caracteres, e ir fazendo por exclusão.

Por exemplo:

Código: Selecionar todos


FUNCTION Main( cFileName )

   LOCAL cText, cLetra

   ctext := MemoRead( cFileName )

   FOR EACH cLetra IN cText
      DO CASE
      CASE cLetra $ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
      CASE cLetra $ "abcdefghijklmnopqrstuvwxyz"
      CASE cLetra $ "0123456789"
      OTHERWISE
         ? cLetra, Asc( cLetra ), cLetra:__EnumIndex, Substr( cText, cLetra:__EnumIndex - 20, 40 )
      ENDCASE
   NEXT

   RETURN NIL
Nota:

:__EnumIndex equivale ao "contador", de 1 a 999999 (tamanho do arquivo), que corresponde a posição da letra em questão no arquivo
Substr() - é pra mostrar o texto que corresponde a 40 caracteres, começando 20 posições antes da atual, assim dá pra ver o texto

É só ir acrescentando mais letras conforme forem aparecendo.
Vai ter aspas, mais, menos, ponto, vírgula, <, >, etc.
O que sobrar vai ser algo a verificar.

Lembre-se do "E" comercial que é inválido, tipo "ANTONIO & CIA LTDA". Eu troquei por E há muito tempo e ninguém reclamou. "ANTONIO E CIA LTDA".

Nota2: criei o fonte durante a digitação do post, então não foi testado pra ver se estava correto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
AutomoSistema
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 27 Nov 2015 22:09
Localização: Jardim-MS

Conflito de Dados

Mensagem por AutomoSistema »

Boa Noite, Vou citar um exemplo q acontece, o nome do campo é produto tamanho 50 caracteres contendo um produto com o nome CARNE COXAO MOLE. Só isso
no campo e nada mais e o erro acontece.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Conflito de Dados

Mensagem por JoséQuintas »

Tem certeza de que o erro é nesse nome?
Faça o teste que mencionei.

Verifica também espaço em branco antes e depois do nome.
<nome> a </nome>
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Conflito de Dados

Mensagem por Poka »

Olá

Se veio de transferência, apaga o nome e escreve novamente. Aconteceu comigo esses dias. Tava tudo certo mas internamente não, sei lá o que aconteceu.
Detalhe , era quase meia noite com o cliente. Ele ia sair de manhã com a mercadoria. kkk

Poka
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Conflito de Dados

Mensagem por JoséQuintas »

AutomoSistema escreveu: Vou citar um exemplo q acontece, o nome do campo é produto tamanho 50 caracteres contendo um produto com o nome CARNE COXAO MOLE. Só issono campo e nada mais e o erro acontece.
E vou citar outro exemplo que acontece:
Quando o Windows não reconhece o caractere, ele não mostra nada, então não adianta olhar que não vai enxergar nada diferente.
Só mesmo fazendo teste.

Isso de codepage vai longe, vão ser muitos anos ainda pra não ter problema de codificação de texto.
Talvez quando padronizar pra UTF-8 inventem outro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
AutomoSistema
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 27 Nov 2015 22:09
Localização: Jardim-MS

Conflito de Dados

Mensagem por AutomoSistema »

Boa noite, não tive tempo para realizar o teste amigo, porem eu e o dono do mercado resolvemos cadastrar tudo de novo. Obrigado pela ajuda.
Responder