Ir para conteúdo
  • Cadastre-se

dev botao

5 Correções Para Uma Mesma Nfe


Ver Solução Respondido por Carlos Tre,
  • Este tópico foi criado há 4010 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Utilizando o demo do ACBrNFe como eu procedo para fazer 5 correções (CCe) numa mesma NF-e, sendo que cada correção tem 100 caracteres ? (totalizando 500 caracteres)

 

Muito obrigado pela atenção.

Márcio

  • Consultores
Postado

Boa tarde Márcio,

 

E qual é o problema de totalizar 500 caracteres ou 500 bytes?

 

O XML final a ser enviado para SEFAZ tem que ficar dentro dos 500 Kbytes.

 

E 500 bytes é 1/2 KByte (arredondando).

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Moderadores
Postado

Complementando o Italo, lembre que a carta de correção é cumulativa para a nota, a ultima sempre sobrepõe todas as outras, portanto, deve conter sempre todas as correções até o momento.

Como você deseja fazer 5 correções o correto seria fazer as 5 todas em uma mesma CC-e e não fazer 5 em sequencia.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

É que pelo demo do ACBrNFe (infEvento.detEvento.xCorrecao := Correcao;) esta variável para o texto da correção está definida como string (255 caracteres).

Na classe utilizada a propriedade 'xCorrecao' também está como string (255) portanto não dará certo eu colocar 500 caracteres para uma só CCe.

Como eu não sei se alterando a classe detEvento.'xCorreção' de string para widestring poderei afetar negativamente as demais units do ACBrNFe então surgiu a dúvida (ex-idéia..rs) de fazer 5 CCe´s de 100 caracteres cada.

Dessa forma eu acho (me corrijam se eu escrever besteira) que nem criando um form próprio p/ 500 caracteres eu conseguirei o que pretendo. Estou certo?

 

Muito obrigado pela atenção.

Postado (editado)

Régys,

Primeiramente muito obrigado pelo retorno e pela aula.

Mas porque está ocorrendo o seguinte erro quando compilo o demo:

 

Alterei a linha

infEvento.detEvento.xCorrecao := Correcao;

para

infEvento.detEvento.xCorrecao := 'CFOP Correto......Natureza correta......Transportador.......Dados Adicionais................'  (até completar 500 caracteres)

(isto é, eu digitei o texto que eu preciso no lugar da variável Correcao)

 

Ao compilar o demo dá o seguinte erro exatamente nessa linha que alterei:

"String literals may have at most 255 elements"

 

Por isso eu supus (errado cf vc me mostrou) que uma variável string estava limitada a 255 caracteres.

 

Mas aí, dentro da sua enorme paciência, pergunto:

Por que está dando esse erro exatamente onde eu alterei? (colocando um texto de 500 caracteres no lugar de uma variável)

 

Novamente muito obrigado pela atenção e ajuda.

 

Márcio

Editado por M_Albuquerque
  • Solution
Postado (editado)

Márcio,

 

Esta é uma limitação que vem dos tempos do Turbo Pascal, e é interna ao compilador. Constantes (ou "string literals") são limitadas em 255 caracteres, variáveis tipo string, não. O que você precisa fazer é algo do tipo:

  infEvento.detEvento.xCorrecao := 'CFOP Correto......' + // string literal 1 abaixo de 255 caracteres
                                   'Natureza correta..' + // string literal 2 abaixo de 255 caracteres
                                   .... e assim por diante

Cordialmente,

Carlos

Editado por Carlos Tre
  • Curtir 1
  • Este tópico foi criado há 4010 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...