找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 1933|回复: 12

U8触发器有什么注意事项?

[复制链接]
发表于 2022-9-16 00:24:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
在库存单据上做了触发器,从项目档案更新一个表头自定义项值,验证效果正常。

但是存货核算,正常单据记账报错,把触发器禁用了,正常单据记账就正常了。
请问需要怎么做触发器,才能不影响系统的功能,U8的触发器有哪些需要注意的事项。
附件是2个单据的触发器脚本,都是实现类似的功能。

其他出库单根据项目编码自动更新项目目录的字段.zip

586 Bytes, 下载次数: 2, 下载积分: 金币 -5

销售出库单根据项目编码自动更新项目目录的字段.zip

586 Bytes, 下载次数: 2, 下载积分: 金币 -5

金币

快速加金币

下载提示积分金币不足,非特定用户等

无法下载,可充值金币

 楼主| 发表于 2022-9-16 00:27:41 | 显示全部楼层
CREATE TRIGGER  xsckd_update_fitemss05
   ON rdrecord32 --销售出库单主表
   FOR INSERT,UPDATE
AS
BEGIN
        if (select cDefine11 from rdrecord32 where  cCode=(select cCode from inserted) ) is null  --如果销售流水号为空
       
          begin
                update rdrecord32 set cDefine13=NULL,cDefine3=NULL  where  cDefine11 IS NULL   --清空其他2个字段
          end
       
        else              --如果销售流水号不为空
       
          begin          
                update rdrecord32 set cDefine13=fitemss05.销售项目编码,cDefine3=fitemss05.客户名称 from fitemss05    --从项目目录“新销售流水号”中更新其它2个字段
                where  cDefine11=fitemss05.citemcode and cCode=(select cCode from inserted)
           end
END
回复 点赞 1 拍砖 0

使用道具 举报

 楼主| 发表于 2022-9-16 00:27:17 | 显示全部楼层
附件下载好像要积分,我把代码贴出来:

CREATE TRIGGER  qtckd_update_fitemss05
   ON RdRecord09 --其他出库单主表
   FOR INSERT,UPDATE
AS
BEGIN
        if (select cDefine11 from RdRecord09 where  cCode=(select cCode from inserted) ) is null  --如果销售流水号为空
       
          begin
                update RdRecord09 set cDefine13=NULL,cDefine3=NULL  where  cDefine11 IS NULL   --清空其他2个字段
          end
       
        else              --如果销售流水号不为空
       
          begin          
                update RdRecord09 set cDefine13=fitemss05.销售项目编码,cDefine3=fitemss05.客户名称 from fitemss05    --从项目目录“新销售流水号”中更新其它2个字段
                where  cDefine11=fitemss05.citemcode and cCode=(select cCode from inserted)
           end
END
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-17 13:53:10 | 显示全部楼层
本帖最后由 consofor 于 2022-9-17 13:56 编辑

CREATE TRIGGER  qtckd_update_fitemss05
   ON RdRecord09 --其他出库单主表
   FOR INSERT,UPDATE   ------ 不清楚更新触发有啥意义
AS
BEGIN
set nocount on ;  ----  设置无返回信息
   if update(cHandler )   ----更新条件
        if (select cDefine11 from RdRecord09 where  cCode=(select cCode from inserted) ) is null  --如果销售流水号为空
      
          begin
                update RdRecord09 set cDefine13=NULL,cDefine3=NULL  where  cDefine11 IS NULL   --清空其他2个字段
          end
      
        else              --如果销售流水号不为空
      
          begin         
                update RdRecord09 set cDefine13=fitemss05.销售项目编码,cDefine3=fitemss05.客户名称 from fitemss05    --从项目目录“新销售流水号”中更新其它2个字段
                where  cDefine11=fitemss05.citemcode and cCode=(select cCode from inserted)
           end
END

点评

搞清楚了,是一个字段名  详情 回复 发表于 2022-9-21 17:10
感谢您的答复!有一个条语句没看懂: if update(cHandler ) ,这个cHandler指什么? 再次请教。  详情 回复 发表于 2022-9-21 16:51
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-19 18:52:08 | 显示全部楼层
学习学习
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-20 16:28:33 | 显示全部楼层
附件是2个单据的触发器脚本,都是实现类似的功能。
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2022-9-21 16:51:24 | 显示全部楼层
consofor 发表于 2022-9-17 13:53
CREATE TRIGGER  qtckd_update_fitemss05
   ON RdRecord09 --其他出库单主表
   FOR INSERT,UPDATE   ---- ...

感谢您的答复!有一个条语句没看懂: if update(cHandler )  ,这个cHandler指什么?
再次请教。

回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2022-9-21 17:10:28 | 显示全部楼层
consofor 发表于 2022-9-17 13:53
CREATE TRIGGER  qtckd_update_fitemss05
   ON RdRecord09 --其他出库单主表
   FOR INSERT,UPDATE   ---- ...

搞清楚了,是一个字段名
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-23 10:33:51 | 显示全部楼层
学习一下学习一下学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-23 10:36:21 | 显示全部楼层
学习一下学习一下学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2022-9-23 13:59:13 | 显示全部楼层
学习一下学习一下学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2022-10-8 13:59:18 | 显示全部楼层
学习一下
回复 点赞 拍砖

使用道具 举报

发表于 2022-10-12 13:16:38 | 显示全部楼层
看来做个用友的系统管理员还真不简单
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-3-29 03:05 , Processed in 0.059294 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表