其他分享
首页 > 其他分享> > 金蝶K3与IMS系统搭建销售订单交期回复系统

金蝶K3与IMS系统搭建销售订单交期回复系统

作者:互联网

开发目的:商务下单后,计划人员可根据实际交付情况回复销售订单预计交付时间,并将回复日期自动反写至K3数据,可供后续销售订单按期交付率统计,也可供商务、销售人员了解订单在生产端的相关交付动态。

开发工具:金蝶K3;IMS;MSSQL

开发逻辑:先在K3销售订单表体中增加交期回复列字段,作为数据反写的容器;将销售订单信息通过视图方式展示至IMS前台;计划在IMS前台修改时,在IMS对应视图上增加触发器,将计划前端回复日期反写至对应的销售订单数据表体条目数据中,商务可在销售订单中查看即时的生产回复交期。

 

开发过程:

1、K3单据自定义增加生产交期回复字段。K3-客户端工具包-辅助工具-单据自定义进入,增加分录列“计划交期回复”,保存后退出;

2、在IMS数据库搭建销售订单交期回复系统模块;

 

 
  1. CREATE view [dbo].[TA0QJZP]

  2. as

  3. SELECT distinct convert(int,row_number()over(order by FRAYEKK)) as id,a.* from(

  4. select

  5. 66 DirID,

  6. convert(tinyint,'0') SecLevel,

  7. convert(nvarchar(255),t10.fname) Builder,

  8. getdate() LastModified,

  9. convert(nvarchar(255),'admin') LastMender,

  10. t1.fbillno as FZYRUJ6,--订单号

  11. t2.fname as F1XUPMM,--客户名称

  12. T3.Fname as F0VTA4K,--销售分公司

  13. t4.fname as FCBCGMJ,--业务员

  14. t8.fnumber as FG8XD3M,--物料编码

  15. t8.fname as F2JJC6M,--物料名称

  16. t.fauxqty as FYNQP5Z,--下单台数,没有出库时,取订单数

  17. t1.fdate as FRAYEKK,--下单日期

  18. t.fdate as FB6UX7E,--需求日期

  19. case when t8.FERpClsID=1 then '/' when T3.Fname='国际销售' then t9.fbillno else '/' end as FPSV82Q,--生产任务单

  20. t9.FStockQty as FCL5R3B,--入库数量

  21. t9.FCloseDate as F8Y4KKW,--结案日期

  22. CONVERT(DATETIME,t.fentryselfs0167,120) as FGLAZ5V,--计划回复交期

  23. t.finterid as F4LJ89I,--订单内码

  24. t.fitemid as F9LZIRY--订单物料内码

  25. from [K3].[AIS20100809145719].[dbo].seorderentry t WITH(NOLOCK)--销售订单行数据

  26. inner join [K3].[AIS20100809145719].[dbo].SEOrder T1 ON T1.FinterID=T.finterid and t1.fcancellation=0 and t1.fchangemark=0--订单头数据

  27. inner join [K3].[AIS20100809145719].[dbo].t_organization T2 ON T2.FitemID=T1.fcustid --购货单位

  28. inner join [K3].[AIS20100809145719].[dbo].t_department T3 ON T3.FitemID=T1.fdeptid--销售部门

  29. inner join [K3].[AIS20100809145719].[dbo].t_Base_Emp T4 ON T4.FitemID=T1.fempid--业务员

  30. inner join [K3].[AIS20100809145719].[dbo].t_icitem T8 ON T8.FitemID=T.fitemid and t8.fparentid<>22561 --物料表

  31. left join [K3].[AIS20100809145719].[dbo].icmo t9 on t9.forderinterid=t.finterid and t9.fitemid=t.fitemid--生产任务单

  32. LEFT JOIN [K3].[AIS20100809145719].[dbo].t_User t10 ON t10.FUserID = t1.FBillerID--职员表,引入制单人姓名

  33. where t.fcommitqty=0 and t.fauxprice>0 and t.fmrpautoclosed=1 and t.fstockqty=0

  34.  
  35. )a


4、在创建的视图上增加一个触发器,一旦IMS系统的FGLAZ5V列数据有变动,就将该数值写入K3数据库销售订单行数据表Seorderentry中,匹配值为销售订单内码;

 

 

 
  1. CREATE TRIGGER [TR_TA0QJZP] ON [dbo].[TA0QJZP]

  2. INSTEAD OF UPDATE

  3. AS

  4. BEGIN

  5. BEGIN TRANSACTION

  6. SET NOCOUNT ON

  7. BEGIN

  8.  
  9. update t1 set t1.fentryselfs0167=t.FGLAZ5V from Inserted T

  10. INNER JOIN [K3].[AIS20100809145719].dbo.SeorderEntry t1 ON t1.FinterID = t.F4LJ89I-- 销售行数据匹配,计划只需要回复订单中的一条数据,该订单均会被写入回复日期,如果需要计划针对每一条数据进行回复,可以加上and t1.fitemid=t.F9LZIRY限制条件

  11. END

  12. IF (@@error <> 0)

  13. ROLLBACK TRANSACTION

  14. ELSE

  15. COMMIT TRANSACTION

  16. END


5、IMS前端页面展示效果:可以将销售订单信息、生产任务单信息、入库情况等直接展示出来; 

 

6、计划找到需要回复交期的数据,在计划交期回复列右键点击“就地编辑”,即可实现交期的回复,输入后回车,数据即反写到K3数据库中。

7、可以在K3系统中查到回复的交期数据;

标签:dbo,订单,--,K3,交期,IMS,回复
来源: https://blog.csdn.net/mamengna/article/details/111754061