专业版物料数据授权
专业版物料数据授权解决方法
客户是生成企业,业务员用移动应用开单,因为原料保密,不希望业务员看到原材料,专业版不支持物料数据授权,
目前只想到这个方法解决,大家可以参考下,看看有没有更完善的解决方法。
1、增加计量单位组 数量组 把除了产成品以外的计量单位都添加这个组里
2、增加物料 代码 9 ,名称 原材料,单位 数量组
3、所有物料 物料属性选自制(系统会生成成本对象)
可以通过系统工具把所有物料引出 把物料属性改成自制 在覆盖引入
4、执行语句-把产成品(代码02)以外的物料设置成半禁用(电脑端能看,手机上看不到)
Update t_ICItemCore set FDeleted=1 where fnumber<'02' or fnumber>'03'
Update t_ICItemCore set FDeleted=0 where fnumber='9'
5 执行语句在入库单、领料单、其他入库、其他出库单增加原材料列(取值成本对象)
DELETE FROM ICTemplateEntry WHERE FLookUpCls='2001' AND FID='A01'
INSERT INTO ICTemplateEntry
(FID, FCtlOrder, FCtlIndex, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FEnable, FPrint,
FHeadCaption, FWidth, FNeedCount, FMustInput, FDefaultCtl, FVisForBillType, FRelateOutTbl, FSysMustInputItem,
FHeadCaption_CHT, FHeadCaption_EN, FStatCount, FIsVisibleForList, FCanEditedAllTime,
FAllowCopy,FPrintStatus, FIsVisibleForTemplate, FSelBill, FBillVisible)
VALUES ('A01',4,4,2,2001,1,1,1,'FCostOBJID',48,1,'原材料',1005,0,0,1,31,0,0,'原材料','CostObj',0,1,1,1,0,0,0,0)
--入库单增加原材料列
DELETE FROM ICTemplateEntry WHERE FLookUpCls='2001' AND FID='B04'
INSERT INTO ICTemplateEntry
(FID, FCtlOrder, FCtlIndex, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FEnable, FPrint,
FHeadCaption, FWidth, FNeedCount, FMustInput, FDefaultCtl, FVisForBillType, FRelateOutTbl, FSysMustInputItem,
FHeadCaption_CHT, FHeadCaption_EN, FStatCount, FIsVisibleForList, FCanEditedAllTime,
FAllowCopy,FPrintStatus, FIsVisibleForTemplate, FSelBill, FBillVisible)
VALUES ('B04',4,4,2,2001,1,1,1,'FCostOBJID',48,1,'原材料',1005,0,0,1,31,0,0,'原材料','CostObj',0,1,1,1,0,0,0,0)
--领料单增加原材料列
DELETE FROM ICTemplateEntry WHERE FLookUpCls='2001' AND FID='A97'
INSERT INTO ICTemplateEntry
(FID, FCtlOrder, FCtlIndex, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FEnable, FPrint,
FHeadCaption, FWidth, FNeedCount, FMustInput, FDefaultCtl, FVisForBillType, FRelateOutTbl, FSysMustInputItem,
FHeadCaption_CHT, FHeadCaption_EN, FStatCount, FIsVisibleForList, FCanEditedAllTime,
FAllowCopy,FPrintStatus, FIsVisibleForTemplate, FSelBill, FBillVisible)
VALUES ('A97',4,4,2,2001,1,1,1,'FCostOBJID',48,1,'原材料',1005,0,0,1,31,0,0,'原材料','CostObj',0,1,1,1,0,0,0,0)
--其他入库单增加原材料列
DELETE FROM ICTemplateEntry WHERE FLookUpCls='2001' AND FID='B09'
INSERT INTO ICTemplateEntry
(FID, FCtlOrder, FCtlIndex, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FEnable, FPrint,
FHeadCaption, FWidth, FNeedCount, FMustInput, FDefaultCtl, FVisForBillType, FRelateOutTbl, FSysMustInputItem,
FHeadCaption_CHT, FHeadCaption_EN, FStatCount, FIsVisibleForList, FCanEditedAllTime,
FAllowCopy,FPrintStatus, FIsVisibleForTemplate, FSelBill, FBillVisible)
VALUES ('B09',4,4,2,2001,1,1,1,'FCostOBJID',48,1,'原材料',1005,0,0,1,31,0,0,'原材料','CostObj',0,1,1,1,0,0,0,0)
--其他出库单增加原材料列
6、增加触发器 单据保存后 把物料代码9(内码868)更换成原材料列对应的原材料
(1)执行语句 查出 物料代码9内码
select FItemID from t_ICItemCore where fnumber='9'
(2)把下面语句物料内码改成868 然后在查询分析器执行下
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
CREATE TRIGGER [YLICStockBill] ON [dbo].[ICStockBill]
FOR UPDATE
AS
begin
Update t_ICItemCore set FDeleted=1 where fnumber<'02' or fnumber>'03'
Update t_ICItemCore set FDeleted=0 where fnumber='9'
--把产成品(代码02)以外的物料设置成半禁用(电脑端能看,手机上看不到)
update ICStockBillEntry set FItemID=cbCostObj.FStdProductID from
cbCostObj where ICStockBillEntry.FItemID=868 and ICStockBillEntry.FCostOBJID=cbCostObj.FItemID
--单据保存后 把物料代码9(内码868)更换成原材料列对应的原材料
END
7、做采购入库单时 物料选9 原料选择(成本对象里的原材料名称)
单据保存后,点前单,点后单 就能看到变化
问题:物料半禁用后无法做入库出库,哪位大神有方法处理
如果能实现禁用的物料可以入库或出库,那样就禁用下物料就可以让手机只能看到成品了
旗舰版也是2800~~
这种情况为什么不让客户升级旗舰版呐?
个人建议:升级能完美解决的问题,折腾的意义不大的!
Update t_ICItemCore set FDeleted=1 where fnumber<'02' or fnumber>'03' 执行语句把物料半禁用下,手机上就看不到该物料了,电脑端能看到该物料,但是禁用后是无法出入库的,只能变通解决,哪位大神能有方法让禁用的物料可以入库或出库
专业版物料数据授权
本文2024-09-16 19:40:22发表“kis知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-kis-30150.html