Ir para conteúdo
Fórum Script Brasil
  • 0

Remoção de caracteres especiais NF-E


edslazaro

Pergunta

Srs.

Serei obrigado a emitir Nota Fiscal Eletronica, que não aceita caracteres especiais (, ' ~ ^ % á ` ç Ç etc.). Como removo do meu BD estes caracteres? Achei alguns scripts pela net mais não confiei.

Editado por Jonathan Queiroz
Remover caixa alta do título (Jonathan)
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Amigo.

você pode retirar caracteres especiais utilizando o comando replace do SQL.

Outra coisa muito importante também: você terá q identificar qual o collate q está utilizando...

Vou dar um exemplo. Criei uma tabela temporária com dois collates diferentes.

-- criação da tabela

create table #teste (nome1 varchar(10) collate Latin1_General_CS_AS, nome2 varchar(10) collate Latin1_General_CI_AI)

-- inserção dos dados

insert into #teste (nome1, nome2) values ('CONCEIÇÃO', 'CONCEIÇÃO')

-- utilização do replace

select replace(nome1, 'ç', 'c') from #teste

select replace(nome2, 'ç', 'c') from #teste

Dependendo do collate, você terá q prestar atenção em algumas alterações inesperadas q podem ocorrer (exemplo do segundo select acima).

Uma dúvida: será q vale a pena você manipular toda sua base pra retirar estes caracteres? Não seria interessante você fazer um processo de tratamento dos dados, antes de enviar/disponibilizar a NF?

Espero ter ajudado. Caso tenha alguma duvida... :.)

Link para o comentário
Compartilhar em outros sites

  • 0

Agradecido, Fulvio

Valeu pela dica, o tenho muitos produtos que levam referencia ABNT e é complicado remover esses caracteres pois dificulta o entendimento. Estou analisando se removo os caracteres de toda a base ou se altero no cadastro do produto, o problema que são milhares deles.

Att,

EdsLazaro.

Boa tarde Amigo.

você pode retirar caracteres especiais utilizando o comando replace do SQL.

Outra coisa muito importante também: você terá q identificar qual o collate q está utilizando...

Vou dar um exemplo. Criei uma tabela temporária com dois collates diferentes.

-- criação da tabela

create table #teste (nome1 varchar(10) collate Latin1_General_CS_AS, nome2 varchar(10) collate Latin1_General_CI_AI)

-- inserção dos dados

insert into #teste (nome1, nome2) values ('CONCEIÇÃO', 'CONCEIÇÃO')

-- utilização do replace

select replace(nome1, 'ç', 'c') from #teste

select replace(nome2, 'ç', 'c') from #teste

Dependendo do collate, você terá q prestar atenção em algumas alterações inesperadas q podem ocorrer (exemplo do segundo select acima).

Uma dúvida: será q vale a pena você manipular toda sua base pra retirar estes caracteres? Não seria interessante você fazer um processo de tratamento dos dados, antes de enviar/disponibilizar a NF?

Espero ter ajudado. Caso tenha alguma duvida... :.)

:)

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde. É... o problema q estou vendo ai será a quantidade. A manipulação de caracteres em geral é sempre bem pesada. você pode gerar uma função ou procedure q altere os caracteres pra você. Caso você opte por alterar a base toda, corre o risco do processo não conseguir terminar.... :.( Isto por causa da quantidade de inserções q terão q ser manipuladas. Aconselho fazer uma estatística de execução pra saber qual o tempo q gastará pra realizar as manipulações. Dependendo do resultado, a idéia já é descartada.

você acabará tendo q realizar esta manipulação on line, quer dizer, na hora da emissão da NFe...

Se tiver alguma dúvida, pode postar!! :.)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...