FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ayuda ??
Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Fri Nov 28, 2008 07:17 PM

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

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
ayuda ??
Posted: Fri Nov 28, 2008 07:24 PM

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.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Fri Nov 28, 2008 08:59 PM

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

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
ayuda ??
Posted: Fri Nov 28, 2008 09:31 PM

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

Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Fri Nov 28, 2008 10:03 PM

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

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
ayuda ??
Posted: Fri Nov 28, 2008 11:16 PM

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

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Sat Nov 29, 2008 12:16 AM

Armando :

gracias por tu apoyo probe la logica que publicaste y me funciono esta a la perfeccion

y gracias a todos

saludos

Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Sat Nov 29, 2008 01:26 AM

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

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
ayuda ??
Posted: Sat Nov 29, 2008 01:29 AM

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

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
ayuda ??
Posted: Sat Nov 29, 2008 04:20 AM
parece que no me entediste con la explicacion... aqui te deje un ejemplo...
lo puedes descargar tambien

#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
Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM
ayuda ??
Posted: Sat Nov 29, 2008 02:18 PM

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鈥e pico el bichito de mi otra profesi贸n (Contador P煤blico)

Saludos cordiales,

Edgar Mauricio Ar茅valo Mogoll贸n.
Bogot谩 DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programaci贸n....
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
ayuda ??
Posted: Sat Nov 29, 2008 06:07 PM

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.

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
ayuda ??
Posted: Sat Nov 29, 2008 06:37 PM

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 :D

Posts: 58
Joined: Mon Nov 06, 2006 06:56 AM
ayuda ??
Posted: Sat Nov 29, 2008 08:51 PM

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

Posts: 111
Joined: Sun Aug 13, 2006 07:28 PM
ayuda ??
Posted: Sun Nov 30, 2008 12:08 AM

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

Continue the discussion