将自己以前跟踪分析后写的语句整理分享  --白波九道 2011.12

这个触发器的制作是以前公司想在某一成品入库时就自动生成销售订单然后出库销售,因为是这样的销售模式,每天都有大量的单据做,所以做了这个触发器来自动生成销售订单和销售出库单减少工作量。

这是一个实用的触发器,已经使用了近两年了,完全没有问题。我加了备注方便理解。

RCREATE TRIGGER [IN_DIS] ON [dbo].[RdRecord] 
FOR UPDATE
not for replication 
AS

------------==========================★触发器-审核一个帐套成品入库时生成销售出库单★=======================---------------------------

-------------------------------------------格式化单号-------------------------------------------------------------
DECLARE @cDLCode char(15)  --发货单号
DECLARE @DJHH char(11) 
DECLARE @YM char(6)
DECLARE @cmemo char(50) 
DECLARE @MNO INT --当天最大的单据号(数值)

--格式化日期
SET @YM = CONVERT(char(6),GETDATE(),12)

--单据字头 
SET @DJHH = 'DRWH'+ @YM +'-'

if not exists (select DLID from dispatchlist where substring(cDlcode,5,6) = @YM)
    set @mno=0
else
    select top 1 @mno=convert(int,right(cDlcode,3)) from dispatchlist where left(cDlcode,4)='DRWH' AND substring(cDlcode,5,6) = @YM  order by cDlcode DESC
--格式化序号
set @cDLCode=@DJHH+right('000'+cast(@mno+1 as varchar),3)
set @cmemo='由成品入库单'+(select cCode from  inserted)+'生成'
-----------------------------------------------------------------------------------------------------------------------

if Update(cHandler) and (select cHandler from inserted )<>'' and (select cWhCode from  inserted)='WXYLC' and (select cBusType from inserted)='成品入库'  
and (select cRdCode from inserted)='SCP' and (select cDepcode from inserted)='H202' 
and (select cdefine9 from inserted) is null and not exists(select DLid from DispatchList wherecDLCode=@cDLCode)

BEGIN
 
 DECLARE @DLID int      --发货单主表标识
 DECLARE @AutoID int --发货单子表标识 
 DECLARE @iDlsID int    --发货单子表辅助标识 
 DECLARE @maxid int 
 DECLARE @sysid int
 DECLARE @i int
 DECLARE @count int
 DECLARE @DDate varchar(10)

set @ddate=(SELECT CONVERT(VARCHAR(10),GETDATE(),120))

set @maxid=(select max(dlid)+1 from dispatchlist)
 set @sysid=(select iFatherId+1 from UFSystem..UA_Identity where cAcc_id='009' and cVouchtype='DISPATCH' )
  if @maxid>=@sysid set @DLID=@maxid   else set @DLID=@sysid
 
 set @maxid=(select max(iDlsID)+1 from dispatchlists)
 set @sysid=(select iChildId+1 from UFSystem..UA_Identity where cAcc_id='009' and cVouchtype='DISPATCH')
 if @maxid>=@sysid set @iDlsID=@maxid   else set @iDlsID=@sysid

-------------------------------------------插入新记录到销售出库单主表-------------------------------------------------------------
 Insert Into dispatchlist
 (cbustype,ivtid,cDLCode,cvouchtype,cstcode,ddate,cdepcode,cpersoncode,ccuscode,cexch_name,iexchrate,itaxrate,cmemo,breturnflag,
 dlid,cmaker,bfirst,sbvid,isale,ccusname,bcredit,iverifystate) 
 Values 
 ('普通销售',71,@cDLCode,'05','H0',@ddate,'H0','H005','J0008','人民币',1,17,@cmemo,0,
 @DLID,'何伶伶',0,0,0,'绵阳得润',0,0)

update rdrecord set cdefine9='1' where id=(select id from inserted)
 update UFSystem..UA_Identity set iFatherId=@DLID where cAcc_id='009' and cVouchtype='DISPATCH'

-------------------------------------------插入新记录到销售出库单子表-------------------------------------------------------------

set @autoid=(select max(autoid) from rdrecords where id=(select id from inserted))

Select identity(int,1,1) tmpid,null iDlsID,@DLID dlid,'WXYLC' cwhcode,a.cInvCode,iQuantity,isnull(iinvscost,0) iquotedprice,isnull(iinvscost,0) iunitprice,isnull(iinvscost,0)*1.17 itaxunitprice,isnull(iinvscost,0)*iQuantity imoney,
 isnull(iinvscost,0)*iQuantity*0.17 itax,isnull(iinvscost,0)*iQuantity*1.17  isum,0 idiscount,isnull(iinvscost,0) inatunitprice,isnull(iinvscost,0)*iQuantity inatmoney,
 isnull(iinvscost,0)*iQuantity*0.17 inattax,isnull(iinvscost,0)*iQuantity*1.17 inatsum,0 inatdiscount,0 bsettleall,0 itb,100 kl,100 kl2,cinvname,17 itaxrate
 into #tmpdisp 
 from Rdrecords a left join SA_CusUPriceView  b  on b.ccuscode='j0008' and a.cinvcode=b.cinvcode where id=(select id from inserted)

set @i=1
 set @count=(select count(*) from #tmpdisp)

while @i<=@count
 begin
     update #tmpdisp set iDlsID=@iDlsID where tmpid=@i
     set @i=@i+1
     set @iDlsID=@iDlsID+1
 end
  
 Insert Into dispatchlists
 (dlid,iDlsID,cwhcode,cInvCode,iquantity,iquotedprice,iunitprice,itaxunitprice,imoney,
 itax,isum,idiscount,inatunitprice,inatmoney,
 inattax,inatsum,inatdiscount,bsettleall,itb,kl,kl2,cinvname,itaxrate,
 fsalecost,fsaleprice,bIsSTQc,bGsp,cMassUnit,bQANeedCheck,bQAUrgency,bQAChecking,bQAChecked,iQAQuantity,iQANum,bcosting,fcusminprice) 
 select dlid,iDlsID,cwhcode,cInvCode,iquantity,iquotedprice,iunitprice,itaxunitprice,imoney,
 itax,isum,idiscount,inatunitprice,inatmoney,
 inattax,inatsum,inatdiscount,bsettleall,itb,kl,kl2,cinvname,itaxrate,
 0,0,0,0,0,0,0,0,0,0,0,1,0 from #tmpdisp
 
 update UFSystem..UA_Identity set iChildId=@iDlsID-1 where cAcc_id='009' and cVouchtype='DISPATCH'

END

用友U8.72 审核成品入库单时生成销售出库单 SQL触发器  --白波九道相关推荐

  1. U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言...

    1.销售系统销售出库,更新U811.1材料库存的EAI的XML生成. 2.主要根据U8配置会生成出库单和同时是否更新库存量,还是更新现存量等等. 3.具体参考代码如下: 作者:王春天 2013-11- ...

  2. 销售出库单单价为零的故障解决

    用友U8普及版(U852)仓库先进先出计价方式,而销售出库单记账单价为零的故障解决方案. 一.存货核算中,销售出库单正常单据记账时,其单价和金额为零. 1.造成的原因是:库存管理-初始设置-选项-专项 ...

  3. 金蝶服务器销售出库单无法审核,金蝶云IM-201805007-销售出库单审核失败

    解决方案: 一.问题描述 1.适用版本 EAS V8.2.0 2.问题场景 销售出库单审核失败 3.重现过程 销售出库单审核失败 4.报错日志 Caused by: java.lang.NullPoi ...

  4. 用友T+销售出库单审核之后成本金额会变化

    T+12标准版,已经用入库调整单调整过成本,为什么在销售出库单上的成本没审核前是调整过的,审核后就变成调整前的金额. 是现进先出法,调整的是现库存,出库单日期是在调整之后的,也就是说调整单只能调整到结 ...

  5. 旺店通·企业奇门与用友BIP旺店通销售出库单对接销售订单

    通过集成平台可视化的配置系统集成对接 源系统平台:旺店通·企业奇门 源系统接口: 查询销售出库单wdt.stockout.order.query.trade 目标系统平台: 用友BIP 目标系统接口: ...

  6. 旺店通·企业奇门对接打通用友BIP查询销售出库单接口与销售订单单个保存接口

    旺店通·企业奇门对接打通用友BIP查询销售出库单接口与销售订单单个保存接口 源系统:旺店通·企业奇门 慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS.SaaS模式,以一体化智能零售 ...

  7. u8销售出库单,存货核算正常单据记账找不到,库存管理弃审提示‘表体已记账’

    财务在操作存货核算时,u8卡住,关闭后重新登录不上.登录界面提示找不到年度数据. 登录数据库服务器,发现mssqlserver服务被停止,查看日志发现有这一条 '由于出现异常 c0000005,SQL ...

  8. 旺店通·企业奇门对接打通金蝶云星空查询销售出库单接口与销售出库新增接口

    接入系统:旺店通·企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点--订单管理,之后围绕电商经营管理中的核心管理诉求,先后布局流量获取.会员管理.仓库管理等其他重要经营模块.慧策的产品线从旺店通E ...

  9. 销售开票参照不到销售出库单或者销售发货单

    销售开票参照不到销售出库单或者销售发货单 排查以下几种情况: 1.销售出库单或销售发货单是否已审核: 2.销售设置选项的开票依据是销售出库单还是销售发货单: 3.参照开票查询方案条件是否满足,是否已过 ...

  10. 金蝶KIS旗舰版盘点机PDA,销售出库单扫码校验,出库扫码校验核对,金蝶生产管理软件,金蝶仓库条码管理

    金蝶KIS旗舰版盘点机PDA,销售出库单扫码校验,出库扫码校验核对,金蝶生产管理软件,金蝶仓库条码管理,移动扫码销售出库校验_哔哩哔哩_bilibili本期视频讲解:使用盘点机PDA ,扫描商品条码, ...

最新文章

  1. Java EE 开发环境搭建
  2. python 字符串前面加 f
  3. 查看linux java home_查看Linux中自带的jdk,设置JAVA_HOME
  4. hdu1255 扫描线,矩形重叠面积(两次以上)
  5. java 顶层类_Javase之集合体系之(1)集合顶层类Collection与其迭代器知识
  6. 12123选牌漏洞_12123选牌漏洞是什么?新车牌号自编自选技巧
  7. FFMPEG解码264文件步骤
  8. 尴尬了!迪士尼官方声明:从未与VIPKID有任何层面的业务合作关系
  9. 图割Graph-Cut的最大流实现
  10. docker学习笔记-6.容器关联,容器网络
  11. fiddler4苹果手机证书无法使用的问题解决方案
  12. html三级链表,二叉链表怎么画
  13. 免费SSL证书的制作
  14. 主析取范式与主合取范式原理探究
  15. 纹波(ripple)的定义
  16. 最简单的改变字体大小代码
  17. 经济放缓 全球角色逆转
  18. 最小生成树(普里姆算法)
  19. 2022北京高考数学压轴题21题的一种解答
  20. WebServices | 期末复习 · WebService基本概念、XML

热门文章

  1. 怎么向字体库中添加字体
  2. 计算机电子书 2018 BiliDrive 备份
  3. 古代汉语(王力版)笔记
  4. 智能优化算法——遗传算法(C语言实现)
  5. 【自动控制原理】 时域分析法
  6. 数学建模算法体系分类
  7. 【功能测试】-【黑盒测试用例】
  8. 使用ThinkPHP扩展,实现Redis的CURD操作。
  9. JAVA-Switch语句
  10. 四年,新华三安全大变样