合集-工作笔记
摘要:金蝶云星空调用《其他入库单》的新增界面给序列号子单据体数据赋值 金蝶云星空平台,业务对象的实体层级关系,表头,表头下可以有多个单据体,各单据体之间无关联,单据体下可以有子单单据体。另外各个实体都可以设置拆分表。 比如,《其他入库单》表头有客户、日期、单据编号等,有拆分表[其他信息],表头下有[明细信
阅读全文
摘要:一、问题描述: 网站页面调用方法时报错:报错内容如下: System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“XXXX.K3.SCM
阅读全文
摘要:DateTime? deliveryDate = (DateTime?)this.View.Model.GetValue("FApproveDate");//审核日期 long leadtime = 20;//天数 if (!deliveryDate.IsNullOrEmpty() && deliv
阅读全文
摘要:金蝶云星空的网络控制设置 一、说明 网控设置主要用户多个用户操作一个业务单据编号时,对于冲突操作的处理。 例如:销售订单XSDD0066,张三打开将其处于编辑状态,则李四打开只能是查看状态,不能是编辑状态。 或者列表张三在操作某一张的审核(该单数据状态=审核中),则李四在列表不能操作编辑状态,也不能
阅读全文
摘要:比如:售后单下推对照表,是一对一,明细也是一对一,现有需求需要把售后单的主键和明细主键存储到对照表的表头和明细上。。 上游单据:售后单下游单据:产品序列号对照表 一、产品序列号对照表增加字段表头:售后单ID表体:售后单明细ID文本或者整数控件都可 二、创建单据转换插件 using Kingdee.B
阅读全文
摘要:背景说明 序列号档案是基础资料,资料里面有组织和客户,都是基础资料的方式。 业务需求 售后单表头有客户和组织,明细有序列号,选择序列号的时候,以表头的客户和组织作为选择序列号的过滤条件 格式 基础资料的过滤字段的标识=GetValue(当前界面的过滤字段的标识) --如果基础资料内码是字符串F_XH
阅读全文
摘要:一、说明一般来说,下游反写数量到上游的场景比较,比如用来控制超额,状态模式使用累加,就省事很多,保存累加,删除会自动扣减。但是状态反写,复选框和文本类的,就不能这样设计了。本文就以状态反写来说明一下开发的实现,复选框和文本也是一样的。 二、方案设计售后单增加变更标记:N未变更,A变更中,B已变更售后
阅读全文
摘要:明细按钮:行关闭和行反关闭,分别绑定了SCM_ROWCLOSE和SCM_ROWUNCLOSE 绑定这个,不管授权与否,都可操作成功。 解决方案: 创建新的权限项 权限对象绑定权限项 BOS界面配置 授权后即可正常操作。 已达到目的。
阅读全文
摘要:一、调用代码 BillShowParameter OtherInAdd = new BillShowParameter() { FormId = FormIdConst.STK_MISCELLANEOUS, ParentPageId = base.View.PageId, Status = Oper
阅读全文
摘要:一、业务需求 售后单界面点击按钮打开其他入界面,关闭其他入库单时是否刷新售后单,分两种情况: 第一种:刷新: 保存成功才刷新父窗体; 第一次保存成功再次保存失败,刷新 第二种:以下情况不刷新: 不操作保存直接关闭其他入库单 操作保存但是报错无法保存而关闭其他入库单 二、开发实现 2.1、父窗体的表单
阅读全文
摘要:一、表单插件 新建类继承AbstractBillPlugIn,重写OnInitialize方法进行设置 public override void OnInitialize(InitializeEventArgs e) { base.OnInitialize(e); this.View.GetCont
阅读全文
摘要:父窗体打开子窗体准备 BillShowParameter OtherInAdd = new BillShowParameter() { FormId = FormIdConst.STK_MISCELLANEOUS,//子窗体 ParentPageId = base.View.PageId,//父窗体
阅读全文
摘要:一、保存报错 显示单据数量=0.序列号数量=3 二、初步分析 输入实发数量没有触发序列号数量的计算 检查实发数量的值更新事件 实发数量和序列号数量的转换,必须保证,基本单位和序列号单位的关系,两者且不能为空 三、总结 界面效果,输入实发数量,自动根据单位计算序列号的数量,自动创建序列号子单据体的行数
阅读全文
摘要:一、签出元数据报错 二、 建议 每次签出元数据前,先获取最新的代码后再签出,如果还是提示,那就根据你的情况选择版本。
阅读全文
摘要:一、A环境导出套打模板 导出后: 二、B环境导入套打模板 不要在已设计好的模板导入,会被覆盖。 一定记得,新建空白模板后再导入。 导入成功。 总结:导入只会覆盖界面设计的元素,不会覆盖标识。
阅读全文
摘要:打开补丁包后,贴入导出文件的文件夹,然后按F2即可导出到目标文件夹。
阅读全文
摘要:一、简介 一个图形界面工具,用于创建和管理跟踪并分析和重播跟踪结果 二、如何打开 1、直接打开 2、Microsoft SQL Server Management Studio工具栏打开 三、配置跟踪 如过滤出本机电脑执行的sql脚本 跟踪属性常规配置 找计算机名称 四、启动跟踪 执行脚本 跟踪记录
阅读全文
摘要:一、 业务需求操作售后单行反关闭时将当前选中行的序号传递到服务端,然后在服务端接收序列号,根据序列号处理相关逻辑。 二、开发实现2.1、传递参数售后单表单插件的BeforeDoOperation事件 public override void BeforeDoOperation(BeforeDoOpe
阅读全文
摘要:一、BOS配置 四种方式都不生效。 二、 代码实现 表单插件的BeforeDoOperation事件判断操作是新增行,获取表头基础资料进行判断,为空则取消操作。
阅读全文
摘要:一、字段标识说明单据体标识:FEntity序号标识:Seq物料标识:F_XXXX_MaterialId 【一键删除】操作标识:CleanEmptyEntity 二、表单插件 三、获取单据体数据包 //获取单据体,为空提示操作失败 var entityD = this.View.Model.DataO
阅读全文
摘要:一、顺序说明 先分录菜单单击事件EntryBarItemClick 再验权 后表单操作执行事件BeforeDoOperation 二、结论 如果是需要鉴权通过才允许操作的逻辑就不能写在EntryBarItemClick,得写在BeforeDoOperation
阅读全文
摘要:一、打开工具 二、创建新项目 创建后项目结构 三、重命名服务 四、添加安装程序 五、编码服务逻辑 using System.ServiceProcess; using System.Timers; using System.Windows.Forms; namespace MyAlertWindow
阅读全文
摘要:不能直接取内码 先获取基础资料数据包,再获取内码 long custId = Convert.ToInt64((this.View.Model.GetValue("F_XXXX_CustId") as DynamicObject)["Id"]); long custId22 = Convert.To
阅读全文
摘要:一、案例演示售后单,明细信息单据体,物料编码字段禁止批量填充。 二、开发设计编写表单插件,在BeforeEntryBatchFill事件。 public override void BeforeEntryBatchFill(BeforeBatchFillEventArgs e) { base.Bef
阅读全文
摘要:一、前提说明 上一个文章的设计,不管是填充值,还是清空值都一律不允许,但是有时候业务就允许清空,不允许填充值而已。 二、案例演示售后单,明细信息单据体,物料编码字段为空,允许填充,物料编码不为空,禁止批量填充。 三、开发设计编写表单插件,在BeforeEntryBatchFill事件。 public
阅读全文
摘要:业务需求: 查询采购价目表的附件 详细操作 一、查询单据附件 查看账套单据附件 查询采购价目表的单据内码和单据体内码 SELECT a.FNUMBER,a.FID,b.FENTRYID,b.FSEQ FROM t_PUR_PriceList a LEFT JOIN t_PUR_PriceListEn
阅读全文
摘要:一、需求设计 《产品序列号档案》的序列号、适用组织分别关联《序列号主档》的序列号字段,的适用组织表的组织,的在库状态。 二、开发实现 列表插件 字段标题 public override void CreateListHeader(CreateListHeaderEventArgs e) { // 创
阅读全文
摘要:## 报错内容 表达式计算出错: F_XXXX_MaterialId.FIsSNManage == true and F_XXXX_ProductLibraryId ==0 ( 基础资料字段F_XXXX_MaterialId没有定义FIsSNManage字段的引用,请修正公式或在此字段中添加其引用。
阅读全文
摘要:一、语法规则 基础资料判断:标识=null 复选框判断打钩:标识=true 二、业务需求 售后单审核时,如果物料启用了序列号管理,明细序列号资料必须选择。 三、开发实现 四、测试记得一定要重新启动环境。
阅读全文
摘要:一、错误写法:Convert.ToBoolean("0") or Convert.ToBoolean("1") 二、正确写法: Convert.ToBoolean("true") or Convert.ToBoolean("false")
阅读全文
摘要:object getPur = this.View.Model.GetValue("F_XHWT_IsPur", rowIndexV); bool isSerial =!Convert.ToBoolean(itemClose["F_XHWT_IsPur"] + ""); 取得值可以直接转换成bool
阅读全文
摘要:一、业务界面 二、查询 单据类型表数据 先使用类型中文在单据类型多语言表T_BAS_BILLTYPE_L找到主键后再查询单据类型主表T_BAS_BILLTYPE SELECT * FROM T_BAS_BILLTYPE_L WHERE FNAME='现场' SELECT * FROM T_BAS_B
阅读全文
摘要:在管理中心数据库下执行: SELECT * FROM t_bos_isv
阅读全文
摘要:说明: 一个业务对象的产生,涉及10个表起。 解决方案: 还是手工删除重新创建保险。 具体操作: 先备份需要删除的元数据,或者扩展,然后重新创建或者扩展,将新的标识替换备份好的脚本上,重新保存xml,然后再打开业务对象操作保存,因为需要触发数据库表的生成。 实操: 先查看下本地文件时间 如果还报错,
阅读全文
摘要:一、问题 别的应用删除了元数据后,另一应用下显示[未加载]。 二、解决方案 同步未加载的业务对象,然后删除它
阅读全文
摘要:一、协同开发平台允许: 多应用多个数据中心, 多应用一个数据中心, 一个应用多个数据中心。 二、在不同的应用下可以使用 【同步业务对象到数据中心】功能: 该功能就是拉取当前应用在svn管理的最新版本更新到当前的数据中心。 【更新数据中心业务对象到应用】功能: 该功能是将当前数据中心的最新业务对象同步
阅读全文
摘要:部署包执行后,会将执行的元数据记录了部署包的版本号,带上改部署包的开发商标识,在被执行后部署包环境里只有当前开发商下的开发者才可以修改该元数据,其他开发商不允许直接签出修改,只能扩展或者继承处理。 如果想解决这个问题: 1、 清除补丁包的版本号 2、 将扩展的元数据导出备份,重新扩展后再合并备份的扩
阅读全文
摘要:问题 保存或者暂存都失败 原因分析 扩展可能是直接引入或者导入,数据库字段不会生成。 解决方案 签出扩展,保存后重新签入即可。
阅读全文
摘要:会被标记成开发码的业务对象包括以下: 新增的业务对象,扩展的业务对象 --查询二开的元数据打包 FPACKAGEID不为空,开发码字段FSUPPLIERNAME SELECT * FROM dbo.T_META_OBJECTTYPE WHERE FPACKAGEID IS NOT NULL AND
阅读全文
摘要:业务背景 开发人员不注意,新建业务对象或者直接扩展标准产品的业务对象就直接操作保存,然后再次打开界面发现标识已经是灰色无法修改了。 说明 单据转换那边是用单据标识作为key的,所以一开始加入单据标识是purbill,基于这个标识做了单据转换规则,保存。然后再修改单据标识为purbill2,会导致拿单
阅读全文
摘要:一、报错截图 二、报错内容 发生时间: 2023-12-22 11:01:13 错误来源: System.Windows.Forms 错误信息: 'D:\WorkSpace\XXXX\XXXXXXX_k3Cloud' is already locked. 调用堆栈: 在 System.Windows
阅读全文
摘要:一、【网控操作列表】确定后数据写入 --业务对象的操作列表《网络控制对象》主表 SELECT * FROM T_BAS_NETWORKCTRLOBJECT WHERE FMETAOBJECTID='XXXX_AS_AfterOrder'; --《网络控制对象》多语言 SELECT * FROM T_
阅读全文
摘要:MSSQL执行查询报错“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。” 报错截图: 根本原因 如提示,列不一致,列的个数和列名,顺序都需要一致。
阅读全文
摘要:一、MSSQL脚本 --权限项主表 SELECT * FROM dbo.T_SEC_PERMISSIONITEM WHERE FITEMID='6587a10574d236' --权限项 多语言表 SELECT * FROM dbo.T_SEC_PERMISSIONITEM_L WHERE FITE
阅读全文
摘要:一、BOS平台【权限对象】 二、MSSQL脚本 --权限对象 主表 SELECT * FROM T_SEC_PermissionObject WHERE FITEMID='64f6de86387210' --权限对象 多语言表 SELECT * FROM dbo.T_SEC_PERMISSIONOB
阅读全文
摘要:## 动态表单的种类 ## 动态表单与单据的区别单据本质上也是动态表单,只不过单据更多的是用来保存业务数据,而普通的动态表单是用来显示内容,可以简单的理解动态表单就是一个界面。另,单据的实体有对应的表,而动态表单没有。 ## 新建普通动态表单 业务需求:售后单明细点击按钮,弹出动态表单,根据单据客户
阅读全文
摘要:一、在BOS找到《反写规则》的表 二、反写规则相关表主表:T_BF_WRITEBACKRULE多语言表:T_BF_WRITEBACKRULE_L 三、创建反写规则,或者已经创建好的反写规则 四、定位反写规则数据 通过反写规则的名字在多语言表找到反写规则的唯一标识,两个表的通过唯一标识关联。 SELE
阅读全文
摘要:业务说明 二次开发的基础资料,插入了150万数据后,创建资料保存报错。新创建资料的主键在插入的数据里。因为是销售出库单审核就要创建资料,导致销售出库审核时提示插入了重复键值。 官方帖子: 系统运维.数据库.修复种子表(单据) (kingdee.com) 系统运维.数据库.修复种子表(基础资料) (k
阅读全文
摘要:业务背景 文本长度默认255不够用,过长截断。 操作 BOS签出元数据,修改长度为1000,保存 查询数据库发现长度没有跟随BOS配置 只能手工执行了 数据库执行脚本,即可解决问题 --sqlserver 修改字段长度 ALTER TABLE T_STK_MISCELLANEOUS ALTER CO
阅读全文
摘要:SELECT a.仓库ID, a.仓库名称, d.仓位ID, d.仓位名称,c.内码 FROM ( SELECT a.FSTOCKID '仓库ID', b.FNAME '仓库名称' FROM T_BD_STOCK a INNER JOIN T_BD_STOCK_L b ON a.FSTOCKID =
阅读全文
摘要:其他出库单保存时仓库无可用量无法保存 报错界面 方案设计 保存不校验可用量,审核不允许超额。 解决方案 直接取消不控制
阅读全文
摘要:需求:导出A账套的其他出库单的单据类型 操作:
阅读全文
摘要:单据转换插件,使用实体属性 如果使用标识,就报错。
阅读全文
摘要:使用同步业务对象到数据中心还是没反应。 后来实在没辙了,就更新数据中心业务对象到应用,然后再签出发现可行。 不知道问题在哪里,幸好环境一致,问题不大就没去研究了。
阅读全文
摘要:原因以及解决方案: 分布式调出单/分布式调入单不需要人工操作反审核,反审核销售出库单,自动就会撤销了。
阅读全文
摘要:一、新建一个空的解决方案 二、新建一个类库 三、添加引用 添加金蝶安装目录的引用,如果是协同开发,那就是使用工作空间下的dll。本地金蝶云安装目录:C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin协同开发工作目录:D:\WorkSpace\XXXX
阅读全文
摘要:报错界面: 排查 检验单已做。 原因是:合格未勾选判退。 解决效果:
阅读全文
摘要:销售退货单保存报错: 原因分析,销售退货单序列号的设置: 报错不满足条件的序列号,最后出库是 其他出库单,非销售出库单。
阅读全文
摘要:使用标识报错 var thisEntry = this.View.Model.DataObject["FEntity"] as DynamicObjectCollection; 应该使用实体属性 var thisEntry = this.View.Model.DataObject["BillEntr
阅读全文
摘要:表单插件-按钮点击事件 ListShowParameter showParam = new ListShowParameter(); showParam.IsLookUp = false;//是否查找数据 showParam.OpenStyle.ShowType = ShowType.Modal;/
阅读全文
摘要:原因:创建组织和使用组织不一样。 解决方案:由于我们时导入的数据,还未被使用过,可以后台更新组织为相等再操作删除可解决。
阅读全文
摘要:一般来说,同级只有一个扩展,如果由于开发码的限制无法签出修改,可以使用别的方式解决:比如扩展目前的最小儿子,或者吧开发者拉到应用成为应用的开发者。
阅读全文
摘要:业务背景 有时候开发者需要后台导出生产入库单数据,仓库仓位内码需要转成编码和名称 SQL脚本 SELECT a.fid,a.FBILLNO,b.FENTRYID,b.FMATERIALID,c.FSERIALID,c.FSERIALNO ,b.FSTOCKID,d.FNUMBER FSTOCKNUM
阅读全文
摘要:创建项目-类库 添加引用 using Kingdee.BOS; using Kingdee.BOS.Contracts; using Kingdee.BOS.Core; 新建类,继承接口,实现run方法 ## 新建执行计划,挂载插件服务插件:Krystal.K3cloud.App.Core.RunS
阅读全文
摘要:列表根据条件设置背景色 import clr clr.AddReference('System') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') clr.AddReference('System.Drawin
阅读全文
摘要:金蝶云星空锁库时同时锁定序列号 ## 业务背景公司业务要求,如果检查发现序列号有问题,先锁库不允许出库。 ## 系统现状 即时库存锁库,锁定的是数量,库存-锁库数=可用数,当可用量小于等于0就不可以再出库了。 如果想要控制锁到序列号,系统就不支持了。 ## 方案设计锁库时同时锁定库存和根据输入的序列
阅读全文
摘要:public override void AfterDeleteRow(AfterDeleteRowEventArgs e) { base.AfterDeleteRow(e); if (e.EntityKey.Equals(asEntityKey))//子单据体标识 { Entity entity
阅读全文
摘要:业务背景 公司业务要求,如果检查发现序列号有问题,先锁库不允许出库。 如果已经锁库,此时序列号允许出库,则可以解锁。 前置任务:金蝶云星空锁库时同时锁定序列号 - lanrenka - 博客园 (cnblogs.com) 系统现状 即时库存锁库,锁定的是数量,库存-锁库数=可用数,当可用量小于等于0
阅读全文
摘要:问题描述: 出现这种情况一般是在A账套删除了一个扩展,然后又新建了一个扩展,此时登录B账套就会出现这种情况。如果是同一台机器,那未引入对象即是被删除的,未加载对象则是刚扩展的。 解决方案: 此时未加载不建议加载,先引入需要删除的对象,然后删除,最后再加载。
阅读全文
摘要:一、报错界面 二、原因分析【我的冲突列表】下没有这个冲突 原来组织间结算单独表单显示。 依次点击【供应链】→【组织间结算】→【基础资料】→【组织间结算冲突操作列表】,如下图所示 三、解决方式
阅读全文
摘要:单据增加字段 相关结算单增加,基础资料控件,映射资料。 业务单据-其他出库单增加字段 配置功能特性 创建结算清单时,会生成到自定义字段上
阅读全文
摘要:业务需求:点击按钮,下载excel 开发实现:创建表单插件,在按钮点击事件,调用附件下载窗口进行指定路径的指定文件下载 模板存放路径: 核心代码: string fileUrl = "/TemplateFiles/条码导入模板.xls"; var showParameter = new Dynami
阅读全文
摘要:C#插件实现单据审核不通过报错提示 方式一 方式二: 方式三: public class CheckPurPrice : AbstractValidator { public override void Validate(ExtendedDataEntity[] dataEntities, Vali
阅读全文
摘要:一、业务需求 查看资产实物清单可查看对应物料编码 二、详细设计 1、编写报表插件 1.1 新建类,继承原报表插件,重写相关事件 相关引用:using Kingdee.BOS.App.Data;using Kingdee.BOS.Core.Report;using Kingdee.BOS.Util;u
阅读全文
浙公网安备 33010602011771号