Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema na atualização de status de pedidos #24

Closed
DiegoGermano opened this issue Oct 27, 2018 · 5 comments
Closed

Problema na atualização de status de pedidos #24

DiegoGermano opened this issue Oct 27, 2018 · 5 comments

Comments

@DiegoGermano
Copy link

Olá boa tarde.
Já faz um tempo estou com um problema na atualização de status dos pedidos da minha loja, o problema é que por algum motivo essa funcionalidade para de funcionar devido a um erro na função de atualização.

Tentei analisar, fiz vários testes e não descobri o erro. O que estou fazendo como solução temporária é apagar os registros da tabela de notificações do banco de dados, dessa maneira o erro para de acontecer, mas depois de um tempo isso volta a se repetir.

O erro acontece por que o $ID estsá nulo (por algum motivo) gerando um erro de sintaxe nesse arquivo
app/code/local/Gerencianet/Transparent/Model/Mysql4/Notifications.php

Na função getAll($ID =NULL)

Estou usando a versão 1.9.3.1

PHP 5.6

LOG:
Mensagem:
---EXCEPTION---
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')'
at line 1 in /home/viasaude/public_html/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /home/viasaude/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /home/viasaude/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/viasaude/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home/viasaude/public_html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#4 /home/viasaude/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT gerenci...', Array) #5 /home/viasaude/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('SELECT gerenci...', Array)
#6 /home/viasaude/public_html/lib/Zend/Db/Adapter/Abstract.php(737): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `gerenci...', Array)
#7 /home/viasaude/public_html/app/code/local/Gerencianet/Transparent/Model/Mysql4/Notifications.php(42): Zend_Db_Adapter_Abstract->fetchAll(Object(Varien_Db_Select))
#8 /home/viasaude/public_html/app/code/local/Gerencianet/Transparent/Model/Updater.php(25): Gerencianet_Transparent_Model_Mysql4_Notifications->getAll(Object(Aoe_Scheduler_Model_Schedule))
#9 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Schedule.php(196): Gerencianet_Transparent_Model_Updater->updatecharge(Object(Aoe_Scheduler_Model_Schedule))
#10 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Schedule.php(582): Aoe_Scheduler_Model_Schedule->runNow(true)
#11 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Observer.php(39): Aoe_Scheduler_Model_Schedule->process()
#12 /home/viasaude/public_html/app/code/core/Mage/Core/Model/App.php(1358): Aoe_Scheduler_Model_Observer->dispatch(Object(Varien_Event_Observer))
#13 /home/viasaude/public_html/app/code/core/Mage/Core/Model/App.php(1337): Mage_Core_Model_App->_callObserverMethod(Object(Aoe_Scheduler_Model_Observer), 'dispatch', Object(Varien_Event_Observer))
#14 /home/viasaude/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('default', Array)
#15 /home/viasaude/public_html/shell/scheduler.php(376): Mage::dispatchEvent('default', Array)
#16 /home/viasaude/public_html/shell/scheduler.php(37): Aoe_Scheduler_Shell_Scheduler->cronAction()
#17 /home/viasaude/public_html/shell/scheduler.php(403): Aoe_Scheduler_Shell_Scheduler->run()
#18 {main}

Next Zend_Db_Statement_Exception: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near ')' at line 1, query was:

SELECT gerencianet_notifications.* FROM gerencianet_notifications WHERE (charge_id = ) in /home/viasaude/public_html/lib/Zend/Db/Statement/Pdo.php:235

Stack trace:
#0 /home/viasaude/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/viasaude/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /home/viasaude/public_html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /home/viasaude/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT gerenci...', Array) #4 /home/viasaude/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('SELECT gerenci...', Array)
#5 /home/viasaude/public_html/lib/Zend/Db/Adapter/Abstract.php(737): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `gerenci...', Array)
#6 /home/viasaude/public_html/app/code/local/Gerencianet/Transparent/Model/Mysql4/Notifications.php(42): Zend_Db_Adapter_Abstract->fetchAll(Object(Varien_Db_Select))
#7 /home/viasaude/public_html/app/code/local/Gerencianet/Transparent/Model/Updater.php(25): Gerencianet_Transparent_Model_Mysql4_Notifications->getAll(Object(Aoe_Scheduler_Model_Schedule))
#8 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Schedule.php(196): Gerencianet_Transparent_Model_Updater->updatecharge(Object(Aoe_Scheduler_Model_Schedule))
#9 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Schedule.php(582): Aoe_Scheduler_Model_Schedule->runNow(true)
#10 /home/viasaude/public_html/app/code/community/Aoe/Scheduler/Model/Observer.php(39): Aoe_Scheduler_Model_Schedule->process()
#11 /home/viasaude/public_html/app/code/core/Mage/Core/Model/App.php(1358): Aoe_Scheduler_Model_Observer->dispatch(Object(Varien_Event_Observer))
#12 /home/viasaude/public_html/app/code/core/Mage/Core/Model/App.php(1337): Mage_Core_Model_App->_callObserverMethod(Object(Aoe_Scheduler_Model_Observer), 'dispatch', Object(Varien_Event_Observer))
#13 /home/viasaude/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('default', Array)
#14 /home/viasaude/public_html/shell/scheduler.php(376): Mage::dispatchEvent('default', Array)
#15 /home/viasaude/public_html/shell/scheduler.php(37): Aoe_Scheduler_Shell_Scheduler->cronAction()
#16 /home/viasaude/public_html/shell/scheduler.php(403): Aoe_Scheduler_Shell_Scheduler->run()

@adriencastro
Copy link

olá boa tarde, você conseguiu ajuda sobre isso? estou tambem com o mesmo problema. o gerencianet não atualiza o status, e no meu caso é ainda pior pois os pedidos realizados pelo gerencianet não entram no painel de cliente.

@DiegoGermano
Copy link
Author

Olá Adrien, infelizmente ainda não.

Suporte do Gerencia Net, deixa muito a desejar. Não estou recomendando mais para meus clientes.

Eles oferem o módulo e não dão o suporte adequado.

Ainda estou no aguardo.

@fcruzatti
Copy link

Para quem ainda está com este problema, acontece que quando a função updatecharge é executada via cron, ela recebe um objeto ao invés de uma string na variável $ID.
Para resolver, basta mudar a condição no arquivo Notification.php, na função getAll de:

if($ID) {

para:

if((!empty($ID)) && (!is_object($ID))) {

Desta forma a condição não é aplicada no select, o que causa em erro ao tentar converter para uma string.

@pallomabritoGN
Copy link
Contributor

Olá pessoal! Tudo bem?
Recentemente liberamos algumas atualizações com melhorias e correções. Inclusive, o módulo agora é compatível com o OpenMage.
Recomendamos atualizar o módulo e verificar se o comportamento foi normalizado.
Vale lembrar que estamos abertos a feedbacks buscando melhorar as ferramentas oferecidas!
Você consegue acompanhar essas novidades através da nossa comunidade no Discord
Ou através dos tickets de suporte! Dessa forma, você consegue dar seu feedback e tirar suas dúvidas de maneira mais fácil e rápida!
Para abrir um ticket basta clicar aqui!
Quaisquer dúvidas, estamos à disposição!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
@DiegoGermano @fcruzatti @adriencastro @jvoliveiraGN @pallomabritoGN and others