2011-05-24 14 views
49

Estoy intentando localizar la causa de un error poco frecuente (el amor de esos fallos intermitentes) cuando un cliente selecciona para registrarse en el momento de la salida, pero cuando la orden se completa, Magento alguna manera no puede guardar el registro del cliente. Esto da como resultado un pedido huérfano sin dirección de correo electrónico, una situación de servicio al cliente difícil.¿Por qué Magento no podría salvar a un cliente después de generar una identificación?

Éstos son los resultados de mis investigaciones hasta el momento:

  • El pedido de ventas Ver en adminhtml informes de que el cliente es un invitado y la dirección de correo electrónico está en blanco. Las direcciones de facturación y envío están visibles.
  • customer_is_guest es falsa en sales_flat_order
  • Los sales_flat_order enlaces de entrada a un registro válido en sales_flat_order_address.
  • El registro sales_flat_order_address contiene valores para customer_id y customer_address_id, sin embargo, esos registros vinculados no existen.
  • No existe un patrón discernible en la información del cliente, los productos solicitados, los métodos de pago.
  • No hay entradas relevantes en system.log, exception.log, registros de error de apache, var/reports o cualquier otro registro que conozca.

Pensamientos:

  • al cliente a ahorrar está progresando lo suficiente para que se genere un ID.
  • hay un observador en customer_save_after que está causando una reversión del guardado?
  • un error de base de datos de bajo nivel hace que el guardado falle.

¿Alguien tiene alguna sugerencia sobre cómo rastrear esto?

La versión es Enterprise 1.9.

+0

¿Qué método de pago se utiliza? –

+0

@Anton - no parece importar el método de pago. algunos son Paypal, algunos de Cybersource. –

+0

¿Qué versión de magento usa? Como puedo ver, el ahorro de clientes y pedidos está incluido en una transacción. Y no veo ningún observador en el evento customer_save_after en los módulos principales que elimina al cliente (encontré solo 2 observadores para este evento y ambos están en el módulo del boletín de noticias). – Zyava

Respuesta

2

me gustaría añadir un montón de registro adicional, intento entrar lo suficientemente bien como para capturar el error - y salvar a los registros si se puede detectar el error.

Una vez que tenga los registros que muestran el error, a continuación, puede aislar el código problemática con mayor facilidad.

Por esto, es posible que tenga que entrar las consultas de bases de datos, lo que podría, por desgracia, ser difícil si el volumen de datos es alta y/o sujetos a preocupaciones sobre la privacidad.

Cuestiones relacionadas