erp产品价格
ERP产品价格成本计算的几个方法
一般财务计算产品价格又很多方法,我这里做了几个供参考,实体属性主要是编号、数量、价格等,这里就不列出了。
///
/// 先进先出算法 ///
/// 入库记录(一个周期内)
/// 出库记录(一个周期内)
///
public List
(List
{
//排序
var inList = (from o in inRecord
orderby o.CDate
select o).ToList();
var outList = (from o in outRecord
orderby o.CDate
select o).ToList();
foreach (var outItem in outList)
{
//当前条已出部分金额
decimal money = 0;
//当前还需出的数量
decimal qty = outItem.Qty;
foreach (var inItem in inList)
{
//如果当前这一条够出库,那么结束去计算价格
if (inItem.Qty > qty)
{
money = money + inItem.Price * qty;
//更新入库表
inItem.Qty = inItem.Qty - qty;
break;
}
else
{
qty = qty - inItem.Qty;
money = money + (inItem.Price * inItem.Qty);
//更新入库表
inItem.Qty = 0;
}
}
//计算出货价格
outItem.Price = money / outItem.Qty;
}
return outList;
}
///
/// 后进先出算法 ///
/// 入库记录(一个周期内)
/// 出库记录(一个周期内)
///
public List
(List
{
//排序
var inList = (from o in inRecord
orderby o.CDate descending
select o).ToList();
var outList = (from o in outRecord
orderby o.CDate
select o).ToList();
foreach (var outItem in outList)
{
//当前条已出部分金额
decimal money = 0;
//当前还需出的数量
decimal qty = outItem.Qty;
foreach (var inItem in inList)
{
//如果当前这一条够出库,那么结束去计算价格
if (inItem.Qty > qty)
{
money = money + inItem.Price * qty;
//更新入库表
inItem.Qty = inItem.Qty - qty;
break;
}
else
{
qty = qty - inItem.Qty;
money = money + (inItem.Price * inItem.Qty);
//更新入库表
inItem.Qty = 0;
}
}
//计算出货价格
outItem.Price = money / outItem.Qty;
}
return outList;
}
///
/// 加权平均算法 ///
/// 入库记录(一个周期内)
/// 出库记录(一个周期内)
/// 上期价格
/// 上期数量
///
public List
(List
decimal prePrice, decimal preQty)
{
decimal money = 0;
decimal qty = 0;
foreach (var inItem in inRecord)
{
money = money + inItem.Price * inItem.Qty;
qty = qty + inItem.Qty;
}
decimal price = (money + prePrice * preQty) / (qty + preQty);
foreach (var outItem in outRecord)
{
outItem.Price = price;
}
return outRecord;
}
///
/// 移动加权平均算法 ///
/// 入库记录(一个周期内)
/// 出库记录(一个周期内)
/// 上期价格
/// 上期数量
///
public List
(List
decimal prePrice, decimal preQty, DateTime preDate)
{
//排序
var outList = (from o in outRecord
orderby o.CDate
select o).ToList();
List
foreach (var outItem in outList)
{
//取出比当前出库记录要早的入库记录,并且排除已经结算的记录
var inList = (from o in inRecord
where o.CDate <= outItem.CDate
&& !preDetail_IDs.Contains(o.Detail_ID)
orderby o.CDate
select o).ToList();
decimal money = 0;
decimal qty = 0;
foreach (var inItem in inList)
{
money = money + inItem.Price * inItem.Qty;
qty = qty + inItem.Qty;
preDetail_IDs.Add(inItem.Detail_ID);
}
outItem.Price = (money + prePrice * preQty) / (qty + preQty);
//修改上期价格和数量
prePrice = outItem.Price;
preQty = qty - outItem.Qty;
}
return outList;
}
- 1erp企业管理系统是如何收费的
- 2新公司启动erp系统需多少钱
- 3erp销售管理系统费用多少钱
- 4重庆制衣业服装erp系统多少钱
- 5郑州化妆品行业erp系统多少钱
- 6ah物料仓管erp系统多少钱
- 7装饰公司erp管理系统多少钱一套
- 8佛山服装厂erp系统的收费
- 9品质好服装企业erp系统价钱
- 10erp电商订单管理系统多少钱
- 11湖州服装厂erp系统的收费
- 12安徽制衣业服装erp系统多少钱
- 13erp软件价格多少
- 14erp系统进销存要入单价吗
- 15沧县仓库erp管理系统多少钱
- 16餐饮连锁erp管理系统多少钱
- 17仓库管理erp系统收费多少
- 18跨境erp价格
- 19泛普多端后台系统erp多少钱
- 20工厂erp一般多少钱
- 21工厂erp系统前端外包多少钱
- 22进销存erp系统价格
- 23邢台仓库erp管理系统多少钱
- 24保定企业erp管理系统多少钱
- 25erp仓库出入库系统要多少钱
- 26菏泽企业erp管理系统多少钱
- 27行业erp多少钱
- 28erp沙盘系统价钱一般多少
- 29南京专注erp服装订单系统价钱
- 30采购erp系统价格
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼