[二开笔记] 如何在协同开发平台新建一个动态表单项目
## 前言
上一篇整理了关于如何在协同开发平台搭建开发环境的笔记 (传送门:[[二开笔记] 如何使用协同开发平台进行新项目开发](https://wenku.my7c.com/article/285511185883886592?cid=286067358412903424)),反响超乎了 Yogurt 的预期,看来在这个关键时期,不光是 Yogurt,还有很多同行都在寻找和摸索使用新平台的操作方法。Yogurt 从自身的项目出发,继续整理的关于协同开发平台的笔记,这一次是关于动态表单项目的创建。
## 开发环境
| 信息 | 说明 |
| ---------------- | ---------------------------------------------------- |
| 操作系统版本 | Microsoft Windows 10 专业工作站版 10.0.19042 64 位 |
| 金蝶云星空版本 | v7.7.0.202112 |
| BOS 版本 | v7.72388.8 |
## 操作步骤
### Step 1 启动开发环境
打开项目目录,找到步骤 Step 5 创建的 `StartService.bat` 文件,就是那个用来 `启动开发环境的BAT命令`。鼠标选中后右键选择 `以管理员身份运行`
![c21699dbc8894da629347e08f7c430bb.webp](/download/0100ed19c1f3ef274f7fa463dbcd095cad4e.webp)
将会打开两个窗口,一个是 IISExpress.exe,一个是浏览器。实测需要等待约 3-5 分钟左右才会启动完成,这时你可以喝口水,放松一下。
![33224a380422809b99cfe0eecf959bda.webp](/download/0100717b8e7aec6348ca871847d0d0940232.webp)
如果看到这个页面,恭喜你,开发环境顺利搭建完成了。
![b645f0a95fdf0290076ec856b2faabfe.webp](/download/0100b5d49b28ad7d465da1a3baca920ea9fb.webp)
### Step 2 登录开发环境
Step 1 正常启动成功后,打开 `协同开发平台` 在登录界面的 `服务器设置` 中输入 `http://localhost:配置的端口`,例如这里配置的端口为 `1203`,因此输入的是 `http://localhost:1203`。
![f8232ab28a5878ebdd2386ed7e6f1af4.webp](/download/01004a92b06438bd46ad9a92be26c4ff5daa.webp)
修改完后,正常登录即可。
### Step 3 打开项目
等待登录完成,将在 `我的应用` 对话框中看到新建的项目
![6b9a2e212673b635cd5a5fce45ad65f4.webp](/download/01009050da1699dd4ff78028fc4c6650534f.webp)
### Step 4 新建表单插件工程
在右侧的项目对话框里,展开 `程序集包`,选择 `表单插件工程` (一定要选中),然后 `右键` 在弹出的菜单中选择 `新建表单插件工程`。
![e1b02f855a13066f0d32a8f4483f4be7.webp](/download/010004f8ab8b20b5490fb578796273af8fd3.webp)
在弹出的对话框中添加输入 `工程名称` ,一般情况下 `工程目录` `引用/输出目录` 都是默认在项目文件夹的 `K3Cloud/bin` 目录下,自动生成的路径,可以不用管。
工程名称按照金蝶社区的开发规范的格式来写,Yogurt 的格式是参考了官方的插件名称来的。
> 开发商代码.K3.项目名称.BusinessPlugIn
![a1f7142e8fafd117713264e303d98556.webp](/download/0100bb8a57e632484e289ee4c5f39d7844f4.webp)
新建好表单插件工程后,选中新建的工程(一定要选中),`右键` 在弹出的菜单中选择 `添加插件`
![b04551a47f5cdff58882c884dcefcddb.webp](/download/01008b6ca4affaca4c87baacf9afce7d8377.webp)
然后根据提示依次选择/输入相关的信息。
插件类型这里是动态表单,所以就选择 `动态表单插件`
插件名称建议是 **英文**,必填,插件描述是对这个插件的描述,也可以认为就是这个插件的 **中文名称**,非必填,但是个人建议写上后期添加插件的时候好区分一点。
![bda421f05aaf7a1b6f2c071828ef8531.webp](/download/0100725a52bf49214103a0feb7247e2f1d26.webp)
添加完插件之后,系统会自动创建一个关于动态表单插件的模板。模板好评!!!个人认为这个功能比用 BOS 设计器来开发要舒服很多。
在协同开发平台里可以直接查看和编辑代码,个人认为仅限于临时改改代码可以,开发的效率还是不太高。建议使用 `Visual Studio`,简称 `VS`。Yogurt 使用的是 `Visual Studio 2019 Community` 也就是社区版(免费)。
![b464de4cd42e73ea380fedae550672cc.webp](/download/0100d6383e6726c5434291379ba43e2be081.webp)
使用 `VS` 开发的话,可以选中工程后,`右键` 在弹出的菜单中选择 `在VS中打开`。
![3364edc67c9d2b76b10902cf0a563346.webp](/download/01009fa603e6891d4025b8ce727be1958030.webp)
VS 中打开的效果如下,相对来说在这里开发要效率高一点,比如各种代码提示和补全什么的。大神盲写请忽略,哈哈哈哈哈。
![c27f31b5ede01f0c7dabc7972ede9685.webp](/download/01005a9be3ac3b324e458bb45b868b2467df.webp)
### Step 5 编译工程
一般来说,写完代码直接在 VS 里直接编译就可以了,不过协同开发平台里也提供了一个 `编译工程` 的功能,应该是给没有安装 VS 的情况准备的,没关系,都能用,生成 dll 的路径都是一样的 —— `项目文件夹\K3Cloud\bin`。这个也是好评!!!之前用 BOS 设计器开发的时候为了避免因为各种引用污染了开发环境,所以就手动复制粘贴生成的 dll 到开发环境的 `bin` 目录,哎,难哪,这下每个有独立的开发环境 (差不多2个G,也是。。。总比没有好),不用那么麻烦的复制粘贴了。
需要注意的是:**只有编译好的项目才能被注册**。
![ce067253ca5146220b1f162f28181750.webp](/download/0100c84cf85174c64c7bbbbd27747c926455.webp)
### Step 6 新建动态表单
做完前面的准备,就可以创建动态表单了,当然,这个顺序倒不是必须的,可以按自己的习惯来。在 `业务领域` 的 `子系统` 下找到 `动态表单` 的分类,`右键` 在弹出的菜单中选择 `新增`
![d3d1e6448fd5816c53d195533e75220d.webp](/download/010011077cf4531d440fa7f5beba05fdacc6.webp)
然后按自己的需求,选择不同的创建类型,目前 Yogurt 的使用场景是选择的 `空白对象`,然后输入动态表单的 `名称`
![9c721ec22c65f940e40adefbd3da0abd.webp](/download/010099b960c0552449848d8ef468e0078620.webp)
首次创建出来的动态表单不会自动保存的,创建完毕后要记得先保存。如果不小心关掉的话,再次打开就有可能是下图这样了
![de35ad741437a77985c328ef3c9bb5cc.webp](/download/0100b7061f1ea14d4496bb76b64d98df133f.webp)
这个是跟协同开发平台的 `签入签出` 的源代码管理机制有关系,好处呢肯定是有,只是一开始可能会觉得很烦,习惯了好像也还行。如果出现上图的情况,解决办法就是选中当前表单,然后 `右键` 在弹出的菜单中选择 `签出` 即可。
![efea2eebbe7eb08d64057e8c17682da4.webp](/download/010000370950fe9845a0b270913f8a897a01.webp)
`签出` 后就没有提示了,此时就可以愉快的编辑动态表单了
### Step 7 注册表单插件
如果说 Step 6 的操作是创建动态表单的 "身体" 的话,那么注册表单插件就是创建了动态表单的 "灵魂"。
在右侧下方的属性栏里找到 `表单插件` 选项。这里需要注意的是,要在 `_Bill` 这一层才可以添加。
![299eab6701a319b4678eab1671108257.webp](/download/0100e766f7a2204e4646a4c055e5f60ae8a6.webp)
在弹出的对话框中你可以看到所有注册的插件,下图是新建的动态表单,所以还没有插件。点击 `注册` 按钮
![58b46866eb81b278ce530603dbfe86e0.webp](/download/0100ed820f7d0f104d909b82d164857f0bb9.webp)
在弹出对话框中的 `选择程序集` 下拉框中点击 `浏览`,在弹出的文件夹对话框大概率不是根目录,而是别的目录。
**切记:千万不要引用除了根目录 `K3Cloud/bin` 目录下的任何 dll,都不会生效的**。
![a44c78474286e6bc26099c7ce4fcfe8a.webp](/download/01002c753a737f9a43d1931c5097873aa626.webp)
此时建议找到项目文件夹下的 `K3Cloud/bin` 目录,从地址栏中把它复制出来,然后粘贴到弹出的对话框的路径中
![512e57856f40e7d691bf891c9c1b3626.webp](/download/0100ca4a5bd622d14c81a2214060509672b8.webp)
然后将 `修改日期` 改为 `降序`,那么你将能够快速的找到刚刚编译好的插件了,如下图。
![e5f9ed51642f4ad9d97379baf0073241.webp](/download/01002c867873348a4eb98db9186ef706bf2e.webp)
双击插件,将其添加到系统中,然后勾选需要注册的插件。这里就是为什么希望大家填写项目描述了 —— `程序集描述` 就是 `项目描述` 了,当你的工程里有很多个插件的时候,你将能够感受到这个便利。
![fe6ddd6abf91d3f66018130954d73705.webp](/download/0100fbcbda4af6db47429135e4788a2de297.webp)
点击 `确定` 后,回到 `插件配置信息`,点击 `确定` 退出即可
![8f87a0d1e586d150fa9a3d6ea0f8b31e.webp](/download/0100b2abbb037b764f71b4bcec791d7dbc37.webp)
最后回到动态表单界面的时候 **不要忘记保存**,不保存的话,刚刚做的所有操作都是无效的。
![047512c9be21c039ab417df90d1994a0.webp](/download/0100b348baac089c4d7b9554387cccf2431e.webp)
## 后记
以上就是在协同开发平台里新建一个动态表单项目的操作过程了。新建其他表单类型应该都是大同小异的,操作体验上和 BOS 设计器的感觉差不多,部分操作感觉体验变得麻烦了,但个人觉得无伤大雅,新增的这个代码模板功能真的不错,再也不用每次都把社区的全事件示例贴上去了,挺棒的。还有就是可以自动编译结果至 `K3Cloud/bin` 目录下。除了怕污染开发环境外,还有一个原因就是代码是需要 git 托管的,BOS 设计器时期不这么做,用 git 不太好管理。
好啦,差不多就这些,如果对大家有所帮助,将是 Yogurt 的荣幸。
为什么编译工程,在引用DLL,提示找不到插件的
学习
[二开笔记] 如何在协同开发平台新建一个动态表单项目
## 前言上一篇整理了关于如何在协同开发平台搭建开发环境的笔记 (传送门:[[二开笔记] 如何使用协同开发平台进行新项目开发](https://we...
点击下载文档
本文2024-09-16 17:18:50发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14899.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章