Foro de ayuda y soporte técnico de Sysme Software
Cambio masivo de precios con márgen sobre coste y redondeo - Versión para impresión

+- Foro de ayuda y soporte técnico de Sysme Software (https://www.sysme.net/foro)
+-- Foro: Software Sysme (Español) (https://www.sysme.net/foro/forumdisplay.php?fid=3)
+--- Foro: Sysme Tpv (https://www.sysme.net/foro/forumdisplay.php?fid=4)
+---- Foro: Ayuda General Sobre Sysme Tpv (https://www.sysme.net/foro/forumdisplay.php?fid=17)
+---- Tema: Cambio masivo de precios con márgen sobre coste y redondeo (/showthread.php?tid=10051)



Cambio masivo de precios con márgen sobre coste y redondeo - bertodj22 - 11-07-2022

Hola, estoy probando el programa antes de decidirme a comprar la licencia y me encuentro con que me he cargado los precios de venta aplicando masivamente (y por error) un aumento de precio para todos los artículos de una misma categoría (desde PRODUCTOS > ACCIONES EN BLOQUE).

Para este tipo de casos (y para cambios de precios masivos basados en márgen sobre costes), echo de menos una opción para cambiar masivamente los precios de la Tarifa Estándar (y también para las Tarifas Especiales) aplicando un márgen sobre el precio de coste y con redondeo a 5 céntimos, tal como se puede hacer desde dentro de la ficha de los artículos.

Hay alguna manera de conseguir lo comentado, aunque sea a través de un script y no tener que hacer la modificación artículo por artículo? 

Si pudiese editar directamente la base de datos en MySQL creo que podría conseguirlo, pero esto del InnoDB no lo "domInno" en absoluto (pido disculpas por mi sentido del humor tan básico..)

Un saludo y enhorabuena por el programa!


RE: Cambio masivo de precios con márgen sobre coste y redondeo - sysme - 12-07-2022

Buenos días bertodj22, bienvenido al foro,

Las tarifas especiales también puedes modificarlas en bloque, desde CATALOGO->TARIFAS ESPECIALES, entras en una tarifa y ahí veras una pestaña de ACCIONES igual que la general, lo que no te hará es el redondeo a 5 cents.

Si quieres hacerlo en base de datos también puedes, Innodb realmente es lo mismo que MyIsam pero incluyendo restricciones de claves ajenas, pero para el caso es lo mismo.

Ya me dices.


RE: Cambio masivo de precios con márgen sobre coste y redondeo - bertodj22 - 12-07-2022

Hola Oscar y gracias por tu respuesta y la rapidez de la misma,

como te comentaba, mi cuestión principal es poder modificar masivamente la tarifa estándar aplicando un márgen sobre el precio de coste y con redondeo.

Entiendo que el programa no ofrece dicha opción.

Yo sólo he editado bases de datos con phpMyAdmin y veo que en Sysme los datos se guardan en archivos frm y para hacer cambios, hay que pegar el código del script en un archivo txt que el programa ejecuta al inicio.

Mi petición entonces sería la siguiente:
podrías pasar un ejemplo de script para modificar los precios de la tarifa estándar de todos los artículos de una categoría en base a aplicar un márgen sobre el precio de compra, y con redondeo a 5 céntimos? A partir de ahí creo que sería capaz de editar el script para ajustarlo a los artículos de una categoría en concreto o a un márgen determinado.

Gracias de antemano!


RE: Cambio masivo de precios con márgen sobre coste y redondeo - sysme - 12-07-2022

Bueno el script sería:

update complementog set precio = precio_compra * (1 + (MARGEN / 100)) where id_tipo_comg = "CATEGORIA";

Donde MARGEN debes substituirlo por el valor numerico del margen sobre el precio de compra que quieres añadir.
CAGEGORIA debes substituirlo por el ID de la categoría a aplicar .. y entre comillas.

Lo que no puedo hacerte por script es redondeartelo a 5 centimos.


RE: Cambio masivo de precios con márgen sobre coste y redondeo - bertodj22 - 12-07-2022

Gracias una vez más por la rapidez y por el script,

tras varias pruebas, lo que me ha funcionado ha sido con la categoría sin comillas. Ejemplo (caso margen 120% y categoría 4):

update complementog set precio = precio_compra * (1+( 120 /100)) where id_tipo_comg= 4;

lo que he probado sin éxito es lo siguiente:

update complementog set precio = ROUND ((precio_compra*(1+( 120 /100)))/5,2)*5 where id_tipo_comg=4;

y tampoco con una prueba más simple:

update complementog set precio = ROUND (0.93/5,2)*5 where id_tipo_comg=4;

Entiendo que la función ROUND no se puede usar en este entorno

Saludos,


RE: Cambio masivo de precios con márgen sobre coste y redondeo - sysme - 12-07-2022

La categoría debe ir com comillas pero logicamente usando los cuatro caracteres del ID .. "0004".

En cuanto al ROUND, si se puede usar pero no te servirá porque lo que estás actualizando es el precio sin imuestos (el necesario) que, logicamente, luego afectará al PVP (que es el que quieres obtejer a 0 o 5


RE: Cambio masivo de precios con márgen sobre coste y redondeo - bertodj22 - 12-07-2022

Gracias Oscar por tu respuesta y la rapidex de la misma,

pos supuestísimo que hay que trabajar sobre el precio sin impuestos.

Lo que quería decir es que no logro que me funcione el ROUND en el script, porque si lograra que funcionara, podría modificar el script a algo parecido a lo siguiente:

.. SET precio = [ROUND (precio_compra+márgen+21% iva) ] / 1.21

o lo que es lo mismo

UPDATE complementog SET precio = (ROUND ((precio_compra*(1+(MARGEN/100)))*1.21)/5,2)*5)/1.21 WHERE id_tipo_comg="CATEGORIA";

pero no logro que ROUND funcione en ningún caso (ni tan sólo poniendo algo básico como set precio = ROUND (0.93/5,2)*5 )

Sabes en dónde me equivoco?

Saludos y gracias por tu paciencia y tu tiempo, y si me tienes que cobrar la consulta, adelante, sin problema!


RE: Cambio masivo de precios con márgen sobre coste y redondeo - sysme - 12-07-2022

No hombre, no te lies, no puedes hacerlo así, el campo precio debe almacenar sin impuesto, luego ya el programa Sysme lo aplicará en otro campo, es decir, estarías redondeando el precio y luego al aplicar el programa el iva lo "desredondeará" ¿entiendes?


RE: Cambio masivo de precios con márgen sobre coste y redondeo - bertodj22 - 12-07-2022

Oscar gracias por la rapidez en contestar,

disculpa pero discrepo de tu anterior mensaje. 

Fíjate bién en el código de mi último mensaje porque lo que estoy guardando en 'precio' es el precio sin impuestos.

Código del mensaje anterior desglosado por partes:

1.- PVP a partir del precio de compra con márgen -> PVP = precio_compra*(1+(MARGEN/100)))*1.21

2.- redondear PVP --> ROUND ((precio_compra*(1+(MARGEN/100)))*1.21)/5,2)*5

3.- quitarle el iva al PVP y guardarlo como precio --> SET precio = (ROUND ((precio_compra*(1+(MARGEN/100)))*1.21)/5,2)*5)/1.21

Ejemplo práctico:
precio_compra = 60
margen = 120%
PVP = 60+120%+21% = 159,72€
PVP redondeado = 159,70€ (asumo el redondeo hacia abajo de la función ROUND en este caso)
SET precio = PVP redondeado - 21% = 131,983471

con un precio de 131,983471 sysme calcula un PVP de 159,70€ que es lo deseado

No sé qué pasa que ROUND no se ejecuta. Si lo logro, ya lo tendría!

Saludos,