用友U8在参照生产订单界面显示各个仓别的可用量
业务痛点:仓库在参照生产订单界面做材料出库单时,只能显示总的可用量,只能再勾选后,再到材料出库单界面选择单个仓别,再将没有库存的物料进行删除操作,费时费力。
实现效果:
实现方式:
事件探查器探查出参照的子件用量v_st_moallocate,看到参照界面栏目设置中可以添加栏目,其中一些字段没有啥用处,突发奇想,能不能修改视图,将可用量查询出来后赋值给栏目设置里面无用的字段,说干就干。
第一步:修改视图(红色为修改部分)
ALTER VIEW [dbo].[v_st_moallocate]
AS
SELECT v.AuxUnitCode AS cassunit,
com.cComUnitName AS cinva_unit,
v.ChangeRate AS iinvexchrate,
--v.auxqty as itnum,
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
v.Qty / v.ChangeRate
END
)
END
) AS itnum,
i.iGroupType AS igrouptype, --优化效率用
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
(ISNULL(v.IssQty, 0) - ISNULL(ReplenishQty, 0)) / v.ChangeRate
END
)
END
) AS isnum,
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
(ISNULL(v.Qty, 0) - ISNULL(v.IssQty, 0) + ISNULL(ReplenishQty, 0)) / v.ChangeRate
END
)
END
) AS iunnum,
--增加调拨件数,未调拨件数,数量
v.ftransqty,
v.ftransappqty,
v.CostItemCode,
v.CostItemName,
v.ItemClass,
v.ItemName,
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
ISNULL(v.ftransqty, 0) / v.ChangeRate
END
)
END
) AS ftransnum,
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
ISNULL(v.ftransappqty, 0) / v.ChangeRate
END
)
END
) AS ftransappnum,
(CASE
WHEN ISNULL(v.Qty, 0) >= ISNULL(v.ftransqty, 0) THEN
ISNULL(v.Qty, 0) - ISNULL(v.ftransqty, 0)
ELSE
0
END
) AS funtransqty,
(CASE
WHEN i.iGroupType = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.ChangeRate, 0) = 0 THEN
NULL
ELSE
(CASE
WHEN ISNULL(v.Qty, 0) >= ISNULL(v.ftransqty, 0) THEN
ISNULL(v.Qty, 0) - ISNULL(v.ftransqty, 0)
ELSE
0
END
) / v.ChangeRate
END
)
END
) AS funtransnum,
(CASE
WH