Closed marcosnolasco closed 8 years ago
Boa tarde Marcos Para o monitoramento funcionar:
Eu atualizei para a versão v4.7.2 utilizando o magento conect, e ainda assim essa opção não aparece. Depois que instalei pelo conect, limpei cache também fiz logout e não aparece a opção. A intalação pelo conect não funciona?
Amigo, na ultima versão lançada no arquivo de system.xml, não tem as novas configurações.
<sro_tracking_job translate="label">
+ <label>Ativar Monitoramento das Encomendas</label>
+ <frontend_type>select</frontend_type>
+ <source_model>adminhtml/system_config_source_yesno</source_model>
+ <sort_order>270</sort_order>
+ <show_in_default>1</show_in_default>
+ <show_in_website>1</show_in_website>
+ <show_in_store>1</show_in_store>
+ <comment>Ao ativar o monitoramento, os pedidos na situação Pedido em Transporte são rastreados regularmente. Toda movimentação fica registrada nos comentários da entrega. Pedidos em situações adversas são classificados como Dificuldade de Entrega, mas continuam sendo monitorados. Pedidos entregues são classificados como Transação Concluída, e deixam de ser monitorados. O cliente é notificado via e-mail, em eventos que necessitam sua atenção, como "Saiu para entrega", "Aguardando retirada", entre outros. Somente pedidos com código de rastreamento podem ser monitorados. Somente um rastreador (o primeiro da lista) é monitorado em cada entrega.</comment>
+ </sro_tracking_job>
Realmente acho que o pacote que gerei pro Magento Connect não está com essa configuração, que estranho.
Vou regerar o pacote e conferir se está tudo lá e publicar uma nova versão.
Na verdade essa alteração ainda não está no Magento Connect, ela está programada para a próxima versão: https://github.com/pedro-teixeira/correios/pull/164
@marcosnolasco o monitoramento deveria funcionar de qualquer forma, certo @rafaelpatro?
Então, eu peguei agora o código que está aqui no git, e instalei manualmente, as configurações de monitoramento apareceram, tenho 13 produtos que ainda não foram entregues pelo correio. Todos os status estão como Pedido em Transporte, vou acompanhar hoje durante o dia e lhes atualizo. Fiz as configurações conforme o @rafaelpatro orientou.
Desde de já, muito obrigado por esse módulo sensacional. Obrigado mesmo.
Sim, deve funcionar mesmo sem a mudança em system.xml. Talvez os rastreadores estivessem parados nos Correios. Por isso não aconteceu nada.
Estou acompanhando os pedidos, e hoje houve atualização do pedido, e conforme a issue #101, seria comentado, não necessariamente notificar o cliente. Mas teria como obervar essa transação nos comentarios. E hoje as 10:53 ou uma atualização. O cron está configurado para rodar de 15 em 15 minutos. Mas infelizmente não houve modificações.
Segue um print, demonstrativo. Houve outra modificação no correio. Objeto saiu para entrega.
Só pra esclarecer que é nos comentários da Entrega, não do Pedido.
Desculpa @rafaelpatro e obrigado pelo esclarecimento. Olhei aqui na entrega também, e não foi comentado.
Algum erro no log? Dá uma conferida tb no config.xml, vê se a tag cronjobs tá igual ao repositório. Em 08/07/2016 15:48, "marcosnolasco" notifications@github.com escreveu:
Desculpa @rafaelpatro https://github.com/rafaelpatro e obrigado pelo esclarecimento. Olhei aqui na entrega também, e não foi comentado. [image: entrega] https://cloud.githubusercontent.com/assets/19480499/16698165/543a099a-4523-11e6-920c-4678d82361ac.jpg
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pedro-teixeira/correios/issues/170#issuecomment-231441878, or mute the thread https://github.com/notifications/unsubscribe/ANLIzJ7yzkDQ9ZdVNwTCbR39A-lzZIbtks5qTptlgaJpZM4JHO-Y .
As unicas informações do log são:
`2016-07-08T22:24:44+00:00 DEBUG (7): pedroteixeira_correios [cache]: mode=0 status=write key=40010x41106_02_16_66075513
2016-07-08T22:24:44+00:00 DEBUG (7): pedroteixeira_correios [cache]: mode=0 status=write key=40010x41106_02_16_66075513
2016-07-08T22:25:01+00:00 DEBUG (7): pedroteixeira_correios [cache]: mode=0 status=write key=40010x41106_02_16_66075513
2016-07-08T22:25:04+00:00 DEBUG (7): pedroteixeira_correios [cache]: mode=0 status=write key=40010x41106_02_16_66075513
E a o xml aparentemente está correto, mas existe a tag crontab, não cronjobs, e está de 15 em 15 minutos, é para existir cronjobs?
Mais uma vez obrigado pela ajuda
<crontab>
<jobs>
<correios_status_check>
<schedule>
<cron_expr>*/15 * * * *</cron_expr>
</schedule>
<run>
<model>pedroteixeira_correios/observer::sroTrackingJob</model>
</run>
</correios_status_check>
</jobs>
</crontab>
O correto é crontab mesmo. E parece que está tudo Ok. Desculpa perguntar de novo, mas tem certeza de que o cron do Magento tá ativo? De quanto em quanto tempo ele executa?
Sugiro instalar essa ferramenta de log do cron, AOE_Scheduler do Fabrizio Branca. https://github.com/AOEpeople/Aoe_Scheduler
Assim dá pra ver o resultado das tarefas:
Caso ocorra qualquer erro fica registrado, e talvez possamos entender oq está acontecendo.
Rafael muito obrigado pela ajuda até agora, suporte e paciência.
Vou fazer o que você sugeriu e posto aqui o resultado.
Realmente estou com problemas no Cron. Estou ajustando e assim que terminar, verificarei novamente o monitoramente. Desculpa pelo trabalho, e obrigado pela ajuda. Terminando posto o resultado.
Rafael eu estou com problemas para configurar o cron do magento, eu consigo chamar a sua tarefa de execução pelo crontab do servidor?
Pessoal deu certo, sensacional este módulo. Espetacular parabéns!!! Consegui, realmente era o Cron, obrigado pelo Apoio.
Olá a todos, fiz a atualização do modulo para a ultima versão e ativei a opção monitoramento automático mas estou recebendo um Log de erro do Cron. Alguém pode me ajudar com isso?
Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 164 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 166 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 164 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 166
Olá willgolding
Aparentemente o webservice não retornou informação suficiente. É possível que algum dos seus rastreios não tenha sido registrado/postado nos Correios? Sugiro verificar manualmente. Posta aqui se vir algo estranho.
Apesar de não caracterizar um erro PHP, seria interessante tratar esse caso. Não parece ser muito grave, só exibe alguns Notices, sem travar ou encerrar.
Essa semana será impossível, mas assim que puder eu coloco um tratamento.
Em 01/08/2016 21:36, "willgoulding" notifications@github.com escreveu:
Olá a todos, fiz a atualização do modulo para a ultima versão e ativei a opção monitoramento automático mas estou recebendo um Log de erro do Cron. Alguém pode me ajudar com isso?
Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 183 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 184 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 185 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 164 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 166 Notice: Undefined property: stdClass::$evento in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 164 Notice: Trying to get property of non-object in /home/pood8607/public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 166
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pedro-teixeira/correios/issues/170#issuecomment-236754113, or mute the thread https://github.com/notifications/unsubscribe-auth/ANLIzLrg6r0fhL8xzB3TlMu_6eVbvZ1Aks5qbpDzgaJpZM4JHO-Y .
Pessoal, poderiam me dar uma ajuda com essa questão? Eu habilitei essa opção no meu módulo e fiquei com uma dúvida: Todos os meus pedidos quando gerado a entrega vão para o state complete, status Enviado. Li no outro tópico que preciso colocar como Pedido em Transporte. É isso? Daí, quando for entregue de fato ao cliente ele troca para o Enviado e para de fazer as consultas. Eu só não entendi onde eu preciso mapear esses status para que isso ocorra.
Outra coisa, mais sério, eu habilitei e como teste coloquei 5 pedidos como Pedido em transporte para ver se atualiza. Não atualiza. Na verdade, segundo o Cron Monitor minhas tarefas ficam em execução constante, chegando uma sobreescrever o tempo da outra. E não termina. Olhei no logo do servidor e só da esse erro aqui:
sys:cron:run correios_status_check It's not recommended to run n98-magerun as root user Run PedroTeixeira_Correios_Model_Observer::sroTrackingJob PHP Fatal error: Call to a member function getDescription() on a non-object in /public_html/app/code/community/PedroTeixeira/Correios/Model/Sro.php on line 272
Isso parece ser problema de caractere inválido no rastreio de algum dos seus pedidos. Eventualmente ao copiar e colar vc pode acabar trazendo um espaço, tabulação, quebra de linha, etc. Enfim caracteres invisíveis no início ou final do código de rastreamento. Seria interessante realizar um tratamento disso no futuro. Seria uma boa contribuição.
Pode ser. No título aparece PAC: valor em até 3 dias úteis. Vou tratar isso. E sobre os status, podem me confirmar? Para monitorar mudo para Pedido em Transporte? E para parar, Enviado (complete)??
Então Rafael, eu fiz alguns testes, mas não deve ser a questão do caractere pq ele deu erro na getDescription, dizendo que não é um objeto. Ou seja, ele sequer conseguiu pegar a informação, não poderia ter dado o erro com caracter, concorda?
Realmente é pouco provável q seja um erro de caractere inválido. Mas deixa eu explicar como funciona... talvez no fim eu consiga diagnosticar melhor o problema.
Antes de enviar aos Correios, o método init é chamado para armazenar todos os objetos de rastreio, em um arrayzão. O código de rastreio é a própria chave do array.
public function init()
{
$collection = $this->getShippedTracks();
foreach ($collection as $track) {
if ($this->validateTrackNumber($track->getNumber())) {
$this->_trackList[$track->getNumber()] = $track;
continue;
}
Mage::log("{$track->getNumber()}: invalid tracking code");
}
return $this;
}
Após enviar a requisição, os Correios retornam um XMLzão, com os mesmos códigos. Então o método getTrack lê cada um dos códigos devolvidos, e usa-os como índice, para carregar os objetos armazenados no método init.
public function getTrack($obj)
{
$track = $this->_trackList[$obj->numero];
if (!($desc = $track->getDescription())) {
Mage::log("{$obj->numero}: tracking instance missed. Trying to reload");
try {
$track = Mage::getModel('sales/order_shipment_track')->load($obj->numero, 'track_number');
} catch (Exception $e) {
Mage::log("{$obj->numero}: {$e->getMessage()}");
}
}
return $track;
}
Eventualmente pode ocorrer do Correios não devolver um objeto por algum problema no código rastreador. Ou pior, retornar um código de erro, diferente do que foi enviado, no mesmo nível hierárquico dos rastreamentos.
Resumindo, se o objeto não voltar na resposta dos Correios, o pedido não será atualizado. Se houver um código diferente na resposta, haverá erro exatamente na linha que vc descreveu. E código diferente pode significar acesso bloqueado.
Muito obrigado pela ajuda. Eu testei as requisições e vi que os dados de acesso não funcionavam. Entrei em contato com a agência e me confirmara, mas ainda não dava certo. Testei com o da minha loja e funcionou. Pedi para eles analisarem. Muito obrigado mesmo.
Mas ainda tenho uma dúvida, eu rodei o cron e ele atualizou 25 pedidos. Sendo que 3 deles eram os pedidos que eu tinha colocado como teste no Status complete_shipped (Pedido em Transporte). Depois que foi entregue ao destinatário ele trocou para complete.
Essa é mecânica? Quando eu gerar uma entrega coloco o status como Pedido em Transporte (complete_shipped) para que ele faça as varreduras e depois troca para complete quando for entregue?
Aguardo e mais uma vez obrigado.
Exatamente. O processo requer apenas q vc coloque Pedido em Transporte. O restante ele faz sozinho.
Tenho acompanhado as versões que estão sendo lançadas, e parece que já tem o monitoramente automático do status do correio, e caso o produto seja entregue é modificaficado o status de pedido em transporte para completo. Agora, como executo essa configuração na v4.7.2??
obs: parabéns pelo módulo, o melhor!