Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 2210 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde!

Para atender um cliente madeireira precisei alterar o ACBr para aceitar Double ao invés de Integer no qVol - Quantidade de volumes transportados;

Segui o padrão do ACBr usando Currency, como na documentação fala apenas que é numérico, aqui deu certo a alteração;

 

Gostaria que analisassem e se possível subirem  no svn.

 

Segue as imagens de onde houve as alterações e os mesmos alterados.

 

Grato!

qVolManual.png

qVolNotasFiscais.png

qVolpcnNFe.png

qVolAlterado.jpeg

ACBrNFeNotasFiscais.pas pncNFe.pas

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

Postado

Valor numérico é inteiro.

Não existe meio volume de algo, pode ser ver claramente pelo schema e pela documentação que é esperado um número de tamanho 1 até no máximo 15 caracteres e sem casas décimais.

  • Curtir 2

 

Postado

Sim, mais dessa forma não passa na fiscalização

Agora, onyxsistemas disse:

Sim, mais dessa forma não passa na fiscalização

Madeireira trabalha com Metro cúbico, que é onde existe quebra;

Tanto que no arquivo ACBrNFeDANFEFRDM.pas já esta correto, como mostra a imagem anexada.

qVolACBrNFeDANFEFRDM.png

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

  • Consultores
Postado

Perguntas. o schema validou o seu xml?

tu conseguiu enviar ele para o sefaz e assinar?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Estou encontrando esse problema Juliomar, porque ao visualizar o DANFe, esta ok, mais ao enviar ele é arredondado de 18.56 para 19

4 minutos atrás, Juliomar Marchetti disse:

Perguntas. o schema validou o seu xml?

tu conseguiu enviar ele para o sefaz e assinar?

 

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

  • Moderadores
Postado
57 minutos atrás, onyxsistemas disse:

Segui o padrão do ACBr usando Currency, como na documentação fala apenas que é numérico, aqui deu certo a alteração;

Imprimir algo no DANFE diferente de como está no XML vai contra o manual e isso sim pode causar autuação.

Aqui nos casos em que o usuário insiste em mostrar a quantidade em M3 nos volumes transportados orientamos a informar multiplicado por 1000 e truncando as casas decimais.

Ex.:

10,83 M3 = 10830

2 M3 = 2000

5,8743 M3 = 5874

Dessa forma não deve ter problema com a fiscalização.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Analisando e pesquisando sobre qVol no acbr, existem vários lugares onde se passa dessa forma:

 

Result.AppendChild(AddNode(tcInt, 'X27', 'qVol  ', 01, 15, 1, NFe.Transp.Vol.qVol, DSC_QVOL));

Acredito que para funcionar com quebra, deveria ser tcDe2, tcDe3, tcDe4, tcDe6, tcDe8 ou tcDe10

3 minutos atrás, BigWings disse:

Imprimir algo no DANFE diferente de como está no XML vai contra o manual e isso sim pode causar autuação.

Aqui nos casos em que o usuário insiste em mostrar a quantidade em M3 nos volumes transportados orientamos a informar multiplicado por 1000 e truncando as casas decimais.

Ex.:

10,83 M3 = 10830

2 M3 = 2000

5,8743 M3 = 5874

Dessa forma não deve ter problema com a fiscalização.

Este ainda não foi testado, mais não existirá problemas por causa da vírgula?

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

  • Moderadores
Postado
1 minuto atrás, onyxsistemas disse:

Result.AppendChild(AddNode(tcInt, 'X27', 'qVol  ', 01, 15, 1, NFe.Transp.Vol.qVol, DSC_QVOL));

Acredito que para funcionar com quebra, deveria ser tcDe2, tcDe3, tcDe4, tcDe6, tcDe8 ou tcDe10

O campo qVol no layout é numérico, não permite decimais.

Se alterar dessa forma você vai ter erro de validação por schemas.

Quantidade de volumes transportados não é o mesmo que quantidade transportada.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
2 minutos atrás, BigWings disse:

O campo qVol no layout é numérico, não permite decimais.

Se alterar dessa forma você vai ter erro de validação por schemas.

Quantidade de volumes transportados não é o mesmo que quantidade transportada.

Estou tentando obter o xml assinado e validado na sefaz com esses dados que o usuário esta tentando fazer devolução. um momento por favor.

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

Postado

Não confunda, itens transportado com a quantidade de algo.
Você transportar 1 volume que contem 13, 5 Mts Quadrado, mas sempre transporta 1 ou mais volumes, se você divide um volume ele passa a ser 2 volumes transportados.
Por isso que disse não existe meio volume em transporte, você esta confundindo as coisas.
Agora so para deixar mais claro olhe um pouco abaixo ai no manual o campo pesoL ou pesoB e tu vai ver que o tamanho vai estar 12v3 este numero depois do v indica a quantidade de casas decimais que o campo aceita, podendo ter varias tais como 3v2-4, que significa 3 casa numéricas e de 2 ate 4 casas decimais.

Sem título.png

Caso ainda tenha duvidas olha o que o manual diz sobre isso na pagina 231

Citar

h) Coluna tamanho: x-y(vz), onde x indica o tamanho mínimo e y o tamanho máximo; v, quando presente, indica a possibilidade de valores decimais (vírgula) e z indica
a quantidade máxima de casas decimais do campo; a existência de um único valor indica que o campo tem tamanho fixo, devendo-se informar a quantidade de
caracteres exigidos, preenchendo-se os zeros não significativos; tamanhos separados por vírgula indicam que o campo deve ter um dos tamanhos fixos da lista.

 

  • Curtir 2

 

Postado
19 minutos atrás, Rafael Dias disse:

Não confunda, itens transportado com a quantidade de algo.
Você transportar 1 volume que contem 13, 5 Mts Quadrado, mas sempre transporta 1 ou mais volumes, se você divide um volume ele passa a ser 2 volumes transportados.
Por isso que disse não existe meio volume em transporte, você esta confundindo as coisas.
Agora so para deixar mais claro olhe um pouco abaixo ai no manual o campo pesoL ou pesoB e tu vai ver que o tamanho vai estar 12v3 este numero depois do v indica a quantidade de casas decimais que o campo aceita, podendo ter varias tais como 3v2-4, que significa 3 casa numéricas e de 2 ate 4 casas decimais.

Sem título.png

Caso ainda tenha duvidas olha o que o manual diz sobre isso na pagina 231

 

Cara.. leia novamente minha mensagem, eu sei o que estou falando, em nenhum momento falei de pesos, digo porque tem uma nova válida com o qVol como double;

Tenho certeza que se os componentes de terceiros estão fazendo isso, a sefaz esta aceitando e provavelmente é com os mesmos schemas, algo esta errado, 

pode ser eles ou nós, mais também não custa verificar e fazer o componente crescer, a comunidade esta aqui para apoiar e ajudar no que for preciso e como puder, assim que possível posto o xml para a equipe técnica analisar;

1 minuto atrás, onyxsistemas disse:

Cara.. leia novamente minha mensagem, eu sei o que estou falando, em nenhum momento falei de pesos, digo porque tem uma nova válida com o qVol como double;

Tenho certeza que se os componentes de terceiros estão fazendo isso, a sefaz esta aceitando e provavelmente é com os mesmos schemas, algo esta errado, 

pode ser eles ou nós, mais também não custa verificar e fazer o componente crescer, a comunidade esta aqui para apoiar e ajudar no que for preciso e como puder, assim que possível posto o xml para a equipe técnica analisar;

digo: nota válida

ONYX Tecnologia em Softwares
[ Simplicidade e Segurança ]
www.onyxsistemas.com
[email protected]
© ONYX Sistemas - Todos os Direitos Reservados

Postado

Você esta falando besteira e não vamos perder nosso tempo com isso, o manual é claro que você esta errado, se a SEFAZ aceita problema dela nos seguimos o manual e por isso o topico esta encerrado.

Afinal você não tem inteligência para entender uma coisa simples e nem leu o que foi passado, se quiser altere localmente e use, a sua sugestão não vai ser aceita pois esta fora dos padrões especificados.

  • Curtir 2

 

  • Consultores
Postado

Boa noite Onyx,

Você alterou o componente para que a tag <qVol> seja gerada com 2 casas decimais, correto?

Gerou o XML e mandou imprimir o DANFE, correto?

Foi impresso da forma que o seu cliente deseja, correto?

Depois assinou e tentou validar, correto?

Ocorreu erro na validação?

Com certeza sim, pois veja como esta definido no schema da SEFAZ essa tag:

<xs:element name="qVol" minOccurs="0">
	<xs:annotation>
		<xs:documentation>Quantidade de volumes transportados</xs:documentation>
	</xs:annotation>
	<xs:simpleType>
		<xs:restriction base="xs:string">
			<xs:whiteSpace value="preserve"/>
			<xs:pattern value="[0-9]{1,15}"/>
		</xs:restriction>
	</xs:simpleType>
</xs:element>

Na linha:

<xs:pattern value="[0-9]{1,15}"/>

Esta claro que a tag <qVol> pode conter de 1 até 15 caracteres que estejam dentro do dominio [0-9], ou seja, somente dígitos.

Na linha a baixo é um patter de uma tag que aceita até 15 dígitos,  sendo 13 de corpo (parte inteira) e 2  decimais.

<xs:pattern value="0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?"/>

Deu para perceber bem a diferença.

Resumindo não ainda você fazer a alteração que você fez pois o Schema não vai aceitar um numero real onde se espera um numero inteiro.

Mas vamos em frente e atrás vem gente.

Mantenha a sua alteração e comente a linha que realiza a validação do XML, desta forma, não vai ocorrer o erro de validação e o XML vai ser enviado para a SEFAZ.

Veja a linha que deve ser comentada a baixo:

function TACBrNFe.Enviar(const ALote: String; Imprimir: Boolean; Sincrono: Boolean;
  Zipado: Boolean): Boolean;
var
  i: integer;
begin
  WebServices.Enviar.Clear;
  WebServices.Retorno.Clear;
  
  (...)

  NotasFiscais.Assinar;
//  NotasFiscais.Validar;     Linha comentada para não realizar a validação do XML antes do seu envio

  Result := WebServices.Envia(ALote, Sincrono, Zipado);

  (...)

  end;
end;

Se a SEFAZ aceitar a tag <qVol> como sendo um numero real em vez de inteiro, podemos concluir duas coisas:

1. A SEFAZ não valida essa informação, ela simplesmente trata ela como sendo uma simples string com no máximo 15 caracteres.

2. A SEFAZ valida essa informação, logo os schemas disponibilizados por ela a anos esta errado a definição dessa tag.

Estou ansioso em saber se a nota foi autorizada ou não.

  • Curtir 3
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

  • Este tópico foi criado há 2210 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...