Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Crear un campo combinado en lista de productos

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
Coding_Wolf
Novato
Mensajes: 3
Registrado: Jue, 14/01/2021, 11:38

Crear un campo combinado en lista de productos

Mensaje por Coding_Wolf »

Buenas, necesitaría ayuda con un problema que a simple vista parece sencillo pero no soy capaz de solucionar. En el módulo de Productos, al ver la lista de productos se pueden ver ciertos campos como Ref., Etiqueta, precio de venta... Lo que necesito es crear un nuevo campo que sea combinación de dos de esos campos, es decir crear un campo llamado multiplicación que de el resultado de la multiplicación del campo Precio de Venta por el campo Stock.
Muchas Gracias

Avatar de Usuario
aitorxs
Almirante
Mensajes: 306
Registrado: Mar, 03/02/2015, 17:46

Mensaje por aitorxs »

Hola compañero, como dices parece simple dependiendo de como quieras hacerlo.

Si solo te interesa mostrar en el listado puedes probar lo siguiente.
Edita el archivo product/list.php aproximadamente por la linea 1297 si estas usando dolibarr version 12

agrega lo siguiente:
print '<td class="right">';
print price($obj->price_ttc *$product_static->stock_reel);
print '</td>';
Con eso estamos multiplicando el precio de ventas incluido impuestos porla cantidad total de stock.


Pero si quieres guardar ese valor en una campo adicional puedes tener varias opciones una de las cuales es crear un trigger que actualice el campo cada vez que se haga un movimiento de stock.

Saludos!
sistemas@machfree.com | http://www.machfree.com | Trujillo - Perú
*Si no respondo los mensajes....enviame un email ;)

Coding_Wolf
Novato
Mensajes: 3
Registrado: Jue, 14/01/2021, 11:38

Mensaje por Coding_Wolf »

Muchas Gracias por tu respuesta, me falta el último paso, si quisiese hacer eso mismo pero que uno de los campos fuese creado por mi previamente, es decir tengo un campo llamado Stock de prueba que creé yo desde la interfaz de dolibarr, y ese es el campo que quiero multiplicar por el mejor precio de compra, ¿Cómo se haría en ese caso?

Avatar de Usuario
aitorxs
Almirante
Mensajes: 306
Registrado: Mar, 03/02/2015, 17:46

Mensaje por aitorxs »

suponiendo que creaste un campo adicional en productos con el código "s_prueba" lo podrías llamar de la siguiente manera.


print '<td class="right">';
$object->fetch_optionals($obj->rowid, $extralabels);
$sprueba = $object->array_options["options_s_prueba"];

print price($product_static->pmp * $sprueba, 1, $langs);

print '</td>';


De esa forma estamos guardando el valor de ese campo en la variable $sprueba, con esto ya podrias multiplicar por ejemplo por el campo pmp.
sistemas@machfree.com | http://www.machfree.com | Trujillo - Perú
*Si no respondo los mensajes....enviame un email ;)

Coding_Wolf
Novato
Mensajes: 3
Registrado: Jue, 14/01/2021, 11:38

Mensaje por Coding_Wolf »

De nuevo gracias por tus respuestas, pero sigue sin funcionarme puesto que me descuadra la lista entera, ya que el valor aparece en mitad de ella. ¿Cómo lo programo para que el valor aparezca donde quiero?
Imagen
Ahí donde la foto es donde me gustaría tener el valor, pero no soy capaz en el código de lista.php de encontrar esa columna.
Muchas Gracias por tu ayuda!!
Adjuntos
doilio.PNG
doilio.PNG (22.99 KiB) Visto 2783 veces