<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yujunl的专栏]]></title><description><![CDATA[个人学习记录专用，不希望有人打扰]]></description><link>https://blog.youkuaiyun.com/yujunl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yujunl]]></copyright><item><title><![CDATA[完成一个BOM查询带价格信息的工具]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/170147552</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/170147552</guid><author>yujunl</author><pubDate>Thu, 05 Nov 2026 19:42:21 +0800</pubDate><description><![CDATA[之前做的一个类似的查询工具，用户总是不断的变化规则，C/S的架构使得更新的工作不胜其烦。一直想做一个web的工具。对web的开发却是心有畏惧，太丑了不能见人。在WorkBuddy的加持下，鼓起勇气尝试了一把，效果如下。全程没有写一行的代码。能有这样的效果，令人不禁害怕AI工具的能力。用过一次就爱不释手，如当年看上ORM，因为它不用再写一句SQL语句。现在是不用一行代码。把自已的思想跟AI做深度交流就可以了。]]></description><category></category></item><item><title><![CDATA[IIS部署Net Core8.0项目后提示‘找不到应用程序’]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/169850354</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/169850354</guid><author>yujunl</author><pubDate>Mon, 02 Nov 2026 23:04:43 +0800</pubDate><description><![CDATA[做一个NetCore8.0的项目，在IIS部署之后，http://192.168.82.231:8087/ 浏览器中执行这个是正常的，如果在IIS中单击浏览，就会报 ‘找不到应用程序’，为什么会这样？WorkBuddy是这样分析的，见下。改完后，IIS 里点“浏览”就会用新浏览器打开。→ 应用 → 默认应用 → Web 浏览器 → 选 Chrome（或 Edge）1、安装一个aspnetcore-runtime-8.x-win-x64.exe。检查后发现不存在，就坐实了这个问题。，走图形界面最可靠。]]></description><category></category></item><item><title><![CDATA[U9 无授权的模式WebAPI开发的总结]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/168977259</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/168977259</guid><author>yujunl</author><pubDate>Sat, 24 Oct 2026 21:22:59 +0800</pubDate><description><![CDATA[/有二种方式：1.直接调用U9的服务类,UFIDA.U9.CBO.PubSV 2.通过WebService调用U9的服务类,UFIDA.U9.ISV.Supplier。//执行查询，返回一个供应商DTO的集合，里面包含了供应商的各种信息。//UFIDA.U9.ISV.Supplier.dll 里面有一个供应商的SupplierDTO实体类对象，可以用于存储数据，返回数据。/// 新建项目时选择"类库(.NET Framework)"，注意不是".NET Core"或".NET Standard"，]]></description><category></category></item><item><title><![CDATA[重写了一个BOM查询的脚本]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/168251042</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/168251042</guid><author>yujunl</author><pubDate>Sat, 17 Oct 2026 23:53:07 +0800</pubDate><description><![CDATA[通过实践，验证了一直在脑海中的思维，BOM的查询一直存在效率低下的问题，此次用CTE逻辑重写之后，有明显的改善。-- 3a. 最近一次采购的供应商名称 + 价格（合并原 FN_LYJ_GetItemLastSupplierName 和 FN_LYJ_GetItemLastPrice）ISNULL(A16.[Code], '-') AS [成本币种_Code],ISNULL(A17.[Name], '-') AS [成本币种_Name],--     优化：一次扫描，ROW_NUMBER 分组取最新。]]></description><category></category></item><item><title><![CDATA[U9C WSS项目的学习成果]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/167589165</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/167589165</guid><author>yujunl</author><pubDate>Sun, 11 Oct 2026 22:38:21 +0800</pubDate><description><![CDATA[从一个用友U9的一个客开高手学习了WSS开发技巧，积累了不少可用于实际工作的经验值。WSS对U9服务进行无侵入式包装,采用Web API Json的服务架构。提供自定义代理功能。采用Log4Net记录服务的调用日志及数据库日志(DBLog)功能。U9-WSS 全称U9 Web Sample Service。支持U9 5.0、U9 6.0、U9 Cloud等版本。统一的调用路径，支持调用BP、SV、轻量化服务。WSS部署简单、快速应用、可灵活、按需扩展。通过灵活的配置，可支持不同的应用场景。]]></description><category></category></item><item><title><![CDATA[开发一个可以用APIFOX来调试的接口]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/167178551</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/167178551</guid><author>yujunl</author><pubDate>Tue, 06 Oct 2026 23:18:41 +0800</pubDate><description><![CDATA[WMS项目需要U9C一部份单据SQL视图，或是实际数据提供给鼎捷WMS顾问。用友U9的OpenAPI清单要么没有合适的开放，要么是不符合WMS的需求。只好自已封装匹配的WebAPI接口。尝试了一下，效果还行。APIFOX有这样的功能，当以上接口调试成功了，它可以为你生成具体C#调用脚本。还可以生成其它工具的脚本，开发效率极高。]]></description><category></category></item><item><title><![CDATA[2个SQL数据库服务器间的查询]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/167040832</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/167040832</guid><author>yujunl</author><pubDate>Sun, 04 Oct 2026 00:04:43 +0800</pubDate><description><![CDATA[工作需要，经常要在2个U9 ERP间的数据库相互查询。前提是要在2个SQL SERVER建立链接服务器记录才可以。老是忘记，做个备份吧。]]></description><category></category></item><item><title><![CDATA[U9客开中UI插件开发过程中碰到有一个坑]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/167040443</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/167040443</guid><author>yujunl</author><pubDate>Sat, 03 Oct 2026 23:09:15 +0800</pubDate><description><![CDATA[今天碰到一个这样的问题，在请购单列表上做了一个【模拟提交】的按钮，目的是取代原来的【提交】按钮，目的是可以加上个性化需要的防呆措施，实现客制化的目的。操作：PRSubmitBPNew的参数：PRLineKeys设置不正确，此异常出现的原因为该操作的调用方提供的参数值不正确导致。//在BE界面上才可以调用提交按钮的SubmitClick方法，UI界面上不可以调。曾几何时用var去标识，是不破的万金油，每每顺利解决掉阻碍。rec 竟然还有另外一种类型的匹配，相关的dll文件内部有BUG吧。]]></description><category></category></item><item><title><![CDATA[在U9C订单列表上开放多个按钮层叠的问题解决]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/166940533</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/166940533</guid><author>yujunl</author><pubDate>Thu, 01 Oct 2026 10:37:52 +0800</pubDate><description><![CDATA["True", //是否自动回发（早期赋值，后面会被 isSubmit 覆盖）true,   //是否提交按钮（最终 AutoPostBack 值）// 找到工具栏（常见名称：Toolbar1/Toolbar2，可用 F12 查看）"btnSendEmail2", //按钮控件 ID（唯一标识）",// 确认消息内容。"9",    //Tab 键切换顺序。100,     //按钮宽度（px）"True",     //是否启用。"True",     //是否可见。20,     //按钮高度（px）]]></description><category></category></item><item><title><![CDATA[如何查找U9 BE实体对象中的字段名]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/166644038</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/166644038</guid><author>yujunl</author><pubDate>Fri, 25 Sep 2026 15:38:37 +0800</pubDate><description><![CDATA[近来做U9 UI插件开发，需要从UI窗体WebPart实体中获得相关字段Value，U9对字段名字的处理是有特色的，跟SQL表中实际名称不同，调试时总是报错没有这个字段名（瞎起名嘛）。在Debug时发现一个技巧，完美解决了资料短缺的BUG，同时解决掉数据字典中信息不正确带来的烦挠。发现这个地方的数据展示形式，顺带解决掉数据取值的问题。]]></description><category></category></item><item><title><![CDATA[U9订单列表中实现PLM零件承认书的校验]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/166643962</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/166643962</guid><author>yujunl</author><pubDate>Fri, 25 Sep 2026 15:24:33 +0800</pubDate><description><![CDATA[之前没有成功的原因是，WebPart中的Toolbar, DataGrid的名字不正确导致的，从其它项目中拷贝过来的代码，不记得修正。前几天忙于MES系统项目，思维不够清楚，没有做出来给那帮投机取巧的家伙利用上了！让它们偷偷乐几天吧。国庆假期结束，又是一片哀嚎，此起彼伏。公司要求在订单列表中执行提交时，对PLM零件承认书合规记录做一次校验。做过几次了，念念不忘这种管理思维。]]></description><category></category></item><item><title><![CDATA[U9 BE插件的调试]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/165240671</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/165240671</guid><author>yujunl</author><pubDate>Sun, 13 Sep 2026 17:54:28 +0800</pubDate><description><![CDATA[终于有了一个美好的结果。BE插件算是掌握到精髓了吧。可以随心所欲编写，设计，配置自已想要实现的业务逻辑。总结一下，BE插件对当前单据对象可以做一些校验，赋值，也可以对第三方对象做一些操作。在配置文件上掉了不少次坑。总结一下，类名是可以随意命名的，望文知义就可以了。关键是当前实体单据对象的类名，方法名一定要正确。]]></description><category></category></item><item><title><![CDATA[找不到指定的SDK(“Microsoft.NET.Sdk.Web“)]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/165217111</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/165217111</guid><author>yujunl</author><pubDate>Sun, 13 Sep 2026 12:08:49 +0800</pubDate><description><![CDATA[应对既将开始的U9客开始的工作，重新安装主机的操作系统，配套了U9的demo环境。不小心装成了x86 32位的系统，带来2个问题。1、网卡驱动有问题。2、VS在创建新项目时，竟然出现标题所示的错误提示，项目也不能正常创建成功。如果 PATH 中 x86 路径排在前面，系统会调用 x86 版本的 dotnet.exe，而该目录下可能没有 SDK，就会报找不到 SDK。如果 PATH 中 x86 路径排在前面，系统会调用 x86 版本的 dotnet.exe，而该目录下可能没有 SDK，就会报找不到 SDK。]]></description><category></category></item><item><title><![CDATA[踩过一个U9客制化开发中的坑]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/164507586</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/164507586</guid><author>yujunl</author><pubDate>Mon, 07 Sep 2026 22:19:55 +0800</pubDate><description><![CDATA[最直接有效的办法是抛异常，而不是依赖 executeDefault = false。在 U9 的 BeforeEventProcess 中，抛出异常会直接中断整个提交流程，框架无法忽略它。-- AI给的提示，换了一种错误提示的方法，就实现了目标。U9的封装一直受人诃病的，我算是撞上了吧。看原生态的脚本，从头到尾都是“千篇一律”，原来是有其道理的。追求个性化的效果，结果给自已挖了一个大坑。]]></description><category></category></item><item><title><![CDATA[记录U9客开项目的部署]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/164401037</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/164401037</guid><author>yujunl</author><pubDate>Sat, 05 Sep 2026 16:20:10 +0800</pubDate><description><![CDATA[近来项目少做的原因，U9的一个客开模式（CustomProxy），开发结束后老是忘记具体部署是怎样的，为此浪费掉不少时间。在Portal目录(X:\yonyou\U9CE\Portal ==>U9C)下建立一个wss目录，将以上开发的文件拷贝放入其中。有一个公共文件还需要复制到Portal\Bin目录下面。]]></description><category></category></item><item><title><![CDATA[一个零件承认书管控的U9客开]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/164174204</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/164174204</guid><author>yujunl</author><pubDate>Sun, 30 Aug 2026 21:35:47 +0800</pubDate><description><![CDATA[企业上线了PLM系统，其中有ECN，零件承认等业务流程。领导要求ERP开立订单时跟PLM的ECN、零件承认的数据做一个关联判断。零件承认书管控MP4。]]></description><category></category></item><item><title><![CDATA[恢复U9C数据库后有一个错误提示]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/164098315</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/164098315</guid><author>yujunl</author><pubDate>Wed, 26 Aug 2026 22:53:44 +0800</pubDate><description><![CDATA[-将yourdatabasename替换。]]></description><category></category></item><item><title><![CDATA[总结一下U9客开的成果]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/163802906</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/163802906</guid><author>yujunl</author><pubDate>Sun, 16 Aug 2026 21:25:02 +0800</pubDate><description><![CDATA[2021.11—2024.07，走"外挂"路线，试图复制一套U9C产品。受限于用户授权数量，作品虽多但推广困难——用户需要在两套系统间来回切换，体验不佳。仅少数用户因U9本身功能短板，持续使用着我的外挂（如BOM统计产品成本）。2024至今，战略转型，放弃外挂开发，全面转向U9 WebAPI客开模式。围绕BP、BE、UI开发了一系列插件，将能力内嵌于系统之中，用户无感切换，体验显著提升。]]></description><category></category></item><item><title><![CDATA[Redis端口冲突造成U9不能正常运行]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/162945930</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/162945930</guid><author>yujunl</author><pubDate>Thu, 16 Jul 2026 22:19:59 +0800</pubDate><description><![CDATA[刚开始是惊慌失措的，以为又要重装一次U9的了。几近要放弃时，抱着试试看的思维，问AI吧。看到这样的分析，恍然大悟，Redis + Mongodb是2个系统共同要用到的！MES系统的版本高，分析是有覆写相关文件的嫌疑。顾问在我的U9 DEMO服务器上安装mes的环境，选成U9突然没有了响应，刚好手上有个项目要赶，因为此造成的停顿被领导批了。U9重装一次，要把人弄得精疲力尽的，不敢轻易去试。打开链接时，有以下提示。提施：1、默认的80端口改成 8182 2、Redis的端口改成 6780 重启之后，果然成功。]]></description><category></category></item><item><title><![CDATA[U9状态机钩子的写法]]></title><link>https://blog.youkuaiyun.com/yujunl/article/details/162610774</link><guid>https://blog.youkuaiyun.com/yujunl/article/details/162610774</guid><author>yujunl</author><pubDate>Sun, 05 Jul 2026 21:27:04 +0800</pubDate><description><![CDATA[只在单据从"开立"变成"审核中"的那一瞬间，才继续往下执行；其他任何情况都直接返回。这是 U9 插件里非常常见的"状态机钩子"写法。]]></description><category></category></item></channel></rss>