找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

[技巧] 深度解析U6底层架构案例分析——到货单参照订单带出存货默认仓库DIY

   火... [复制链接]
发表于 2008-12-4 22:40:34 | 显示全部楼层 |阅读模式

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

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

×
需求:客户需要在到货单参照订单时带出存货的默认仓库,以提高软件易用性,而U6本身不支持这个功能,到货单参照订单时到货单仓库表体会为空。

分析:
     表:AA_ColumnDic 这个表记录的是U6所有单据及列表的列信息,由于U6是个庞大的软件,当业务逻辑发生变化时不可能依次去修改所有SELECT
后面的列名,所以需要把列名统一在这个表中进行维护,用cKey列加以区分,例如:定义某单据类型为Demo(以后简称该单据为Demo),就要添加N
多cKey等于Demo的记录,如果Demo增加了某个属性,比如金额(表中对应列名:JinE),则不需要修改代码,只要在这个表中添加一条cKey等于Demo,
cFld为“JinE”的记录,那么在软件所有的SELECT ... FROM DemoTable的地方,都会多SELECT一列JinE。

    视图:最终软件中显示出的数据多半不是直接对表进行查询生成的,往往要把某类具有高度“复用性”的查询语句抽象成视图,提高软件质量和运行
效率。比如参照采购订单的那个订单列表就属于此类数据。经过对数据库视图进行分析,很显然这个"copypolist"就是这个视图了,不信select一下看看。
因为凡是大企业做开发对命名的要求都是很严格规范的,copy就是“复制”,po就是“订单”,list就是“列表”了。(那copypplist呢?自己研究吧,O(∩_∩)O哈哈~)

    那这表和视图是怎么联动的呢?大家查一下AA_ColumnDic 表就会发现一个奇怪的问题,很多列名后面带了两个@@,自己对比观察,发现这些列正好
跟目标单据类型的列是对应的,那么姑且可以下个结论:在参照生单时,U6是用@@符号在做为生单传递数据标记。
    下面让我们开始吧。。。。。Let'S GO~~!

步骤:
1、修改copypolist视图,在这个视图中Left join warehouse on warehouse.cWhCode=Inventory.cDefWarehouse
2、在copypolist的SELECT后面加上warehouse.cWhCode和warehouse.cWhName这样订单这个数据源就被我们DIY上了存货默认仓库的名称和编码了
3、添加生单中取列名的AA_ColumnDic 记录,采购订单生成到货单列表的cKey是pu_cgddtocgdhd(采购_采购订单吐采购到货单~~!雷人吧?)
   cFld别忘了cWhCode后面的@@,还有cWhName@@和copypolist的列相对应啊~最后是cQryField的值,既然是对copypolist进行查询,就仿照其他
   记录写个copypolist.cWhCode和copypolist.cWhName吧
4、执行脚本。
5、做好订单,设好存货默认仓库,设到货单模板表体中仓库为可见项
6、进入到货单,点参照,然后点设置,发现什么没?多出了两行栏目选项,就是刚才设置的存货默认仓库名称和默认仓库编码,选中,点“系统默认”
   重置一下AA_ColumnSet表,确定退出。
7、退出到货单重进
8、参照生单,仓库带出来了吧?哈哈,庆祝一下。

哎~~~~~~大半夜写了这么多,累死我了,大家要帮顶啊~~~~!
回复可看完整脚本文件。


--------------------脚本1--------------------------------
游客,如果您要查看本帖隐藏内容请回复


---------------------脚本2--------------------------------------
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2威望 +10 金币 +55 魅力 +10 收起 理由
阿欢 + 5
stonys + 10 + 50 + 10 精品文章

查看全部评分

发表于 2021-11-23 19:59:02 | 显示全部楼层
楼主辛苦了,非常给力
回复 点赞 拍砖

使用道具 举报

发表于 2021-11-11 11:27:51 | 显示全部楼层
楼主辛苦了,先赞一下。
回复 点赞 拍砖

使用道具 举报

发表于 2017-12-26 23:13:38 | 显示全部楼层
楼主辛苦了,非常给力
回复 点赞 拍砖

使用道具 举报

发表于 2017-10-23 14:24:00 | 显示全部楼层
牛人,的确是个人才啊。
回复 点赞 拍砖

使用道具 举报

发表于 2017-8-2 10:09:59 | 显示全部楼层
楼主威武!楼主威武!
回复 点赞 拍砖

使用道具 举报

发表于 2008-12-4 23:43:36 | 显示全部楼层

谢谢分享

谢 谢 分 享
发表于 2008-12-5 07:58:57 | 显示全部楼层
这个要看看是怎么搞的。
发表于 2008-12-5 08:01:27 | 显示全部楼层
呵呵,没看懂。这属不属于二次开发的东西呢?
发表于 2008-12-5 09:05:38 | 显示全部楼层
厉害
发表于 2008-12-5 13:43:22 | 显示全部楼层

好东西

强悍!!!!我喜欢,哈
发表于 2008-12-5 15:30:38 | 显示全部楼层
辛苦结晶.顶了.
发表于 2008-12-5 17:12:07 | 显示全部楼层
学习一下~感谢楼主的无私奉献
 楼主| 发表于 2008-12-5 23:09:52 | 显示全部楼层

回复 4# playman 的帖子

不属于二次开发,算是对系统的优化调整吧。
发表于 2008-12-6 10:05:44 | 显示全部楼层
辛苦了,谢谢分享,收藏一下
发表于 2008-12-6 12:17:56 | 显示全部楼层
牛人,的确是个人才啊。
发表于 2008-12-6 16:10:35 | 显示全部楼层
谢谢分享
谢 谢 分 享
发表于 2008-12-8 13:14:07 | 显示全部楼层
支持LZ无私奉献
发表于 2008-12-8 14:03:50 | 显示全部楼层
谢谢,谢谢共享
发表于 2008-12-8 16:35:25 | 显示全部楼层
看下视图脚本怎么写的`
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-4-19 01:22 , Processed in 0.048451 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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