Page 1 of 1
ayuda ??
Posted: Fri Nov 28, 2008 7:17 pm
by tomafa
amigos como han estado, tengo la siguiente problema estoy teminando un punto de venta, pero mi problema es que el usuario quiere manejar promosiones en sus productos, he tratado de hacer un algoritmo para poder aplicar la promosion si alguien tiene una ide bien venida,
ejemplo: tengo un producto que cuesta 20 pesos, le aplico una promocion de 3 productos por 35 pesos, el sistema me tiene que hacer la operacion, pero si eligo dos me tiene que hacer la suma normal, espero que me halla explicado
Saludos
Posted: Fri Nov 28, 2008 7:24 pm
by karinha
Una sugerencia:
Un Campo donde pregunta se el produto esta en promosion.
En tu cadastro de produtos, crea 4 precios:
Precio 1 -> Normal
Precio 2 -> Otra alternativa
Precio 3 -> Otra Alternativa
Precio 4 -> En promosion.
Crea Una Fecha para controlar la fecha maxima de la promosion.
Y avisa al usuario cuando terminar la promosion.
Saludos.
Posted: Fri Nov 28, 2008 8:59 pm
by tomafa
gracias por tu respuesta pero necesito resolverlo en codigo
por ejemplo uso un ciclo for
xpromocion = 3 (3 productos)
for a:=1 to xpromocion
esta es la parte que no me sale, como puedo hacer la operacion en donde evalue si tengo 4 productos que me cobre 3 en promocion y uno en precio normal y asi sicesivamente, si tengo 2 productos que me cobre los 2 en precio normal y si tengo 7 deben entrar 6 productos en promocion y uno en precio normal y haci sicesivamente .
gracias
end for
Posted: Fri Nov 28, 2008 9:31 pm
by Daniel Garcia-Gil
intenta esto...
nCantidad_Promocion = int( nCantidad_Productos / 3 )
nCantidad_No_Promocion = nCantidad_Prodictos%3
si hay 10 productos
nCantidad_Promocion = Int( 10 / 3 ) => 3 Promiciones
nCantidad_No_Promocion = 10%3 => 1
esto quiere decir que vas a tener 3 promosiones cada promosion de 3 articulos que hacen 9 articulos + 1 de no promosion son 10
Posted: Fri Nov 28, 2008 10:03 pm
by tomafa
gracias mcfox por tu propuesta, pero no me da el resultado,
a lo mejor no me explique bien,
tengo un articulo en donde tiene promocion se que 3 unidades estan en promocion, entonces supongamos que estas vendiendo el articulo x en donde se llevan 10 unidades en donde este producto tiene promocion, es decir en este ejemplo vendo 9 en una promocion de 3 unidades, supongamos que la promocion es de 20 por 3 unidades.
1 unidada vale 15 pesos
3 unidades vales 20 pesos promocion
si me llevo 10 articulos estaria asi el ejemplo
3 = 20 que seria 9 por 60 + 15
esto es lo que quiero hacer no me sale el algoritmo me falla en algo,
me hace en principio las operaciones bien cuando es de 2 articulos la promocion pero cuando pongo mas es cuando se dispara en las cantidades o no me hace bien las operaciones
de ante mano muchas gracias
Posted: Fri Nov 28, 2008 11:16 pm
by Armando
Tomafa:
Debes conocer 4 cosas:
1.- Cuando el artículo esta en promoción
2.- Cual es el precio de la promoción, $20 según tu ejemplo
3.- Cuantas piezas forman la promoción, 3 piezas según tu ejemplo
4.- Cual es el precio por cada pieza cuando no entra en promoción, $15 según tu ejemplo.
Entonces si vendes 10 piezas del artículo en promoción debes hacer lo siguiente:
Divides las piezas vendidas entre el número de piezas que forman la promoicón, es decir 10 / 3, digamos así:
nPromo := INT(10 / 3), el resultado sera 3
luego obtienes el importe de las tres promociones
nImporte := ROUND(nPromo * 20,2) esto te dará $ 60
Despues debes determinar cuantas piezas van a cobrarse fuera de promoción esto lo obtienes así
nPzsSin := 10 - nPromo * 3, el resultado te debe dar 1 pieza
Finalmente el importe de la o las piezas sin promoción lo sumas al importe de las promociones
nImporte += ROUND(nPzsSin * 15,2)
nImporte debe valer $75 ($60 de las tres promociones + $15 de una pieza a precio de no promoción.)
Saludos
Posted: Sat Nov 29, 2008 12:16 am
by tomafa
Armando :
gracias por tu apoyo probe la logica que publicaste y me funciono esta a la perfeccion
y gracias a todos
saludos
Posted: Sat Nov 29, 2008 1:26 am
by tomafa
ARMANDO :
saludos
tuve un problema en el punto
Despues debes determinar cuantas piezas van a cobrarse fuera de promoción esto lo obtienes así
nPzsSin := 10 - nPromo * 3, el resultado te debe dar 1 pieza
en este punto tuve el problema no me regresa las piezas sin promocion estoy haciendo algo mal
gracias
Posted: Sat Nov 29, 2008 1:29 am
by Armando
Tomafa:
Con que valores no te devuelve lo correcto ?
o intentalo así para forzar que primero haga la multiplicación
nPzsSin := 10 - (nPromo * 3), el resultado te debe dar 1 pieza
Tambien recuerda sustituir las constantes 10 y 3 por las variables que las contienen. ejemplo
nPzsSin := nPzsVta - (nPromo * nPzsPro) en donde
nPzsVta es igual a las piezas a vender, 10 y
nPzsPro es igual a las piezas de la promoción, 3
Saludos
Posted: Sat Nov 29, 2008 4:20 am
by Daniel Garcia-Gil
parece que no me entediste con la explicacion... aqui te deje un ejemplo...
lo puedes descargar tambien
Code: Select all
#include "fivewin.ch"
function main()
local oDlg, oSay
local nPrecio_Unitario := 0
local nPrecio_Promo := 0
local nArticulos_Por_Promo := 0
local nArticulos_Venta := 0
local nTotal_Pagar := 0
define dialog oDlg Title "Ejemplo Articulos Promocion" size 400, 250
@ 1,1 say "Precio Unitario :"
@ 2,1 say "Articulos Por Promocion :"
@ 3,1 say "Precio Total de la Promocion:"
@ 4,1 say "Cantidad de Articulos a vender:"
@ 5,1 say "Total a Pagar:"
@ 5,1 button "Calcula" action( nTotal_Pagar:= Calcular(nPrecio_Promo, nPrecio_Unitario, nArticulos_Por_Promo, nArticulos_Venta),;
oSay:refresh())
@ 1,7 get nPrecio_Unitario picture "999,999,999.99" right
@ 2.5,8 get nArticulos_Por_Promo picture "999" right
@ 3.5,10 get nPrecio_Promo picture "999,999,999.99" right
@ 4.5,10 get nArticulos_Venta picture "999" right
@ 5,10 say oSay var nTotal_Pagar picture "999,999,999.99" update
activate dialog oDlg centered
return
static function Calcular(nPrecio_Promo, nPrecio_Unitario, nArticulos_Por_Promo, nArticulos_Venta)
local nCantidad_Promocion
local nCantidad_No_Promocion
local nTotal
nCantidad_Promocion = int( nArticulos_Venta / nArticulos_Por_Promo )
nCantidad_No_Promocion = nArticulos_Venta % nArticulos_Por_Promo
nTotal = ( nCantidad_Promocion * nPrecio_Promo ) + ( nCantidad_No_Promocion * nPrecio_Unitario )
return nTotal
http://rapidshare.com/files/168433102/test01.rar
aqui tienes una imagen con las datos que tu mismo has suministrado
Posted: Sat Nov 29, 2008 2:18 pm
by MauroArevalo
Disculpen pero no aguante:
Creo que el problema es mucha más de fondo que hacer el algoritmo y luego formularlo en código.
El control de los inventarios tiene como principio básico controlar las cantidades en existencia, rotación, etc.. Agregado a este control se debe manejar los costos del inventario.
Dentro de esta parte tenemos Sistemas de Inventarios y sus métodos de valuación, dentro de los métodos de valuación podemos tener los siguientes:
1. Costo Promedio
2. UEPS (Ultimas en Entrar, primeras en Salir) referidas a las unidades.
3. PEPS (Primeras en entrar, primeras en Salir) referidas a las unidades.
4. Identificación especifica.
Resumiendo, dependiendo del método de valuación de tu sistema de punto de venta debes buscar la forma de controlar los productos que salen en promoción porque te afecta directamente el porcentaje (%) de margen de utilidad, el costo de ventas y el costo del inventario.
Este tema es mucho más complejo si se le suma devoluciones, descuentos, daños, etc., ni que decir de las exigencias fiscales y tributarias (que es propia de cada país).
Vuelvo y pido disculpas si me salí del tema, aunque creo que no…me pico el bichito de mi otra profesión (Contador Público)
Saludos cordiales,
Posted: Sat Nov 29, 2008 6:07 pm
by Armando
Mauro:
Llevas mucha razón y no te quito un ápice, sin embargo lo que yo entendí en el post es ayuda sobre el algoritmo para calcular los importes que se deben cobrar cuando hay promoción y cuando no la hay, lo demas lo doy por descontado.
Saludos amigo.
Posted: Sat Nov 29, 2008 6:37 pm
by Daniel Garcia-Gil
Armando... te has adelantado a un post que me disponia es publicar, escribia algo muy similar, pero es bueno saber que Mauro Arevalo es contador
Posted: Sat Nov 29, 2008 8:51 pm
by Vital
Mira, yo lo que hago en una tienda de tines y playeras, tenemos varias formas de promociones, 1.- 3 por $ 20.00 2.- Paga 3 y llevate 4 3.- Descuento al precio por % 4.- Decuento al precio por importe 5.- Precio por Docena
En cada venta que se hace se revisa si es que tiene promo y que tipo de promo, y la venta se va ordenando por articulo, para que cuando se hace la venta se valla contando el producto y se puebla aplicar la promocion. En la promocion de 3 por $20.00, la promocion se aplica al precio del tercer producto, el 1ro y 2do son con precio normal y el 3ro le aplica la promo.
Saludos, cualquier duda a mi correo
Posted: Sun Nov 30, 2008 12:08 am
by tomafa
mcfox
y a todos me parecio interesante cada una de las opiniones estoy probando el codigo y en verdad me funciono,
y gracias a todos por sus aportaciones
gracias y estoy a sus ordenes,
a veces con este tipo de problemas estoy, no se como decirlo pero agradensco el apoyo de todos, creo que podemos apoyarnos, en verdad nunca pense que me ayudaran y creo que recibi más, es valiso contar con cada uno de ustedes
gracias