Temos duas lojas (uma atualização 1.7.0.2 da 1.5.1 e uma instalação 1.6) que apresentam um problema que, para alguns pedidos, falta um endereço de email (customer_email em sales_flat_order) . As lojas são duas instalações completamente diferentes e a única coisa que achei igual nas duas versões é que elas usam o OneStepCheckout (versão mais recente) e que o problema é visto apenas para clientes (mas não todos) que já possuem uma conta de cliente . Acho que o problema está na conta do cliente, mas não consigo encontrar nada de estranho nessas contas.
Alguma idéia de onde verificar ou como depurar esse problema?
Obrigado.
orders
ce-1.7.0.2
upgrade
Vladimir Kerkhoff
fonte
fonte
Respostas:
Verifique se você está executando o OSC 4.0.7.
Tivemos esse problema ao usar o Magento 1.7.0.2 e o OSC 4.0.6. Acabou sendo um bug no OneStepCheckout, onde não estava manipulando usuários sendo reconhecidos pelo carrinho de compras persistente corretamente. Comunicamos isso ao OSC e eles nos deram um hotfix (mas acredito que ele foi corrigido no 4.0.7: http://www.onestepcheckout.com/wiki/index.php/Changelogs#OneStepCheckout_4.0.7_changes
Grep para
$this->getQuote()->setCustomerId(0);
em app \ code \ local \ Idev \ OneStepCheckout \ Block \ Checkout.php (deve fornecer 5 correspondências), pois esse era basicamente o hotfix.Edit: este deveria ter sido um comentário .. não é realmente uma resposta.
fonte
NOTA: Essa não é uma resposta, por si só, mas eu gostaria de adicionar minhas próprias experiências com esse problema, para poder formatá-lo mais facilmente.
Eu já vi o mesmo problema. É algo que não tive a chance de me aprofundar completamente, mas pelo que vi, é uma combinação dos seguintes fatores:
Se um cliente tiver se registrado anteriormente no site, mas não estiver logado , e o carrinho de compras persistente estiver ativado (ou o cookie estiver presente para o cliente após o carrinho de compras persistente ter sido desativado), o problema parece ocorrer.
Eu não vi isso acontecer com clientes que não se registraram, mas isso me faz pensar se há algo a ver com uma conta de computador compartilhada e dois clientes diferentes, um que se registrou e outro que não.
Também continuarei investigando isso, vinculamos automaticamente um cliente a um grupo de clientes, portanto, esse problema significa que o pedido não foi atribuído a um grupo de clientes.
Edit: estamos usando Firecheckout, não OSC
fonte
Também estamos usando o OSC e esse problema está ocorrendo em nosso site. Acho que isso acontece em extensões de checkout não essenciais. No Magento principal, se você ativar o carrinho persistente, os clientes convidados serão obrigados a se registrar ou entrar, para que o endereço de e-mail sempre exista. Várias extensões de caixa (como OSC) não impõem essa restrição, portanto você entra em um cenário que o código principal não está esperando.
fonte