Pregunta

Pasos para reproducir:

  1. Hacer clic Editar en el primer orden, es decir, 000000001
  2. Hacer clic Editar en segundo orden, es decir 000000002
  3. Hacer clic Agregar productos en la pantalla de edición de primer orden
  4. Seleccione cualquier producto y haga clic Agregar productos seleccionados al pedido

Ahora verá que el contenido de 000000001 son todos los productos de 000000002, además del producto que seleccionó.

También noté un comportamiento extraño cuando se trata de realizar pedidos después de editarlos, por lo que, por ejemplo, la edición de 000000002 dará como resultado que su nuevo ID de incremento sea 000000001-1.

Creo que este error puede deberse a adminhtml/session_quote objeto (app/code/core/Mage/Adminhtml/Model/Session/Quote.php).¿Significa esto que Magento sólo puede manejar la edición de un único pedido por sesión?Seguramente diferenciaría entre los objetos de sesión que utilizan la identificación de la entidad principal o algo por el estilo.

Editar: El mismo comportamiento se experimenta al realizar dos pedidos simultáneamente, lo que me lleva a creer que definitivamente está relacionado con la imposibilidad de dividir el adminhtml/session_quote objetos según la identificación de entidad del pedido principal.

¿Fue útil?

Solución

No creo que esto sea un error.Es más bien una limitación sobre cómo se implementa el orden de edición del administrador.
cuando golpeas Editar on y orden (y cuando crea y ordena desde cero) en el backend está involucrada la sesión.Mira como el Mage_Adminhtml_Sales_Order_EditController y Mage_Adminhtml_Sales_Order_CreateController cómo se ven las clases y qué hacen.

Entonces, cuando presionas editar en el segundo orden, la sesión se borra (ver Mage_Adminhtml_Sales_Order_EditController::startAction) y ya no estás editando el primer pedido.

Pero el formulario del primer pedido editado se completa con datos del primer pedido.solo las llamadas ajax que realice a partir de este momento en la pantalla de orden de edición devolverán valores del segundo orden que edite.
Es por eso que obtienes resultados mixtos del primer y segundo orden.

Al enviar el formulario del primer pedido, envía datos como la identificación del cliente o la moneda del primer pedido, pero obtuvo los artículos del segundo pedido.

La lección aquí es nunca editar 2 pedidos dentro de la misma sesión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top