Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Validar Schemas


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

Recommended Posts

Postado (editado)

estou tendo problemas com de validação de schemas na validação do campo transação, alguem sabe como resolver 

"Para Constar, estes testes que estou fazendo esta sendo feita com o aplicativo de exemplo da ACBR"

 

informo desta maneira:

ACBrNFSe1.NotasFiscais.Transacao := true;  (ja coloquei  minusculo, maiusculo e todas as combinacoes possivel)

 

 

ele gera o xml automaticamente e assina mas na hora de enviar ele nao passa nos testes de validação dizendo que o campo transação nao esta no tipo correto;

 

 

erro%20de%20valida%C3%A7%C3%A3o.png

Editado por ailtonbrc
Postado

Boa tarde Ailton,

 

Os fontes estão atualizados, pois notei que que essa TAG vai sempre receber os valores True ou False da seguinte forma: TRUE / FALSE.

 

eu atualizei os fontes e na linha 

ACBrNFSe1.NotasFiscais.Transacao := true mudei para TRUE, mas o erro persistiu. era apenas mudar isto mesmo ou entendi errado?

Postado (editado)

Boa tarde Ailton,

 

Os fontes estão atualizados, pois notei que que essa TAG vai sempre receber os valores True ou False da seguinte forma: TRUE / FALSE.

 

--->>> cara descobri o seguinte, o schemas valida o boolean apenas quando ele esta totalmente em minusculo, então eu procurei onde a variável transação era colocada dentro do xml e alterei para o conteúdo para minusculo e deu certo, mas da forma que mudei funciona  somente nesta variável, então tem que ser feito de forma que funcione em todos os xml. que são criado neste unit

 

Unit   :  pnfsNFSeG

Linha:  623

 

Era assim:

'<transacao>'            + Transacao   + '</transacao>' +

Mudei para:

 '<transacao>'            + LowerCase(Transacao)   + '</transacao>' +

 

---------------------------------------

Aproveitando:

               '<ValorTotalServicos>'   + ValorTotalServicos + '</ValorTotalServicos>' +

 

com o erro corrigido para a transação vai ocorrer outro erro devido ao formato da moeda, no exemplo ACBR no campo    Servico.Valores.ValorServicos := 1685.50;

 

mas quando ele e convertido para string para ser usado no codigo acima, na linha 627 da Unit :  pnfsNFSeG o valor chega na variavel  ValorTotalServicos com o valor 1685,50 Com virgula no lugar do ponto causando erro de validação , então precisa ser trocado o a virgula por ponto, nos locais onde esta variavel e utilizada.

 

 

----------------------------------------

em tempo: Cara eu tava lento meu post inicial eu coloquei o titulo com o nome de Chemas (quase cai de costas pelo erro) muda ai para Schemas, se puder.

Editado por ailtonbrc
  • Consultores
Postado

Bom dia Ailton,

 

Quanto o valor da propriedade Transação já fiz as correções e não foi no pnfsNFSeG e sim em outra unit.

 

Com relação a virgula em vez de ponto, verifique a configuração do Windows.

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

Postado (editado)

Para fazer estas alteracoes terei que ficar configurando o windows do cliente, isto é se eu esquecer na instalação do sistema ferrouu, tem como colocar em algum lugar este codigo para que a configuração seja automatica para as mudanças de formato de decimal?

 

como exemplo abaixo

$IFDEF VER240}

     SysUtils.FormatSettings.DecimalSeparator := '.';

{$ELSE}

     SysUtils.DecimalSeparator := '.';
{$ENDIF}

 

----- coloquei assim e resolveu mas para evitar de alguem esqecer de colocar no fonte e ficar postanto mens.  a respeito no grupo, se colocar direto no componente deve ser mais facil (pense a respeito)

 

procedure TfrmDemo_ACBrNFSe.FormCreate(Sender: TObject);
begin
 
   SysUtils.FormatSettings.DecimalSeparator := '.';
end;

Editado por ailtonbrc
  • Moderadores
  • Solution
Postado

Boa noite

isso mesmo !

então em sua aplicação pode setar isso na inicialização do seu sistema! ;)

Para fazer estas alteracoes terei que ficar configurando o windows do cliente, isto é se eu esquecer na instalação do sistema ferrouu, tem como colocar em algum lugar este codigo para que a configuração seja automatica para as mudanças de formato de decimal?

 

como exemplo abaixo

$IFDEF VER240}

     SysUtils.FormatSettings.DecimalSeparator := '.';

{$ELSE}

     SysUtils.DecimalSeparator := '.';
{$ENDIF}

 

----- coloquei assim e resolveu mas para evitar de alguem esqecer de colocar no fonte e ficar postanto mens.  a respeito no grupo, se colocar direto no componente deve ser mais facil (pense a respeito)

 

procedure TfrmDemo_ACBrNFSe.FormCreate(Sender: TObject);
begin
 
   SysUtils.FormatSettings.DecimalSeparator := '.';
end;

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Boa noite

isso mesmo !

então em sua aplicação pode setar isso na inicialização do seu sistema! ;)

 

eu setei no inicio esta funcionando, mas inicialmente pensei se esta funcionalidade estiver no componente, ai quando o caboclo nao colocar na aplicação, as funcionalidades do componente nao fica comprometida.

  • Moderadores
Postado

eu setei no inicio esta funcionando, mas inicialmente pensei se esta funcionalidade estiver no componente, ai quando o caboclo nao colocar na aplicação, as funcionalidades do componente nao fica comprometida.

Veja da seguinte maneira: isso é uma configuração particular que cada um pode querer ou precisar de um jeito, caso o componente venha a ter essa implementação, estaríamos obrigado a algo que nem todos seria necessário! não concorda? eu particularmente seto essas informações ao iniciar a aplicação caso veja necessário ! mas nem todas eu faço uso!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Veja da seguinte maneira: isso é uma configuração particular que cada um pode querer ou precisar de um jeito, caso o componente venha a ter essa implementação, estaríamos obrigado a algo que nem todos seria necessário! não concorda? eu particularmente seto essas informações ao iniciar a aplicação caso veja necessário ! mas nem todas eu faço uso!

olhando por este lado vc tem razao,.  vou manter no meu sistema, e se aparecer no grupo alguém perguntando pelo menos sabemos como resolver e repassaremos a dica.

  • Curtir 1
  • Este tópico foi criado há 3778 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.