Mensajes: 15
Temas: 5
Registro en: Jul 2022
Reputación:
0
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!
Mensajes: 15,301
Temas: 117
Registro en: Sep 2012
Reputación:
120
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.
Mensajes: 15
Temas: 5
Registro en: Jul 2022
Reputación:
0
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!
Mensajes: 15,301
Temas: 117
Registro en: Sep 2012
Reputación:
120
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.
Mensajes: 15
Temas: 5
Registro en: Jul 2022
Reputación:
0
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,
Mensajes: 15,301
Temas: 117
Registro en: Sep 2012
Reputación:
120
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
Mensajes: 15
Temas: 5
Registro en: Jul 2022
Reputación:
0
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!
Mensajes: 15,301
Temas: 117
Registro en: Sep 2012
Reputación:
120
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?
Mensajes: 15
Temas: 5
Registro en: Jul 2022
Reputación:
0
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,
|