Ver Mensaje Individual
  #3  
Antiguo 08-10-2006
JulioGO JulioGO is offline
Miembro
 
Registrado: ago 2004
Posts: 94
Reputación: 20
JulioGO Va por buen camino
Costo de Inventario

Hola NickName:

Tengo yo realizo el proceso de costear el inventario de un almacen de la siguiente manera: en una tabla tengo los datos de la compra y en otro los de la venta(cabeceras), cada una con su respectiva tabla de detalles. Es con las tablas de detalles con las q trabajo. En la tabla detalles de compras es donde guardo el precio de compra, y en la tabla detalles de ventas el precio de venta.

Luego lo q hago es mediante vistas, unir los datos de la cabecera(fecha, proveedor/cliente, id_articulo, precio compra, precio venta). Una vista para lo q es compras y otra para lo q es ventas.

De ahi uno las dos vistas mandando el rango de fechas q desea procesar y voy realizando el costo de inv. Todo esto ultimo en un procedimiento almacenado:

Aqui te envio el procedimiento:

Código SQL [-]
create procedure costeo_articulo(codart, fecini, fecfin)
results(tipo, fecha, proveed_cliente, cantidad, precio, total, precio_costo)
for select tipo, fecha, 
from (
     select 'C' tipo, fecha, proveedor proveed_cliente, cantidad, precio_compra
       from vista_compras
      where codart=:codart and fecha between :fecini and :fecfin
    union all
    select 'V' tipo, fecha, cliente proveed_cliente, cantid, precio_venta
      from vista_ventas
      where codart=:codart and fecha between :fecini and :fecfin
)
order by fecha
into :tipo, :fecha, roveed_cliente, :cantidad, recio do
begin
 total = recio * :cantidad;
 if (:tipo = 'C') then /*si el mov. es compras realiza el precio de costo*/
      precio_costo = :cantidad/recio;
 else
     total = recio_costo * :cantidad;
 suspend;
end

Si revisas el codigo el procedimiento realiza el proceso de costeo por articulo
q lo puedes anexar a otro procedimeinto para poder sacar el costeo de todos los articulos

Espero te sirva.

Saludos
Responder Con Cita