-
Notifications
You must be signed in to change notification settings - Fork 12
Algoritmo para cálculo dimensiones de paquetes #44
Comments
@PatrickCaneloDigital ¿vas a compartir de vuelta la generación de etiquetas con este plugin? (solo pregunto). Sería muy util, de verdad. Sobre el cálculo de dimensiones, se hicieron varias mejoras acá: Pero la verdad, sabemos que eventualmente esos cambios podrían no ser la mejor solución definitiva. Como comentaron ahí dentro, el "problema" de empaquetar productos para envío da para harto, y hay librerías especializadas que tratan de resolver aquello. Eventualmente creo que lo mejor sería buscar una librería buena, probada, que nos permita delegar la tarea del empaquetado a ella, para no tener que estar parchando soluciones nosotros, para un problema que es complejo de resolver. Eres bienvenido, estimado, si quieres explorar otras ideas, como las expuestas en el issue #15, aplicar alguna librería estándar de empaquetado, y enviar un pull request (ojo con la guía de contribución) para que unamos esos cambios al plugin principal. Bienvenido sea, de verdad. |
voy a ver como aportar en mejorar la heuristica en respecto al cálculo de envío. Estoy pensando en una opcion para elegir 2, 3 o 4 diferentes heuristicas en los ajustes... y que allí cada usuario pueda elegir lo que mas se acerca a su realidad. Por el tema de la generacion de etiquetas, tengo que ver todavia. el codigo en si no es tanto, lo complicado es que la implementacion esta ligada directamente al costo de envio y a la forma como los clientes manejan el tema. alli lo veo muy dificil encontrar una solucion generica que aplique a todos los clientes y por ende no se si es de mucho uso, teniendo en cuenta que muchos desarrolladores al encontrar un plugin, justamente no se hacen estas preguntas hasta que se topan con el hecho que al cliente no le funciona la idea y se arrojan errores y problemas. Estoy viendo que es dificil de abarcar esta tematica de forma generica... |
@TCattd Los cambios consisten en un switch adicional en la mascara de administracion para elegir entre la heuristica existente y una que seria: un paquete por item. Ademas tengo una sugerencia para el algoritmo existente que no he podido implementar aun: Edit consulta: No se si me pueden ayudar con esto, pero el parametro nuevo: packaging_heuristic: como se podria acceder a el desde otro plugin? |
@PatrickCaneloDigital #15 (comment) Ojo con lo que se pide para aceptar un PR, por favor: https://github.com/whooohq/whq-woocommerce-chilexpress-shipping/blob/master/CONTRIBUTING.md Sobre acceder al valor de una opción de config del plugin desde otro plugin, puedes inicializar la clase principal del plugin y luego llamar:
El método get_chilexpress_option es público, precisamente para aquello ;) |
@TCattd en cuando tenga algo de tiempo libre quiero aportar a mejorar la heuristica existente "suma lado mas corto" |
Excelente @PatrickCaneloDigital . De verdad, agradecido. Aceptado el PR ahora si. |
1.3.3 disponible en wp.org Ojo con los otros cambios, para que sincronices tu repositorio si vas a seguir trabajando en este item (ver ac2bbed ). De nuevo, muchas gracias estimado :) ¡Buen día! |
Estimados,
Junto con agradecerles el trabajo:
Para un cliente tengo que integrar la generacion de etiquetas. Ya que eso va mano en mano con el costo de envio estaba analizando el algoritmo para el calculo de costo de envio de este plugin.
y me parece que hay incongruencias.
En un pedido grande recibo el siguiente debug, que a primera vista me parece que tiene un error, ya que el volumen final es casi el triple de la suma de las cajas individuales:
volumen total (3 paquetes):
1'776'000
al ser 5 paquetes tenemos volumenes: 350400 + 187500 + 78660 + 35040 + 24000 = 675'600
que se reducen a 3 paquetes: 934400 + 127604 + 24000 = 1'086'103
[18-Oct-2017 20:55:11 UTC] [WCCHP]Cantidad: 10 SingleProduct: Vl=35040 Al=73 An=16 La=30
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgInit(1): Vl=350400 Al=30 An=73 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]Cantidad: 1 SingleProduct: Vl=78660 Al=69 An=30 La=38
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgInit(2): Vl=78660 Al=30 An=38 La=69
[18-Oct-2017 20:55:11 UTC] [WCCHP]Cantidad: 1 SingleProduct: Vl=187500 Al=75 An=50 La=50
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgInit(3): Vl=187500 Al=50 An=50 La=75
[18-Oct-2017 20:55:11 UTC] [WCCHP]Cantidad: 1 SingleProduct: Vl=24000 Al=60 An=20 La=20
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgInit(4): Vl=24000 Al=20 An=20 La=60
[18-Oct-2017 20:55:11 UTC] [WCCHP]Cantidad: 1 SingleProduct: Vl=35040 Al=73 An=16 La=30
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgInit(5): Vl=35040 Al=16 An=30 La=73
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgVol(1): Vl=350400 Al=30 An=73 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgVol(2): Vl=187500 Al=50 An=50 La=75
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgVol(3): Vl=78660 Al=30 An=38 La=69
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgVol(4): Vl=35040 Al=16 An=30 La=73
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgVol(5): Vl=24000 Al=20 An=20 La=60
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgRed(1): Vl=934400 Al=73 An=80 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgRed(2): Vl=127604 Al=38 An=46 La=73
[18-Oct-2017 20:55:11 UTC] [WCCHP]PrdPkgRed(3): Vl=24000 Al=20 An=20 La=60
[18-Oct-2017 20:55:11 UTC] [WCCHP]FinPkgPrdPkg(1): Al=73 An=80 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]FinPkgPrdPkg(2): Al=80 An=111 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]FinPkgPrdPkg(3): Al=100 An=111 La=160
[18-Oct-2017 20:55:11 UTC] [WCCHP]FinalPackage: Kg=50.5 Vl=1776000 La=160 An=111 Al=100
Bueno, independiente de eso, tendré que cambiar la logica, ya que no corresponde con la forma como mi cliente enviará sus envios.
Les queria informar que a mi parecer esta algo raro, aunque el codigo mismo parece logico y coherente, incluyendo un caso de uso (un poco extremo) parece que algo esta mal...
EDIT: La causa de ese aumento en volumen viene del ejercicio de unir primero los 5 paquetes de a dos, y esos en uno grande... En ese proceso se genera mucho espacio vacio que tiene directa implicancia en el volumen final... se puede questionar si esa suma realmente es practica ya que depende tambien del volumen individual (es poco probable que se envien 5 lavadoras en conjunto). Aunque entiendo que hay que partir con una asunción.
Independiente de eso, un realista promedio podria ser trabajar mas sumando volumenes. Asumiendo que se optimiza el espacio en los paquetes sumados y añadirle un margen (por ejemplo porcentual) extra.
O (puede ser con un ajuste separado) contemplar diferentes algoritmos: un paquete por producto, sumar volumenes, sumar lado mas corto, etc.
capaz que les colabore con eso...
Saludos
The text was updated successfully, but these errors were encountered: