FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cálculo costo promedio
Buenas Tardes
Estoy desarrollando un modulo de control de inventarios y el calculo del costo promedio es básico para este tipo de módulos, la idea es la siguiente : Ingresos de mercaderia: Los productos vienen con un precio y en una primera instancia ese es el costo del articulo, cuando hay mas ingresos del mismo producto, lo que se hace es dividir el importe total entre la cantidad total, me explico Fecha Producto Cantidad Precio Promedio 01.02.2018 Producto x 100 2.50 2.50 06.02.2018 Producto x 300 2.10 2.20 por la siguiente razón: Ingreso Precio Saldo Cantidad Ingreso Importe Saldo Importe Costo Promedio 100 2.5 100 250 250 2.5 (Se Divide 250 / 100) 300 2.1 400 630 880 2.2 (Se Divide 880 / 400) y asi sucesivamente Este proceso de calculo del costo, lo genero al momento del ingreso de los productos y hasta aqui todo esta perfecto. En la salida de los productos (Venta), el costo promedio debe ser el ultimo calculado segun la fecha de ingreso y como nada es perfecto en la vida.....que sucede... en los inventarios a veces se pueden hacer modificaciones tanto en los ingresos como en las salidas y para darles un ejemplo el primero ingreso se modifica la cantidad a 200, el costo quedaria de esta manera Ingreso Precio Saldo Cantidad Ingreso Importe Saldo Importe Costo Promedio 200 2.5 200 500 500 2.5 (Se Divide 500 / 200) 300 2.1 500 630 1130 2.26 (Se Divide 1130 / 500) una vez modificado tendria que re-calcular el costo promedio para los sucesivos ingresos y salidas posteriores a la fecha en que hice la modificacion. la idea es re-calcular el costo promedio, en funcion a las fechas de ingreso, costo unitario y acumulado tengo una tabla donde se guarda toda esa informacion, de acuerdo al mes, almacen y articulo la idea que tengo es barrer esa tabla hacerle EDIT e ir re-calculando, pero temo que ese proceso demore muchisimo y tampoco creo que sea el mas apropiado alguien tiene una idea de como optimizarlo? alguien tiene alguna experiencia previa haciendo este tipo de calculos y re-calculos ? espero haberme explicado bien.
__________________
Dulce Regalo que Satanas manda para mi..... |
#2
|
||||
|
||||
Existen distintas formas de calcular ese precio, los principales son el medio, el ponderado, lifo y fifo.
Tendrás que decidir qué método interesa más a esa empresa, pues no existe una forma fija y definitiva, depende de cada uno. Echa un vistazo a esto, aunque puedes encontrar muchísima más información al respecto haciendo una búsqueda por la web. Y por supuesto el lugar para hacer los cálculos es en la propia base de datos, mediante triggers que se disparan cuando cambian las existencias. |
#3
|
||||
|
||||
Cita:
Hablando puramente por rendimiento, un RDBMS debería hacer updates o deletes/insert rapidísimo mientras no hayan bloqueos sobre la tabla (ie: transacciones concurrentes que alteren la tabla). No te preocupes por rendimiento a menos que hagas mediciones. . --- Por el lado contable, no debería existir el "borrado" sino el "enmendado". En las tablas de tipo contable no se borra, se adicionan registros que indican que se esta enmendando un proceso pasado. A la hora de reportes, simplemente se suma todo. Algo asi: Cita:
Y ademas hace los reportes precisos. El 10/2018 la cant registrada es 3.50 . No 2.50 si lo que hicieras fuera desaparecer la informacion.
__________________
El malabarista. |
#4
|
||||
|
||||
Entiendo,
en cuanto a la auditoria de la información, cualquier dato modificado se guarda en otras tablas que son invisibles para los usuarios en las cuales se puede verificar la información anterior y tienes razon el problema es el recalculo, no el calculo en si, por politica, se pueden realizar ventas sin stock y despues con el ingreso de la mercaderia vendida se regulariza, pero en cuestiones de costo los datos son incorrectos, es por eso necesario el recalculo. lo que queria era ideas de como hacer el recalculo sin tener que "barrer" la data, pero veo que segun las caracteristicas que quiero implementar al modulo, esto tendra que ser asi (barrer)
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
||||
|
||||
Yo tengo una tabla que tiene los datos básicos del documento y el cálculo del Precio Medio Ponderado.
A esto agrego una marca de validez. Cuando hay una modificación/inserción o borrado, invalido los registros posteriores a la fecha. De esta manera si encuentro un registro que es válido lo utilizo. Si es inválido llamo a una función que recalcula a partir de una fecha y me devuelve el registro que quiero. Ejemplo:
Código:
ID_ART, FECHA, ID_DOC_Y_LIN, UDS, PRECIO, STOCK, PMP, LIFO, FIFO, VALIDO 1, 1/1/18, 1, 10, 100.00, 10, 100.00, 100.00, 100.00, 1 1, 4/1/18, 2, -5, 100.00, 5, 100.00, 100.00, 100.00, 1 1, 9/1/18, 3, 7, 90.00, 12, 94.17, 90.00, 100.00, 1 ... Última edición por duilioisola fecha: 02-10-2018 a las 16:51:57. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Programa de promedio | alenbebote | Varios | 34 | 22-05-2012 02:27:37 |
Promedio.. digitos primos .. | luisito2011 | Varios | 3 | 07-05-2011 02:54:02 |
Promedio de fechas | Pancholp1986 | MySQL | 6 | 23-03-2011 15:34:29 |
cálculo de promedio en delphi ??? | Trident | OOP | 8 | 24-09-2010 20:18:40 |
promedio | velezbunzl | Varios | 12 | 17-03-2009 00:07:32 |
|