Giter VIP home page Giter VIP logo

projetoacbr / acbr Goto Github PK

View Code? Open in Web Editor NEW
43.0 12.0 26.0 1.06 GB

Mirror não oficial do Projeto ACBr

Home Page: https://www.projetoacbr.com.br

Batchfile 0.03% Inno Setup 0.03% Pascal 87.70% C++ 0.23% PHP 0.06% C 0.53% Java 4.77% C# 3.13% Shell 0.02% TSQL 0.01% xBase 0.52% HTML 0.31% JavaScript 0.08% Dockerfile 0.01% Makefile 0.01% Visual Basic 6.0 2.50% Python 0.05% Hack 0.03%
nfe nfce mdfe cte sat esocial sped

acbr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acbr's Issues

ACBrOpenDelivery - Erro ao receber json array informando tipo de Erro

No projeto de Demo: AcbrOpenDelivery_DemoVCL

Após incluir um pedido fake, e listar ele com o botão Polling e depois pego o seu "Order ID", na aba Orders (Pedidos) é clicado no botão "Get Order details" com o o "Order ID" informado.

Depois que puxou os detalhes, é aguardado um tempo...

Supondo que passe do tempo limite, e não possa mais cancelar remotamente...

É tentado clicar em "Confirm", logicamente para confirmar o pedido.

É retornado uma mensagem de erro em json:
'[{"code":501,"message":"Invalid Status"}]'

Até aqui, tudo certo pois o status não pode mais ser modificado para confirmado, pois excedeu o tempo.

Só que no código é gerado a exceção:
"Invalid class typecast"

Esse erro ocorre na função: "TACBrJSONObject.Parse" que redireciona para a
"TACBrJSONObject.CreateJsonObject", que ao receber o texto do json,
esta tentando transformar o json acima, em um TJsonObject (Simples),
mas ele é um JsonArray.

E ai que ocorre o erro, pois não é possível transformar.

Isso ocorre ao tentar executar:
Result := TJsonObject.Parse(AJsonString) as TJsonObject

Finalizando no bloco da exception.

Fato observado, é que ao retornar algo que NÃO seja um JsonArray, então Não ocorrerá o erro, por exemplo,
se for retornado:
{"code":501,"message":"Invalid Status"}
< observe que não é um json array, e sim um json simples >
Nesse caso, NÃO é gerado uma exceção e o código executa sem erros.

No entanto, conforme documentação da opendelivery, é sempre retornado um JsonArray para erro 501.
Portanto, precisamos de uma correção no código.

Observação: esta ativa a diretiva "USE_JSONDATAOBJECTS_UNIT"

Captura de tela 2022-11-10 162905

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.