在金蝶云·星空-BOS平台应用中,你需要了解的典型/热门问答都在这里!
本帖不定期持续更新,欢迎小伙伴们收藏本帖,以便随时查看、扩充知识哟
查看往期精选:
【汇总】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选 (kingdee.com)
【第15期】
1、如何获取ExeCuteTime的值,C#的语法,编译器是VSCODE
问题描述:
解决方案:
var paraDIC = this.Option.GetVariables();
var ExeCuteTime=paraDIC["ExeCuteTime"];
问题来源:
想请教一下如何获取ExeCuteTime的值,C#的语法,编译器是VSCODE (kingdee.com)
2、获取物料分组的上级分组
问题描述:
1、想要获取物料分组的上级分组作为物料的编码规则依据
2、如果只有一级分组获取的上级分组是什么,能获取一级分组的分组编码吗
目前参考官方帖子物料分组获取上级分组字段,加了表单插件没有效果
(本人纯小白,不会写sql能否有老师给指导一下)
解决方案:
select a.FNUMBER,b.FNUMBER from T_BD_MATERIALSALGROUP as a
left join T_BD_MATERIALSALGROUP as b on a.FID=b.FPARENTID
a是上级分组
问题来源:
获取物料分组的上级分组 (kingdee.com)
3、单据体里的FEntryID字段是主键自增的,从20000多开始,如何设置从1开始自增
问题描述:
单据体里的FEntryID字段是主键自增的,从20000多开始,如何设置从1开始自增
解决方案:
单据体FEntryID 是根据种子表来的
例子:SELECT * FROM T_PUR_POORDERENTRY 对应种子表 Z_PUR_POORDERENTRY
你可以把标识种子改成1 然后执行Truncate Ttable Z_PUR_POORDERENTRY
随后再做单据试试看是否从1开始。
问题来源:
单据体里的FEntryID字段是主键自增的,从20000多开始,如何设置从1开始自增,有老哥知道吗 (kingdee.com)
4、 新建子系统发布到主控台但没有显示
问题描述:
如图,我在bos中新建了一个子系统并在里面新建并发布了子功能和明细功能,但是这个子系统并不能在主控台显示出来,应该怎么样操作才能让主控台显示出这个子系统呢?
解决方案:
BOS里面检查下你这个“项目”的业务对象的权限控制设置
看看它用的是哪个权限对象,然后再检查下你的账号是否已经给了权限
编辑于 2023年05月31日 09:22:57
权限对象我给了,新增了一个但引用的是物料的权限,然后账号本身是给了全功能且许可都给了的但是前台还是没有显示
你再试试全功能授权一次
问题来源:
新建子系统发布到主控台但没有显示。 (kingdee.com)
5、 日期如何设置不能超过当前日期90天,例如当前日期2023年5月30号,申请日期如果超过2023年8月30号,系统提示错误
问题描述:
解决方案:
分享-实体服务规则实现日期计算功能 (kingdee.com)
问题来源:
日期如何设置不能超过当前日期90天,例如当前日期2023年5月30号,申请日期如果超过2023年8月30号,系统提示错误 (kingdee.com)
6、 过滤条件中,快捷字段和条件字段区别和用法
问题描述:
例如,在快捷中设置了:“单据编号”的标识和绑定实体属性都为:F_YNKJ_DJBH,如果在条件中也设置,就会提醒标识占用了。这时候我设置标识为:F_YNKJ_DJBH1、绑定实体属性为:F_YNKJ_DJBH。这时候,我在简单账表中获取过滤条件时,获取到这个东西要分别获取吗?
解决方案:
快捷过滤和条件过滤在代码里面是这么获取的
快捷过滤可以根据标识来逐个获取出来,然后条件过滤是会按照你所下的条件,自动组合成了一个and的where条件,但里面用的也是条件过滤里面你设的字段标识来组合的,所以你还得根据这些标识,来转换为sql语句里面真正的where字段,就像这样
其实你可以打个断点,看看filter.FilterParameter里面的内容,就很清楚了
问题来源:
过滤条件中,快捷字段和条件字段区别和用法。 (kingdee.com)
7、 关于单据转换目标单据自定义单据体数据填写问题V7.3
问题描述:
业务逻辑:
1、直接调拨单审核自动形成销售出库单。
2、销售出库单明细自定义一个单据体(PAEZ_Cust_Entry100014),有3个字段:销售员(基础资料)、比例(小数)、销售员名称(文本)
3、客户主数据明细自定义单据体(PAEZ_Cust_Entry100007),有3个字段:销售员(基础资料)、比例(小数)、销售员名称(文本)
逻辑:单据转换插件 afterconvert时,根据销售出库单上客户主数据,取自定义单据的数据,写到出库单自定义单据体的对应字段里。
解决方案:
之前做过一个可以参考
学会这些单据转换插件二开小妙招,上下游单据处理再也难不倒你 (kingdee.com)
问题来源:
关于单据转换目标单据自定义单据体数据填写问题V7.3 (kingdee.com)
8、二开问题:一张采购申请单,需要下推生成标准采购订单和VMI采购订单
问题描述:
这样一种单据类型下推生成两种单据类型可以做吗?而且是同一张单,在一次下推中可以实现吗
解决方案:
单据类型映射对应好标准采购订单和VMI采购订单 需要物料启用VMI,设置好货源清单,在配额下单界面勾选按供应类型匹配订单单据类型,生成订单即可
问题来源:
二开问题:一张采购申请单,需要下推生成标准采购订单和VMI采购订单 (kingdee.com)
9、基础资料属性可以设置小数点么
问题描述:
都没找到哪里可以设置小数位数的地方
解决方案:
账表开发-增加基础资料属性并设置精度 (kingdee.com)
问题来源:
编写文章|金蝶云社区|财务金融企业信息化|IT精英人脉社群-金蝶云社区官网 (kingdee.com)
10、明细表里的字段顺序为什么bos里调不了只能前端调呢
问题描述:
明细表里的字段顺序为什么bos里调不了只能前端调呢
解决方案:
可以的,调完后在项目里的单据右键清除用户布局方案就可以啦
问题来源:
明细表里的字段顺序为什么bos里调不了只能前端调呢? (kingdee.com)
11、如何设置包含部分物料分组编码的实体服务规则
问题描述:
物料清单的子项物料编码包含 "DCG" 和 "HYR" 时,物料清单的 用量类型 默认为【固定】,这个在实体服务规则该怎么设?大佬救救
解决方案:
也可以使用in 条件设置 或者用or
问题来源:
如何设置包含部分物料分组编码的实体服务规则 (kingdee.com)
12、树形单据体如何新增子行,达到如下效果
问题描述:
解决方案:
需要表单插件:
参考:二开案例.表单插件.树形单据体
树形单据体如何新增行
问题来源:
树形单据体如何新增子行,达到如下效果 (kingdee.com)
13、含税单价*数量=价税合计,怎么设置单据体任意填写其他两个数,自动算出另一个数值
问题描述:
含税单价*数量=价税合计,怎么设置单据体任意填写其他两个数,自动算出另一个数值
解决方案:
你这样容易死循环啊。
y=f(x)
只有x是变量,y应该锁定,只能由变量决定。
是指实体服务规则,规则条件:含税单价=含税单据 AND 数量=数量
满足条件执行:价税合计=含税单价*数量
含税单价和数量要勾选【即时触发值更新】
问题来源:
含税单价*数量=价税合计,怎么设置单据体任意填写其他两个数,自动算出另一个数值 (kingdee.com)
14、库存请检单,新增时单据体,明细行不会自动跳出,关键字段已设置
问题描述:
解决方案:
BOS设计器单据体的缺省行数可以设置为1,这样新增单据就会有一行空白行。
问题来源:
库存请检单,新增时单据体,明细行不会自动跳出,关键字段已设置! (kingdee.com)
15、订单里的税额和不含税金额和价税合计是单价和数量字段触发值更新还是实体服务规则里值更新事件
问题描述:
订单里的税额和不含税金额和价税合计是单价和数量字段触发值更新还是实体服务规则里值更新事件
解决方案:
问题来源:
订单里的税额和不含税金额和价税合计是单价和数量字段触发值更新还是实体服务规则里值更新事件? (kingdee.com)
16、请教下,使用直接sql创建账表的时候,如何设置过滤条件不选时,默认查询所有数据
问题描述:
解决方案:
用or 来拼接为空和不为空的条件。
例如,
where
('#FBeginDate#'='' or FDate>='FBeginDate')
AND
('#FSupplier#='' or GYSNUM='#FSupplier#')
问题来源:
请教下,使用直接sql创建账表的时候,如何设置过滤条件不选时,默认查询所有数据 (kingdee.com)
【第14期】
1、服务插件怎么添加子单据体
问题描述:
在检验单审核时将结果反写到自己自定义添加的采购订单明细分录子单据体中
解决方案:
先获取单据的单据体,在单据体里找到对应的子单据体,
//创建一个目标子单据体的数据包
DynamicObject newRow = new DynamicObject(FSubEntity.DynamicObjectType);
给newrow赋值
然后把newrow用add添加到单据体的子单据体对应的DynamicObjectCollection中
最后保存
问题来源:
服务插件怎么添加子单据体 (kingdee.com)
2、 为什么我的安装文件里没有Website文件?
问题描述:
解决方案:
你这个是单纯的客户端程序,要安装服务器端才有,如下图
问题来源:
3、 单据转换---逗号连接没有自动去重,例如三条明细源单是A B A,逗号连接后显示的是 A,B,A ,如何能自动为A,B
问题描述:
单据转换---逗号连接没有自动去重,例如三条明细源单是A B A,逗号连接后显示的是 A,B,A ,如何能自动为A,B
解决方案:
单据转换服务策略中对携带的值做二次去重处理:
字符串字段标识 = ','.join(set(字符串字段标识.split(',')))
问题来源:
单据转换---逗号连接没有自动去重,例如三条明细源单是A B A,逗号连接后显示的是 A,B,A ,如何能自动为A,B (kingdee.com)
4、 多单据体如何循环打印?
问题描述:
同一个单据上毫无关联关系的单据体(非子单据体),需要根据一个单据体循环另一个单据体进行打印显示,
比如A单据体数据是
1
2
3
B单据体数据是
A
B
C
如何打印的时候第一页是
1 A
1 B
1 C
第二页是
2 A
2 B
2 C
解决方案:
要实现多单据体打印的话,建议采用万能报表设计比较容易满足需求。
万能报表设计器用户手册 (kingdee.com)
问题来源:
多单据体如何循环打印? (kingdee.com)
5、 想要实现单据点击保存通知另一个岗位的相关人员,如何实现?
问题描述:
想要实现单据点击保存通知另一个岗位的相关人员,如何实现?
解决方案:
通过消息配置这里设置,触发操作选择保存,然后设置消息模板,消息接收人
问题来源:
想要实现单据点击保存通知另一个岗位的相关人员,如何实现? (kingdee.com)
6、 物料【复制】的时候,可否设置某些字段不复制,如【仓库】等字段
问题描述:
解决方案:
使用管理员登陆BOS平台进行设置,参考下图取消允许复制。
问题来源:
物料【复制】的时候,可否设置某些字段不复制,如【仓库】等字段 (kingdee.com)
7、 物料清单里委外BOM委外A产品 需要B物料我可以在委外入库的时候带出B的批号吗
问题描述:
物料清单里委外BOM委外A产品 需要B物料我可以在委外入库的时候带出B的批号吗
解决方案:
金蝶云星空物料清单中委外BOM和委外A产品需要B物料时,在委外入库的时候可以带出B的批号。具体操作步骤如下:
1. 在金蝶云星空中,创建委外入库单。
2. 在委外入库单中,选择需要入库的委外A产品或者委外BOM,然后点击“明细”按钮,在明细页面中找到需要带出B物料的物料清单项。
3. 在物料清单项中,找到需要带出B物料的物料,并在批号栏中输入B物料的批号。如果B物料的批号已经在系统中存在,可以直接选择批号;如果B物料的批号还没有在系统中维护,可以手动输入。
4. 输入完B物料的批号后,保存委外入库单,并进行提交和审核等操作。
通过以上操作,可以在委外入库的时候带出B物料的批号,确保物料的溯源和追踪。需要注意的是,在输入B物料的批号时,需要确保批号的准确性和完整性,以避免物料管理上出现问题。
问题来源:
物料清单里委外BOM委外A产品 需要B物料我可以在委外入库的时候带出B的批号吗 (kingdee.com)
8、 星空8.0二开单据数量精度怎么根据计量单位变化
问题描述:
解决方案:
在金蝶星空8.0系统中,如果您需要根据不同的计量单位来调整单据数量精度,可以按照以下步骤进行设置:
1. 在系统管理模块中,找到“计量单位”菜单,创建需要的计量单位,并设置相应的精度。
2. 在单据模板中,将需要根据计量单位变化的字段的数据类型设置为“数量”,并勾选“根据计量单位进行精度控制”。
3. 在单据录入时,选择相应的计量单位后,系统会根据该计量单位的精度来自动调整单据数量的精度。
需要注意的是,如果您的系统已经存在单据数据,修改计量单位的精度后,已有的单据数量精度不会自动更新,需要重新输入或手动修改已存在的单据数据。
问题来源:
星空8.0二开单据数量精度怎么根据计量单位变化 (kingdee.com)
9、 配额下单,选单, 自动合并相同物料的,这个怎么设置不合并
问题描述:
配额下单,选单,自动合并相同物料的,这个怎么设置不合并
解决方案:
1. 在系统管理模块中,找到“配额管理”或“选单管理”菜单,进入配额或选单的管理页面。
2. 在配额或选单的管理页面中,找到“高级选项”或“高级设置”等相关设置选项,点击进入。
3. 在高级选项或高级设置页面中,找到“合并相同物料”或“物料去重”等相关选项,将其关闭或取消勾选。
4. 保存设置后,系统就不会在配额下单或选单时自动合并相同物料了。
5.需要注意的是,如果您需要在某些情况下仍然需要自动合并相同物料,可以在需要的时候再手动勾选相关选项即可。
问题来源:
配额下单,选单, 自动合并相同物料的,这个怎么设置不合并 (kingdee.com)
10、 小数包含-号怎么写公式判定啊
问题描述:
F_HAYY_Decimal.find("-") >=0这种公式不行
解决方案:
小数包含- 号是指负小数吗
F_HAYY_Decimal < 0 and int(F_HAYY_Decimal) - F_HAYY_Decimal > 0
问题来源:
小数包含-号怎么写公式判定啊 (kingdee.com)
11、 下推条件和选单条件是2个意思吧
问题描述:
解决方案:
下推条件:用来过滤勾选的单据允许是使用哪些单据转换规则,会影响下推界面可选择的单据和单据转换规则。选单是不会触发的。
选单条件:用来过滤上游单据中允许下推数据行,下推和选单都会触发,
问题来源:
下推条件和选单条件是2个意思吧 (kingdee.com)
12、凭证汇总白表套打模板怎么取不到这个数?
问题描述:
解决方案:
可以选到
因为凭证汇总表是报表,所以新增要选择账表里面的凭证汇总表
问题来源:
凭证汇总白表套打模板怎么取不到这个数? (kingdee.com)
13、 如何调整页签按钮位置
问题描述:
应收单页面,第一个页签位置未显示全,这个在Bos里面要怎么调整
解决方案:
找一下对应的页签
问题来源:
如何调整页签按钮位置 (kingdee.com)
14、 如何在单据上显示“物料”资料中的“旧物料编码”
问题描述:
现在BOS签出后,在单据中找不到“旧物料编码”这个栏位,怎么设置增加显示这个这个栏位
解决方案:
引用基础资料属性就可以了哈
问题来源:
如何在单据上显示“物料”资料中的“旧物料编码” (kingdee.com)
15、如何审批完成自动传阅给别的部门领导
问题描述:
解决方案:
1、完成节点的上一个节点,审核时 表单操作为“审核”
2、完成节点上配置消息节点,消息节点设置消息接收人。
问题来源:
如何审批完成自动传阅给别的部门领导 (kingdee.com)
16、 如何让某个单据在审核中可以修改某个字段,并且只是在审批流中,直接打开单据不行
问题描述:
有个教程说配置视图,但是得在单据里把该字段在审核中状态设置为不锁定,这样用户直接打开单据也可以修改呀,所以不行。
我需要的是:单据审核中时,该字段只能在审批流/工作流的某个节点可以修改,其他节点、直接打开单据都不能修改。
解决方案:
①审核中状态下放开字段锁定。
②开发表单插件,在AfterBindData事件判断是否在待办任务处理界面打开单据,如果不是,就锁定字段。
我用Python表单插件测试了一下,是可行的,关键代码如下:
def AfterBindData(e):
parentViewFormId=this.View.ParentFormView.BillBusinessInfo.GetForm().Id;
if(parentViewFormId<>"AP_ApprovalAssignHandle"):#不是审批界面打开
billObj = this.Model.DataObject;
billStatus=billObj["DocumentStatus"];
if(billStatus=="B"):#单据状态是【审核中】
this.View.GetControl("FDate").Enabled = False;#锁定字段
③测试效果图如下:
问题来源:
如何让某个单据在审核中可以修改某个字段,并且只是在审批流中,直接打开单据不行。 (kingdee.com)
【第13期】
1、 BOM同一阶层,如出现重复物料时,如何设置警告提示?
问题描述:
解决方案:
可以在物料清单的选项-业务参数里,子项唯一性检查,勾选“子项物料编码”。
问题来源:
BOM同一阶层,如出现重复物料时,如何设置警告提示? (kingdee.com)
2、 win+r输入cmd后,重启iis指令iisreset,显示如下图,该怎么操作,重来没用过,麻烦大佬详细一点
问题描述:
解决方案:
你用管理员执行才可以,右键找到windows系统,命令提示符cmd以管理员身份运行看看。
问题来源:
win+r输入cmd后,重启iis指令iisreset,显示如下图,该怎么操作,重来没用过,麻烦大佬详细一点 (kingdee.com)
3、 审批流界面明细信息字段的单价和金额合计数怎么添加
问题描述:
怎么在这个界面添加字段的合计数
解决方案:
进入bos设计器,打开需要添加合计信息的单据,选择明细信息,设置分组列合计。
问题来源:
审批流界面明细信息字段的单价和金额合计数怎么添加 (kingdee.com)
4、 明细下怎么加个字段
问题描述:
解决方案:
问题来源:
这个明细下怎么加个字段 (kingdee.com)
5、 流程配置中心中,如何设置单据明细中只要有一行不满足指定条件,就不触发工作流?
问题描述:
如何设置单据明细中只要有一行不满足指定条件,就不触发工作流?
解决方案:
换句话说,就是单据明细中所有行都要满足条件才启动工作流。
在流程配置中心的启动条件高级中设置。参考语句如下:
len(map(lambda x: x.FMaterialName, FEntity))>0 And all(map(lambda x: (x.FMaterialName.find('AAA')>=0 Or x.FMaterialName.find('BBB')>=0 Or (x.FMaterialName.find('CCC')>=0 And x.FMaterialName.find('DDD')<0)), FEntity))
其中x.FMaterialName.find('AAA')>=0 Or x.FMaterialName.find('BBB')>=0 Or (x.FMaterialName.find('CCC')>=0 And x.FMaterialName.find('DDD')<0)根据自己的需求更改。
如果是只要一条记录满足就启动,把all改成any。
问题来源:
流程配置中心中,如何设置单据明细中只要有一行不满足指定条件,就不触发工作流? (kingdee.com)
6、 开发测试显示不存在属性
问题描述:
根据教程做测试https://vip.kingdee.com/article/281004077670973184?productLineId=1&isKnowledge=2 将里面两个参数更改成我自己的参数。报这样的错误,求大佬解答
解决方案:
服务插件不会加载单据的完整数据包,要按需引用需要的字段。
在预加载事件OnPreparePropertys中添加字段标识,告诉系统需要额外加载的字段。
问题来源:
开发测试显示不存在属性 (kingdee.com)
7、 BOS可以登录,进入应用时报错,重新下载SVN登录还是不行,求大佬解答
问题描述:
调用堆栈:
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at Kingdee.BOS.WinForm.KDWaitForm.PrivateDoTask(Form owner, Action act)
at Kingdee.BOS.WinForm.KDWaitForm.OnShown(EventArgs e)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
错误数据: System.Collections.ListDictionaryInternal
解决方案:
协同开发平台SVN锁定处理
https://vip.kingdee.com/link/s/lGNQE
问题来源:
BOS可以登录,进入应用时报错,重新下载SVN登录还是不行,求大佬解答 (kingdee.com)
8、 金蝶云V7.1:想在BOS里加个操作按钮,执行单据编号的批量查询的功能
问题描述:
1、首先根据单据编号批量查,当前是可以实现的,就是在“过滤”中,一行一行的写“或者”的条件。缺点是慢。
2、我想在BOS设计中实现批量查询的样式,见下俩图。 想在bos里设计出一个挑单查询功能。
解决方案:
系统是有批量查询的功能的。在过滤的[高级]页签。
可以通过【块粘贴】的方式批量查询单据编号的。
参考下图:
问题来源:
金蝶云V7.1:想在BOS里加个操作按钮,执行单据编号的批量查询的功能 (kingdee.com)
9、 自己画的报表,怎么在代码里面设置报表的列宽?
问题描述:
解决方案:
这样试试
问题来源:
自己画的报表,怎么在代码里面设置报表的列宽? (kingdee.com)
10、 当日期不等于创建日期+1天时,让单据保存时跳出警告怎么做?
问题描述:
如何设置单据中日期不等于创建日期+1时,保存跳出警告。
解决方案:
这个取值取得是当前日期不是创建日期吧,这边存在今天创建的单子明天做的情况,但是如果取创建日期的时间好像会有问题,这是为什么。
追答
有可能后台有时间,你加这个试一下呢
FDate.ToString('yyyy-MM-dd') <> FCreateDate.AddDays(1).ToString('yyyy-MM-dd')
问题来源:
当日期不等于创建日期+1天时,让单据保存时跳出警告怎么做? (kingdee.com)
11、 关于扩展成本计算单(横向展示)账表增加工单自定义字段的显示位置问题V7.3
问题描述:
问题:
生产工单的表头有自定义字段 项目编码
想在成本计算单(横向展示)中 根据工单号 显示自定义信息 项目编码,想把自定义的字段 显示在 工单号的后面
我的做法:
扩展了 插件,过滤界面的 显示隐藏类 增加了字段
结果:执行时,显示隐藏类 并没有我自定义的字段名称
工单自定义的字段 显示的位置 不是在最后,在中间位置。
问题:
我要如何实现 自定义字段的显示在 工单号的后面?
V7.3
谢谢
解决方案:
在GetHeaders里面添加列的时候就要调整好顺序。
child=header.AddChild("最低价",LocaleValue("最低价",localEid),SqlStorageType.SqlDecimal);
child.ColIndex=序号;//这个属性就是用来调整显示顺序的
编辑于 2023年03月10日 12:02:01
追问
顾问,我发现在这个账单的过滤界面有个表单插件,这里动态写了显示隐藏列的字段。
这个表单插件扩展 增加我的字段 和位置,您有示例吗?
谢谢
问题来源:
关于扩展成本计算单(横向展示)账表增加工单自定义字段的显示位置问题V7.3 (kingdee.com)
12、 通过bos设计器新建套打,但是没有新建选项,版本为7.7
问题描述:
解决方案:
用BOS套打设计器打开,里面就可以新增了。
问题来源:
通过bos设计器新建套打,但是没有新建选项,版本为7.7 (kingdee.com)
13、 如何在BOS添加:审核日期=当前日期的语句,只取年月日,不取时间
问题描述:
审核日期显示时:包含年、月、日,小时、分、秒; 想要添加一个语句:系统当前日期(年月日)=审核日期(年月日),不要包含小时、分、秒
解决方案:
按照如图设置,注意事件的顺序和截图我是用的长日期,你的语句用短日期即可@currentshortdate,
问题来源:
如何在BOS添加:审核日期=当前日期的语句,只取年月日,不取时间。 (kingdee.com)
14、 标识为 *****的控件不存在
问题描述:
手工新增了一张 f_pxiu_icbombjfzentry 的单据,权限状态菜单等等都设置好了,运行正常。
然后采用复制 f_pxiu_icbombjfzentry的方法新增了一张单据,把单据体改为树形单据体,重新设置了权限和行菜单,可是测试行菜单的时候,新增行提示如下
插入行测试如下,f_pxiu_icbombjfzentry就是我复制来源的单据,
可是我批量查询里面根本没找到哪个地方还引用了f_pxiu_icbombjfzentry!请老师解答一下,谢谢!
解决方案:
【新增分录行】操作是要绑定单据体的。
例如,之前的单据的单据体标识是FEntity,新增分录行操作绑定的单据体标识就是FEntity。
你复制单据之后,新增分录行操作绑定的单据体标识还是FEntity,但是现在单据上是树形单据体FTreeEntity了。
所以就报错了。
解决方法:在BOS打开复制后的单据,在【操作列表】中或者新增行菜单的点击事件中找到【新增分录行】的操作,点击修改,把绑定的单据体标识改一下就可以了。
问题来源:
标识为 *****的控件不存在 (kingdee.com)
15、 boss设计器登录时提示错误System.Windows.Forms,导致无法使用
问题描述:
发生时间: 2023-03-21 13:40:46错误来源: System.Windows.Forms错误信息: D:\WorkSpace\SXKV\蓝海\蓝海.kdsln===================================================调用堆栈: 在 System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) 在 System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) 在 System.Windows.Forms.Control.Invoke(Delegate method) 在 Kingdee.BOS.WinForm.KDWaitForm.<>c__DisplayClass5.<PrivateDoTask>b__4() 在 Kingdee.BOS.WinForm.KDWaitForm.PrivateDoTask(Form owner, Action act) 在 Kingdee.BOS.WinForm.KDWaitForm.OnShown(EventArgs e) 在 System.Windows.Forms.Form.CallShownEvent() 在 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme) 在 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme) 在 System.Windows.Forms.Control.InvokeMarshaledCallbacks()错误数据: System.Collections.ListDictionaryInternal
解决方案:
环境出问题了,参考下列步骤卸载、重装一下
1、打开下图所示文件夹,找到Kingdee.BOS.DeskClient.Shell
2、双击打开Kingdee.BOS.DeskClient.Shell
3、找到Bos设计器(金蝶云星空集成开发平台)选项,点击“卸载”按钮
4、卸载成功后Bos设计器将会从列表中移除,桌面快捷图标也会被清理
注意:卸载成功后需关闭Kingdee.BOS.DeskClient.Shell程序,否则所有客户端将无法启动
【安装】
1、登陆云星空后台,点击右上角个人图像弹出下拉选项,根据操作系统位数选择安装相应的Bos设计器
2、安装过程如下,为全自动安装无须任何操作
安装完成后弹出如下所示登陆窗口
并生成相应的桌面快捷图标,至此安装完成
问题来源:
boss设计器登录时提示错误System.Windows.Forms,导致无法使用 (kingdee.com)
16、 想通过插件设置打开发货通知单时自动获取即时库存和可用库存报错
问题描述:
本想参考这帖子的指引https://vip.kingdee.com/article/421675812006553856?channel_level=%E9%87%91%E8%9D%B6%E4%BA%91%E7%A4%BE%E5%8C%BA%7C%E6%90%9C%E7%B4%A2%7C%E7%BB%BC%E5%90%88&productLineId=1&isKnowledge=2来实现打开发货通知单时自动获取即时库存和可用库存报错;在表单注册python脚本如下报错
解决方案:
单引号的问题。
问题来源:
想通过插件设置打开发货通知单时自动获取即时库存和可用库存报错 (kingdee.com)
17、 如图,表格拖的很小,打印的时候怎么显示全部文本
问题描述:
如图,之前的金蝶老师设置的这个套打模板,这个单元格很小,但是里面的文本内容很多,而且打印的时候能全部显示,他这种怎么设置的,我想模仿一下,求各位老师指导[object Object]
解决方案:
选中数据行-点属性-勾选行高自适应
编辑于 2023年03月22日 16:05:5
问题来源:
如图,表格拖的很小,打印的时候怎么显示全部文本 (kingdee.com)
18、 单据头下拉列表字段为1时,自动带出单据体基础资料字段为B,该如何实现呢
问题描述:
单据头下拉列表字段,枚举项分别为1/2/3;自动带出单据体基础资料字段分别为A/B/C
解决方案:
1、先需在单据头下拉列表字段是,添加对应的【值更新事件】分别设置;
当枚举项为1时,基础资料字段=A;当枚举项为2时,基础资料字段=B;当枚举项为3时,基础资料字段=C;
做完这一个,已经可以实现,修改下拉列表字段更新基础资料;
2、现在就要处理,枚举项已选择上,再进行单据体新增行时时的问题;
就是要在单据体添加【实体服务规则】同样设置3个;分别对应1-A;2-B;3-C;
这样设置完,可以防用户的日常操作了;
问题来源:
单据头下拉列表字段为1时,自动带出单据体基础资料字段为B,该如何实现呢 (kingdee.com)
19、 不存在类型或命名空间名“BOS”,是否缺少程序集引用
问题描述:
解决方案:
用这种方式创建临时表即可,
添加引用
using Kingdee.K3.FIN.App.Core;
问题来源:
不存在类型或命名空间名“BOS”,是否缺少程序集引用 (kingdee.com)
20、 通过复选框指定字段编辑且必录
问题描述:
如何实现根据是否我方承担运费复选框打勾然后物流单号和物流公司编辑且必录,如果是客户直送的复选框打勾物流单号和物流公司不可编辑
解决方案:
在bos内找到这个单据的这个复选框,勾选“及时触发值更新”事件,条件为该复选框=true,满足条件则设置对应字段必录,不满足则锁定对应字段
问题来源:
通过复选框指定字段编辑且必录 (kingdee.com)
21、 如何实现两个字段必录一个保存校验设置了两个字段必录一个的逻辑不生效
问题描述:
解决方案:
这种非此即彼的选项可以使用一个下拉列表、单选按钮组的形式,两个枚举选项必选其一。如果是两个复选框,未选择状态值是false而不是空,你的校验应该是 CheckBox1=false and CheckBox2=false,两个都未选择,表达式为真时报错
问题来源:
如何实现两个字段必录一个 (kingdee.com)
22、 收料通知单下推可以默认选择检验单吗
问题描述:
解决方案:
问题来源:
这个收料通知单下推可以默认选择检验单吗 (kingdee.com)
23、 如何实现明细信息的复选框有空的,单据头的复选框也为空。
问题描述:
我在单据体和单据头加上了复选框。单据体的复制给单据头。要根据单据头这个做审批。我怎么实现,当单据体复选框有空的时候,单据体就是空的呢。【目前我是在 bos值更新 把明细复选框赋值给了单据头,没有加条件】如果无操作后,就是这种效果。 我想实现只要有一个不勾选,单据头也不能勾选。
解决方案:
我在单据体和单据头加上了复选框。单据体的复制给单据头。要根据单据头这个做审批。我怎么实现,当单据体复选框有空的时候,单据体就是空的呢。【目前我是在 bos值更新 把明细复选框赋值给了单据头,没有加条件】如果无操作后,就是这种效果。 我想实现只要有一个不勾选,单据头也不能勾选。
问题来源:
如何实现明细信息的复选框有空的,单据头的复选框也为空。 (kingdee.com)
【第12期】
1、如何打印单据的子表体
问题描述:
有些单据涉及到子表体的,如何打印子表体的明细信息? 例如2019行政的差旅报销单,第1个行程有2个费用明细,第2个行程有3个费用明细,需要将5个费用明细打印出来?请各位老师指点迷津,谢谢!
解决方案:
正常打印子单据体的话是要用简单数据表格,参考:https://vip.kingdee.com/knowledge/specialDetail/363025883948262656?category=363047667402268160&id=362620866502206720&productLineId=1。
但是我要是没记错的话,这个差旅费报销单的明细本身好像就是单据体,直接用数据表格绑定字段应该是可以打印出全部的明细信息的
问题来源:
如何打印单据的子表体 (kingdee.com)
2、 有什么办法查询一个字段,被哪些实体服务规则、值更新、操作校验引用了?
问题描述:
金蝶云星空v7.51,增加了很多配置,查找问题比较麻烦。请问有没有方法统计【一个字段,被哪些实体服务规则、值更新、操作校验引用了?】
解决方案:
增量XML里面查找不知是否能解决你的问题
问题来源:
有什么办法查询一个字段,被哪些实体服务规则、值更新、操作校验引用了? (kingdee.com)
3、星空8.0企业版,单据界面怎么添加红色提示文本
问题描述:
类似这种,不要【为空提示信息】,纯一个文本显示,不带边框
解决方案:
类似这种,不要【为空提示信息】,纯一个文本显示,不带边框
问题来源:
星空8.0企业版,单据界面怎么添加红色提示文本 (kingdee.com)
4、 生产订单列表打印行高是否可以调节,可以的话如何调节
问题描述:
在使用生订单的列表打印的时候,行高不合适,1个行高显示不完整,2行高打印页数太多
解决方案:
分享一个星空修改单据列表每行高度的python (kingdee.com)
案例十:设置行高 (kingdee.com)
问题来源:
生产订单列表打印行高是否可以调节,可以的话如何调节 (kingdee.com)
5、 新建表单没有多用户打开没有提示冲突
问题描述:
怎么设置新建表单不让多用户同时打开呢
解决方案:
新建的BOS单据没有启用网控。可以设置默认网控。参考下图:
问题来源:
新建表单没有多用户打开没有提示冲突 (kingdee.com)
6、 文本自定义如何设置计算公式?我这么配置没效果
问题描述:
解决方案:
可以用动态字段实现
参考帖子:套打实体动态字段应用汇总
问题来源:
文本自定义如何设置计算公式?我这么配置没效果 (kingdee.com)
7、 套打能不能设置相同物料,数量合并打印
问题描述:
套打能不能设置相同物料,数量合并打印
解决方案:
打开[bos套打设计器],找到[单据]下面的套打模板
在打开的套打模板中选中“数据行”
点击上方菜单栏[表格]→[汇总管理],按照“物料编码”做汇总设置
问题来源:
套打能不能设置相同物料,数量合并打印 (kingdee.com)
8、 金蝶云星空的日期字段的缺省值要怎么才能在当前日期的基础上延后20天
问题描述:
采购订单的交货日期想自动默认为创建日期之后的20天,请教下各位大神应该怎么操作
解决方案:
以下是我设置的销售订单要货日期+7天,供参考
编辑于 2023年02月06日 10:59:55
您好,请问固定提前期的字段该怎么设置,能麻烦您截下图吗
在物料中设置,可以用批量操作,把固定提前期设置成20, 取固定提前期,是因为,我们的产品,不是统一都是加20天。
如果你都是默认加20天,你也可以
FDeliveryDate = FDate.AddDays(20)
另外这个值更新是放在物料编码处,只要录入物料编码就会自动把要货日期+20天
问题来源:
金蝶云星空的日期字段的缺省值要怎么才能在当前日期的基础上延后20天 (kingdee.com)
9、 BOS设表单服务规则,总是提示未将对象引用设置到
问题描述:
解决方案:
是偶尔还是频繁出现,我使用中,之前服务器放总公司,就会出现多次,然后多试几次,进去后又可以正常操作。
后面服务器放回本地,就没有出现这个问题。
所以,我判断可能是与服务器网络通信造成的。
简单的方法,可以试一下
1> 自己电脑把BOS删除,重装下载安装一次;
2> 在另一台电脑上面试试
3> 直接在服务器上面试(私有云)
问题来源:
BOS设表单服务规则,总是提示未将对象引用设置到。 (kingdee.com)
10、 选单、上下查、报表等列表界面的过滤方案(在单据列表设置了过滤方案,但是选单的时候就不显示在单据列表自定义方案)
问题描述:
生产领料单 选单 生产用料清单,为啥个人方案全没了
解决方案:
生产领料单 选单 生产用料清单,为啥个人方案全没了
问题来源:
选单、上下查、报表等列表界面的过滤方案(在单据列表设置了过滤方案,但是选单的时候就不显示在单据列表自定义方案) (kingdee.com)
11、 如何设置某个单据的打印模板,只能指定的用户可以查看使用
问题描述:
如何设置某个单据的打印模板,只能指定的用户可以查看使用
解决方案:
登录管理员账号,这里可以设置打印模板权限
问题来源:
如何设置某个单据的打印模板,只能指定的用户可以查看使用 (kingdee.com)
12、单据中有多行明细,套打怎么设置只部分明细的合计数
问题描述:
问题:单据上有4行明细,其中一行物料的物料属性为包材,在打印时数量合计栏怎么设置不包含包材的数量
解决方案:
在打印模板明细信息设置实体动态字段,选择“聚合字段集合”添加动态字段(根据需求配置分组表达式和聚合表达式),然后汇总属性值选择该动态字段。
参考:
套打实体动态字段应用汇总
问题来源:
单据中有多行明细,套打怎么设置只部分明细的合计数 (kingdee.com)
13、 如何设置采购订单相应的单据行,剩余入库数量为0时,对应的行自动进行【业务终止】
问题描述:
解决方案:
采购订单与采购入库,本身就有对应的反写规则
问题来源:
如何设置采购订单相应的单据行,剩余入库数量为0时,对应的行自动进行【业务终止】 (kingdee.com)
14、工作流设计器打开进去之后一片空白,也没有工具栏。
问题描述:
解决方案:
环境出问题了,参考下列步骤卸载、重装一下
1、打开下图所示文件夹,找到Kingdee.BOS.DeskClient.Shell
2、双击打开Kingdee.BOS.DeskClient.Shell
3、找到Bos设计器(金蝶云星空集成开发平台)选项,点击“卸载”按钮
4、卸载成功后Bos设计器将会从列表中移除,桌面快捷图标也会被清理
注意:卸载成功后需关闭Kingdee.BOS.DeskClient.Shell程序,否则所有客户端将无法启动
【安装】
1、登陆云星空后台,点击右上角个人图像弹出下拉选项,根据操作系统位数选择安装相应的Bos设计器
2、安装过程如下,为全自动安装无须任何操作
安装完成后弹出如下所示登陆窗口
并生成相应的桌面快捷图标,至此安装完成
问题来源:
工作流设计器打开进去之后一片空白,也没有工具栏。 (kingdee.com)
15、 块选择和块粘贴,怎么在过滤那里使用,麻烦大哥们详细一点;
问题描述:
解决方案:
1、复制时,先块选择,然后鼠标下拉区域,用快捷键CTRL+C复制;
2、粘贴时,用鼠标右键“块粘贴”,不要用快捷键CTRL+V。
问题来源:
块选择和块粘贴,怎么在过滤那里使用,麻烦大哥们详细一点; (kingdee.com)
16、 非主业务组织字段如何限定当前用户组织范围
问题描述:
我在临时信用档案单据上添加了个申请组织字段(非主业务组织的组织类字段),请教如何设置才能达到、在单据录入时该组织字段只能选择当前用户权限范围内的组织的目的?
解决方案:
在自定义字段的过滤添加
FORGID IN (SELECT FORGID FROM T_SEC_USERORG WHERE FUSERID=GetValue(FCreatorId))
其中FCreatorId为创建人。
问题来源:
非主业务组织字段如何限定当前用户组织范围 (kingdee.com)
17、 当满足前提条件时,税率等于13%不满足时税率等于0
问题描述:
前提条件都会设 但是不知道怎么给这个税率赋值 因为税率在客户端是可选的字段 在BOS上是小数字段 不知道怎么给税率这个字段赋值 大佬可以以13%税率示范一下赋值么
解决方案:
直接做两个值更新 例如前提条件是 含税单价>=100 ,值更新FentryTaxrate=0.13
第二个前提条件就是 含税单价<100 ,值更新FentryTaxrate=0
问题来源:
需求:当满足前提条件时,税率等于13%不满足时税率等于0 (kingdee.com)
18、 我想取科目余额表的字段怎么取
问题描述:
1、想取科目余额表的字段,核算维度,核算维度名称,本期发生,借方,贷方,期间 怎么取
解决方案:
1、想取科目余额表的字段,核算维度,核算维度名称,本期发生,借方,贷方,期间 怎么取
问题来源:
我想取科目余额表的字段怎么取 (kingdee.com)
19、 退料原因类似的字段,如何自定义添加?BOS后台需要选哪个类型的字段
问题描述:
解决方案:
用单选辅助资料列表。
问题来源:
退料原因类似的字段,如何自定义添加?BOS后台需要选哪个类型的字段 (kingdee.com)
20、在新增采购申请单时,如果根据当前登入人员账号名称,自动带出到申请人跟申请部门
问题描述:
在新增采购申请单时,如果根据当前登入账号人员名称,自动带出到申请人跟申请部门,这种在BOS中要怎么操作?
解决方案:
系统默认是会带出的,你检查一下,对应该登入人员账号的信息资料,有没有绑定对象员工;
用户绑定员工的操作是Administrator登录,查询用户,【联系对象类型】是员工,【联系对象】绑定某一员工。
问题来源:
在新增采购申请单时,如果根据当前登入人员账号名称,自动带出到申请人跟申请部门 (kingdee.com)
21、 怎么停掉走了一半的工作流?
问题描述:
比如我的工作流,有三级审核,现在进行到一级审核或二级审核了。我禁用停用了工作流。但发现,之前走了一半的工作流,还是生效的,还得必须按之前的工作走完 才行。
解决方案:
未走完的工作流还是按照之前的版本走的,可以流程管理中心,终止且反审核,重新提交走修改后的工作流
问题来源:
怎么停掉走了一半的工作流? (kingdee.com)
22、 星空8.0实体服务规则,条件设置单据名称包含
问题描述:
这个该怎么设置
解决方案:
FBillTypeID.FName.find('方案')<0
问题来源:
星空8.0实体服务规则,条件设置单据名称包含 (kingdee.com)
【第11期】
1、 自定义单据增加一个表体后如何在过滤界面默认方案默认勾选新增的表体?
问题描述:
解决方案:
勾选需要的表体后将另存为方案或保存,如果想改成全局默认方案可以在BOS中进行设置,单据属性 -列表默认发方案-选择新建的过滤方案
问题来源:
自定义单据增加一个表体后如何在过滤界面默认方案默认勾选新增的表体? (kingdee.com)
2、 实体服务规则怎么设置附件必填?
问题描述:
1、一个单据,要求满足条件时,必须上传附件。【选项.附件】,请问怎么用实体服务规则实现?
2、单据上有些字段,在实体服务规则里选不到,请问如何设置?
解决方案:
https://vip.kingdee.com/article/360925806623025664?productLineId=1&isKnowledge=2
参考这个帖子
大的思路就是,在单据上添加附件数 字段,然后用这个字段做合法性校验
问题来源:
实体服务规则怎么设置附件必填? (kingdee.com)
3、 bos字段长度修改如何设置nvarchar(max)
问题描述:
sql server 的字段长度已经设置为nvarchar(max)了,bos里面字段长度只能输入数字,难道只能输入一个极大的数字作为下位替代吗
解决方案:
可以设置为999999,参考这个官方帖子:
二开案例.单据设计.文本字段编辑长度突破2000的限制 (kingdee.com)
问题来源:
bos字段长度修改如何设置nvarchar(max) (kingdee.com)
4、 简单账表的过滤条件框插件如何在 OnInitialize事件中删除 显示隐藏列中的字段?
问题描述:
简单账表的过滤框插件 ,在 OnInitialize 事件中可以获取到调用该过滤框的对象FormID,因此我想通过调用对象(多个账表公共一个过滤框) 来动态控制显示隐藏列里的 字段,比如下图中,我想 把 【基本信息 销售部门】给删除掉,代码 怎么写?
需要满足规则:依据 调用对象的FormID 作为条件 来删除。 另外 如何获取主控菜单中的 参数呢? 想通过主控菜单里的参数 判断也可以。
能给一段删除这个字段 的代码吗,谢谢!!
解决方案:
可以参考如下代码试试:
//获取过滤框的Model服务
ICommonFilterModelService model = this.Model as ICommonFilterModelService;
List<ColumnField> fldLst = model.ColumnObject.FieldList;
//fldLst.Remove(XXX);//移除不需要的字段
model.ColumnObject.SetFieldList(fldLst);//重新设置字段集合
//修改显示隐藏列控件的字段集合数据
var showHideCtrl= this.View.GetControl<FieldShowHide>("FFieldShowHideSet");
JSONArray ShowHideRows = model.ColumnObject.GetShowHideRows();
showHideCtrl.SetShowHideRows(ShowHideRows);
问题来源:
简单账表的过滤条件框插件如何在 OnInitialize事件中删除 显示隐藏列中的字段? (kingdee.com)
5、 简单账表如何接收发布的菜单中设置的参数
问题描述:
简单账表 插件 如何接收 菜单中的参数,如下图,发布主控台菜单 添加了参数,插件中如何获取呢?
简单账表 和 对应的 过滤条件框 的 插件中都需要获取这个 参数, 代码 怎么写。
解决方案:
试试这种方式
问题来源:
简单账表如何接收发布的菜单中设置的参数 (kingdee.com)
6、 单据列表能否关闭筛选的小漏斗?审核后能否取消自动选择行的功能?
问题描述:
因为操作方式为提交后自动审核,并且审核完成后会自动刷新页面,根据过滤条件已审核的数据会被过滤出去,然后列表自动勾选了当时选择行的数据,但并不是原行,导致会误操作一些数据。
解决方案:
问题来源:
单据列表能否关闭筛选的小漏斗?审核后能否取消自动选择行的功能? (kingdee.com)
7、 单据下推时,选择单据时,出现的单据界面,可以自己设置或者删减吗?
问题描述:
解决方案:
问题来源:
8、 自动换行跨页设置
问题描述:
设置自动换行后,跨页出现这种情况,有没有办法设置有跨页,默认留给下一页?
企业版/标准版/BOS平台/BOS设计器
解决方案:
启用参数
问题来源:
自动换行跨页设置 (kingdee.com)
9、 收款单往来单位类型,往来单位,付款单位类型,付款单位怎么开放可以修改,BOS后台锁定性是开放的
问题描述:
要求销售收款单、其他业务收款单都可以修改
解决方案:
锁定性确定放开就查下BOS的实体服务规则
问题来源:
收款单往来单位类型,往来单位,付款单位类型,付款单位怎么开放可以修改,BOS后台锁定性是开放的 (kingdee.com)
10、 流程配置中心里,条件不符发起策略的几个选项的区别
问题描述:
解决方案:
【启用默认流程】:选择此选项后,单据不满足启动条件中的任何条件时,单据发起流程时,调用在关联流程列表中设置的默认流程,前提是需要在流程模板的关联流程列表中设置默认流程;
【调出关联流程列表选择】:选择此选项后,单据不满足启动条件时,单据发起流程时,弹出关联流程列表,可供用户选择发起流程;
【报错,流程无法启动】:选择此选项后,单据不满足启动条件时,单据发起流程时,系统给出提示:没有符合条件的可发起的流程;
【进行传统审批】:选择此项后,单据不满足启动条件时,提交后直接启用传统审核,不发起任何工作流或者审批流。
问题来源:
流程配置中心里,条件不符发起策略的几个选项的区别 (kingdee.com)
【第10期】
1、 BOS后台退料类型的表达式,这样填写正确吗?如不对,需要如何填写
问题描述:
解决方案:
可以参照系统自带的设置,如上图
问题来源:
BOS后台退料类型的表达式,这样填写正确吗?如不对,需要如何填写 (kingdee.com)
2、 如何添加审批页面上的按钮
问题描述:
解决方案:
在流程配置中心里面可以设置,点击流程节点界面配置,点到对应的节点可以进行对相关字段以及按钮显示或者隐藏的配置,每个节点可以显示不一样的字段和按钮
问题来源:
3、 直接账表提示多次设置某个FNAME
问题描述:
SELECT a.FBILLNO, b.FNAME 物料名称, e.FNAME 组织名称, g.FNAME 供应商名称, ……测试不通过,提示【多次为Toptemp指定了列FNAME】。请问这种该如何解决?
解决方案:
这个就是列名重复。账表运行的时候会把你的查询结果集写入一张临时表,列名不能重复,使用别名就可以了。
SQl账表运行的时候会执行下面这样一个语句来构建查询临时表:
select *
into 临时表名
from
(
--你的查询SQL语句
)
问题来源:
直接账表提示多次设置某个FNAME。 (kingdee.com)
4、 新增了一个总价字段,如何让它自动等于采购数量*含税单价
问题描述:新增了一个总价字段,如何让它自动等于采购数量*含税单价
解决方案:
可以在明细先新增一个总价金额字段,设置汇总至上级字段选择单据头总价,然后新增一个实体服务规则总价=采购数量*含税单价
问题来源:
兄弟们,我新增了一个总价字段,如何让它自动等于采购数量*含税单价 (kingdee.com)
5、 如何设置同个采购组织在不同语言系统使用不同的套打模板(同个用户的情况下)
问题描述:
如何设置同个采购组织在不同语言系统使用不同的套打模板(同个用户的情况下),客户反馈之前是一直可以这样的,但是最近套打模板突然乱掉了,即使切换到了英文系统,套打模板还是中文的套打模板
解决方案:
切换套打设计器中的语言设置是可以的选到的。
全部语言就是在任何语言下都可以选到;英文是只在英文环境下选的到。
再给你一个排查思路看下,是不是设置了权限导致当前用户没有英文模板的权限了。https://vip.kingdee.com/knowledge/specialDetail/363025883948262656?category=363047769658638336&id=173452912436035328&productLineId=1
问题来源:
如何设置同个采购组织在不同语言系统使用不同的套打模板(同个用户的情况下) (kingdee.com)
6、 单据审核字样打印
问题描述:
套打打印,如何将审核的标签在套打单据上体现出来呢,我在bos套打设计中,在某文本字段或者图片字段取得”数据源“--”印章“---”图章“,但是在打印中还是无法体现出来。求解
解决方案:
参考 https://vip.kingdee.com/article/29082
第一种方法:
1、在单元格中添加图片字段;
2、选择属性,选择绑定数据源印章,字段为图章。查看已经审核的单据是否已经有审核图章。
如果没有重复操作一遍!!!
如果还是没有的话提供另一个方法!!!
1、先添加一个文本框;
2、在文本框中再添加图片字段;
3、根据上面第一种方法的步骤绑定图章字段,一般情况下经过这三步就可以了。
问题来源:
单据审核字样打印 (kingdee.com)
7、 辅助资料怎么和基础资料属性辅助资料比较
问题描述:
如上图:字段1是基础资料,其属性辅助资料材质,值为B字段2是辅助资料材质,值为A字段3是辅助资料材质,值为B字段1和字段3材质值相同,相同的条件,拿字段2和字段1字段3比较,结果是不一样的(如上图执行结果)问:怎么拿辅助资料怎么和基础资料属性辅助资料比较?
解决方案:
单选辅助资料列表,可以看出,取得内容有编码FNumber,值FDataValue
单选辅助资料列表的编码,按照步骤1中看的,编码可以用FNumber取
物料的属性,单选辅助资料,可以看到这是一个更完整的数据包,其中编码是Number,名称是一个多语言字段。
取物料的属性单选辅助资料的编码,在步骤3的后边再加上.Number
取基础资料属性的单选辅助资料名称,因为是多语言字段,所以会复杂一些,可以参考下,https://vip.kingdee.com/article/248834998093233920?productLineId=1&isKnowledge=2
问题来源:
辅助资料怎么和基础资料属性辅助资料比较 (kingdee.com)
8、 设置审批流为什么部门负责人收不到待办任务?
问题描述:
设置审批流为什么部门负责人收不到待办任务???
解决方案:
看看负责人对应的用户,这里是否设置了联系对象
问题来源:
设置审批流为什么部门负责人收不到待办任务? (kingdee.com)
9、 怎么获取到过滤界面的分录的值
问题描述:
报表的过滤界面返回值是用
ReportTitles reportTitles = new ReportTitles();
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
那么怎么获取到他customFilter中单据体的值呢
解决方案:
customFilter就是一个数据包,根据过滤界面添加的字段实体属性获取值。
如果是单据体的话,也是用单据体的ORM实体名获取值。
entity=customFilter["ORM实体名"] as DynamicObjectCollection;
问题来源:
怎么获取到过滤界面的分录的值 (kingdee.com)
10、 想要实现数量字段乘以数量字段等于数量字段
问题描述:
二次开发单据中,想要实现 数量A * 数量B = 数量C,拉了三个数量字段,但在A和B配置值更新后,填写A或B都无效果,公式是“ 数量C=数量A * 数量B"。另外测试了“ 数量C=数量A * 2",也无效果,请问数量字段不能乘以数量吗?
解决方案:
实体服务规则中的前置条件设置 数量A=数量Aor数量B=数量B
问题来源:
想要实现数量字段乘以数量字段等于数量字段 (kingdee.com)
11、 套打平台,如何根据条件判断打印不同文字内容?
问题描述:
比如某单据有个布尔型的字段,如果勾选是,就打印一行字“请联系客户咨询色带事宜…… ”,如果勾选 否,则打印空白
解决方案:
在套打上定义实体动态字段
套打的时候使用定义的字段即可
问题来源:
套打平台,如何根据条件判断打印不同文字内容? (kingdee.com)
12、 汇报关系维度解析不到参与人:[财务]-[上一步处理人岗位]-[直接上级
问题描述:
门店店长上级是门店会计,而且有人任岗门店会计,但是为什么解析不到呢?
解决方案:
实际看看你的实际情况,应该是汇报关系与岗位啥的没有定义清除导致的
缺省方案:汇报关系维度解析不到参与人:[行政]-[上一步处理人岗位]-[直接上级] (kingdee.com)
也可以参考一下这个回答
问题来源:
汇报关系维度解析不到参与人:[财务]-[上一步处理人岗位]-[直接上级] (kingdee.com)
13、 在付款申请单处理进行审批同意的时候,有提交、上查、转发、加签这些按钮怎么添加呢
问题描述:
在付款申请单处理进行审批同意的时候,有提交、上查、转发、加签这些按钮怎么添加呢
解决方案:
加签 转发
在流程设计中,审批动作上,勾选【允许加签】【允许转交】
提交 是默认自带的,是流程的 提交
上查
首先,你要保证,你表单 【菜单集合】中,这些按钮存在,并且设置可见
在【流程配置中心】-【流程节点界面配置】- 在对应的节点,勾选对应的 按钮显示
问题来源:
在付款申请单处理进行审批同意的时候,有提交、上查、转发、加签这些按钮怎么添加呢 (kingdee.com)
14、 打印表格换页后 第二页没有表头字段
问题描述:
解决方案:
套打模板里选中表头,设置每页出现
问题来源:
打印表格换页后 第二页没有表头字段 (kingdee.com)
15、 流程设计服务动作缺少‘状态装换至-提交’等动作
问题描述:
我有个账套有这个动作,有个账套没有,是什么原因
解决方案:
我有个账套有这个动作,有个账套没有,是什么原因
问题来源:
流程设计服务动作缺少‘状态装换至-提交’等动作 (kingdee.com)
16、 如何让确认收入方式为验收时安装方式必录,签收时不必录啊
问题描述:
解决方案:
BOS对单据头写实体服务规则,当确认收入方式为验收时安装方式必录,不等于验收时不必录
问题来源:
如何让确认收入方式为验收时安装方式必录,签收时不必录啊 (kingdee.com)
17、 怎么在列表实现合并标题行
问题描述:
图所示是单据体的合并,我想在列表也实现,请问怎么操作?
解决方案:
相邻字段标题命名为A&B,A&C样式,就可以组合表头显示,如下图示例:
问题来源:
18、 某个节点审核时 某个字段要放开(可以修改),如何设置呢
问题描述:
已经在bos的状态列表里取消控制的勾选了,但是单子上还是不能修改
解决方案:
您是说的工作流提交到某个节点了,该节点的参与人需要修改某些字段是吧。
可以在流程配置中心,找到对应的流程模板打开,点击流程节点界面配置,选择对应的节点修改字段的显示及锁定即可
问题来源:
19、 审批流 被驳回时 怎么发邮件给发起人 并抄送相关签核人员 ?
问题描述:
如题,因为公司生产人员提交采购申请单,被老板驳回后,经常不看系统自带的消息功能,而直接再次提交,现在需求如题:
我已尝试在 终审节点 后面增加消息结点,但是,只有审核通过了,才会走消息结点;
怎么设置成驳回后,才走消息结点呢?
另外,消息标题 和 消息内容 可以自定义吗?如下图:
解决方案:
你改成工作流,在节点上加个消息试试
问题来源:
审批流 被驳回时 怎么发邮件给发起人 并抄送相关签核人员 ? (kingdee.com)
20、 Bos启动开发环境浏览器报错
问题描述:
{"actionname":"ShowErrMsg","params":[{"errorTitle":"金蝶温馨提示: 应用服务器发生错误,请联系系统管理员检修!","errorInfo":"发生时间:\t21:28:01\r\n错误编号:\t500\r\n错误信息:\t“Kingdee.BOS.Contracts.ServiceFactory”的类型初始值设定项引发异常。\r\n===================================================\r\n调用堆栈:\r\n\r\n 在 Kingdee.BOS.Contracts.ServiceFactory.GetDataCenterService(String ServerUrl)\r\n 在 Kingdee.BOS.ServiceHelper.DataCenterService.GetManagementDataCenterContext(String ServerUrl)\r\n 在 Kingdee.BOS.ServiceHelper.DataCenterService.GetDataCentersFromMCByParam(DCListParam param)\r\n 在 Kingdee.BOS.Web.HTML.MobilePageBase.initWithContext(HttpRequest req, String& sacctid)\r\n 在 Kingdee.BOS.Web.HTML.MobilePageBase.InitParameter(HttpRequest req)\r\n 在 Kingdee.BOS.Web.HTML.HTML_Index.PageLoad(EventArgs e)\r\n 在 Kingdee.BOS.Web.HTML.MobilePageBase.Page_Load(Object sender, EventArgs e)\r\n 在 System.Web.UI.Control.OnLoad(EventArgs e)\r\n 在 Kingdee.BOS.Web.HTML.HTMLBase.OnLoad(EventArgs e)\r\n 在 System.Web.UI.Control.LoadRecursive()\r\n 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\r\n
\r\n发生时间:\t21:28:01\r
错误编号:\t500\r
错误信息:\t“Kingdee.BOS.Contracts.ServiceFactory”的类型初始值设定项引发异常。\r
===================================================\r
调用堆栈:\r
在 Kingdee.BOS.Contracts.ServiceFactory.GetDataCenterService(String ServerUrl)\r
在 Kingdee.BOS.ServiceHelper.DataCenterService.GetManagementDataCenterContext(String ServerUrl)\r
在 Kingdee.BOS.ServiceHelper.DataCenterService.GetDataCentersFromMCByParam(DCListParam param)\r
在 Kingdee.BOS.Web.HTML.MobilePageBase.initWithContext(HttpRequest req, String& sacctid)\r
在 Kingdee.BOS.Web.HTML.MobilePageBase.InitParameter(HttpRequest req)\r
在 Kingdee.BOS.Web.HTML.HTML_Index.PageLoad(EventArgs e)\r
在 Kingdee.BOS.Web.HTML.MobilePageBase.Page_Load(Object sender, EventArgs e)\r
在 System.Web.UI.Control.OnLoad(EventArgs e)\r
在 Kingdee.BOS.Web.HTML.HTMLBase.OnLoad(EventArgs e)\r
在 System.Web.UI.Control.LoadRecursive()\r
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\r\n"}]}
解决方案:
分析处理过程
1、确认k3cloud站点可以正常访问;
2、打开事件查看器,查看windows日志-应用程序下,有如下报错;
3、根据如上报错,检查开发环境启动参数设置,如下图所示;
修改为下图这样;
4、然后再启动开发环境,还是有报错,此时事件查看器的报错变成了;
“未能加载文件或程序集Oracle.DataAccess.dll ……”
5、然后,在应用的k3cloud目录下,把ORA开头的组件全部删除掉就可以了。
比如,下图这样的目录;
问题来源:
Bos启动开发环境浏览器报错 (kingdee.com)
【第9期】
1、 如何让固定文本根据套打参数内容自动衔接在一起,使它连接在一块,中间不产生空白间隙?
问题描述:
企业版/标准版/BOS平台/套打平台
解决方案:
直接用一个文本控件即可实现
方法一,使用前缀和后缀实现
方法二,使用GetDataSourceValue函数拼接,类似于下图,参考案例:https://vip.kingdee.com/article/137611800287477504?productLineId=1&isKnowledge=2。
如何让固定文本根据套打参数内容自动衔接在一起,使它连接在一块,中间不产生空白间隙? (kingdee.com)
2、 GetDataSourceValue怎么设置日期格式
问题描述:
GetDataSourceValue取的是日期的值,在这个函数里面可以设置格式吗?
解决方案:
GetDateSourceValue("数据源标识","字段标识","格式")
可以参考GetValue("字段标识","格式"),格式的获取方法参考:套打GetValue取数函数允许传入格式化字符串。
3、 钉钉审批界面,字段值能否调整?该怎么调整
解决方案:
你是调整字段位置还是需要添加字段,
可以通过移动平台单据启用设置调整相关配置。
4、 工序计划列表插件不能继承重载,求解答
问题描述:
插件要实现的功能:点击列表原有的某个菜单,判断条件,满足条件就取消菜单的原操作,不满足条件执行菜单原来的功能
方法1:python
def BarItemClick(e):
if e.BarItemKey == "tbBtnToStart":
this.View.ShowMessage("开工菜单被点击")
e.Cancel = True
else:
this.View.ShowMessage("其他菜单被点击")
return
上述代码,如果条件成立,实际并没有取消原来的操作
方法2:C#
public class ClassName:AbstractListPlugIn
{
public override void BarItemClick(Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
{
if (e.BarItemKey.Equals("tbBtnToStart"))
{
e.Cancel = true;
this.View.ShowMessage("开工菜单被点击");
}
else
{
base.BarItemClick(e);
}
}
}
在使用这个插件前,我是先将原有的插件勾选去掉了,勾选了本插件
执行结果是,条件成立时,菜单操作确实被取消了,但是当条件不成立时,重载的原有方法base.BarItemClick(e)并没有被执行,就是说这样做了后,原插件里面的所有功能都失效了
解决方案:
这样要继承工序计划列表的插件
base的时候才会走原来的逻辑
问题来源:
工序计划列表插件不能继承重载,求解答 (kingdee.com)
5、 应付单和采购订单上的含税价格不同时,走审批流该怎走
问题描述:
应付单和采购订单上的含税价格不同时,走审批流该怎走
解决方案:
分别在收料通知单、采购入库单、应付单上新增采购订单价格(单价字段),由采购订单的含税单价一路携带至应付单,流程配置中心设置启动条件,高级里面设置含税单价<>采购订单价格,启动审批流,不满足进行传统审批
问题来源:
应付单和采购订单上的含税价格不同时,走审批流该怎走 (kingdee.com)
6、 想请教一下,采购订单工作流连线上设置了条件赠品就审核,非赠品会流向下一个节点,发现单据实际上已经审核了但流程还在审核中
问题描述:
解决方案:
可以在“完成”节点,拖一个“服务”,然后“调用操作”选择“审核”,系统到这个节点时就会自动调用单据上的审核按钮
问题来源:
想请教一下,采购订单工作流连线上设置了条件赠品就审核,非赠品会流向下一个节点,发现单据实际上已经审核了但流程还在审核中 (kingdee.com)
7、 采购价目表明细行做过二次开发,批量引入报小数位数不一致
问题描述:
解决方案:
1、如果要按excel导入,需要整理单价,金额,逻辑关系;
2、或建议 直接新增录入,使用块粘贴,批量复制进去;(推荐)
问题来源:
采购价目表明细行做过二次开发,批量引入报小数位数不一致。求大佬帮忙。。。 (kingdee.com)
8、 小数字段怎么默认显示-1
问题描述:
小数字段怎么默认显示-1
解决方案:
问题来源:
小数字段怎么默认显示-1 (kingdee.com)
9、 自己新增的bos单据。源单子单据体下推目标单的单据体。bos配置不行要写插件
问题描述:
目前场景是这样的。比如的备料单的子单据有10条分录,我在采购订单上点选单按钮跳出备料单的列表,我就勾选了5行,如何把这个5行下推到采购订单上。一下代码只能把所有的子单据都下推了。不能单独下推勾选的
public override void OnBeforeGroupBy(BeforeGroupByEventArgs e)
{
SubEntryEntity subEntity = e.SourceBusinessInfo.GetEntity("F_JSRJ_SubEntity") as SubEntryEntity;
// 强制修改单据体行合并依据 // 默认为源单单据体内码Key,现在需要修改为子单据体内码Key
// 子单据体内码Key的格式:实体Key_实体内码字段名,如 FSubEntity_FDetailId
e.EntryGroupKey = string.Format("{0}_{1}", subEntity.Key, subEntity.EntryPkFieldName);
}
解决方案:
//先定义需要下推的数据list
List<ListSelectedRow> sourceData = new List<ListSelectedRow>();
//然后循环将需要下推的数据插入
Dictionary<string, string> Option = new Dictionary<string, string>();
Option.Add("FBillHead", FID);
Option.Add("FEntity", FENTITYID);
Option.Add("FSubEntity", FSUBENTITYID);
sourceData.Add(new ListSelectedRow( FID , FENTITYID ,0,FormId)
{ EntryEntityKey = "FSubEntity", FieldValues = (Dictionary<string, string>)ObjectUtils.CreateCopy(Option) });
24、 请问BusinessDataServiceHelper.Save的具体使用方法,以及可以它可以校验什么
问题描述:
请问BusinessDataServiceHelper.Save的具体使用方法,以及可以它可以校验什么
解决方案:
BusinessDataServiceHelper.Save(
this.Context,//服务上下文
meta.BusinessInfo,//单据的元数据信息
billObjs.ToArray(),//数据包集合
saveOption,//保存选项参数
"Save");//操作代码
这个是调用单据保存操作的服务方法,有了单据实体数据包的情况下,可以通过调用此方法来生成单据,或者修改单据,此方法会触发校验规则、服务插件。比直接操作数据库更可靠。
请问BusinessDataServiceHelper.Save的具体使用方法,以及可以它可以校验什么 (kingdee.com)
25、 销售出库单 物料规格行能否固定显示3行,有的规格字数太多了,不要显示那么多
问题描述:
解决方案:
应该只能固定行高,并且不要勾选自适应了;
行高自适应一定是全部显示出来的
销售出库单 物料规格行能否固定显示3行,有的规格字数太多了,不要显示那么多 (kingdee.com)
【第8期】
1、 如何根据单据体列值,自动更新单据头字段值
问题描述:
如图:当 收料通知单 单据体中的【来料检验】列 只要有一行没打勾,那么单据头自定义字段【是否有免检】的值自动更新为“是”
解决方案:
通过实体服务规则
条件: len(filter(lambda x :x. FCheckInComing=0, FDetailEntity ))>0
然后,单据头字段=true
附条件测试:
问题来源:如何根据单据体列值,自动更新单据头字段值 (kingdee.com)
2、 审批节点如何设置单据头选择的多个用户来审批
问题描述:
例如:采购付款申请单
单据头多选基础字段关联的用户,选择多个审批人
希望在审批节点中解析出这几个人
或者有其他方案可以实现也可(大致需求就是,希望可以选择多个人审批)
解决方案:
流程设计技巧:当前审批者可在单据上指定流程下一节点的处理人,限定可选员工范围,支持指定多名员工作为处理人
https://vip.kingdee.com/link/s/MUXEp
3、 怎么才能知道插件所引用的是哪一个编译文件
问题描述:
二开一个之前做过的功能,想它的插件,但是不知该引用哪一个dll,原来的插件配置信息也看不出来。有什么方法?
解决方案:
在BOS里面看插件的配置应该可以看出来是哪个dll文件的。
4、 操作列表审核加了自动下推,为什么设置的前提条件不生效?
问题描述:
1.一开始使用小数字段判断,比如金额>0自动下推,但不生效(实际金额>0)2.而后使用基础资料ID、Number作为条件皆报如下错误3.总而言之,为什么这个操作列表里的前提条件不生效?要如何编写表达式使得满足条件再自动下推?(单据转换的 选单条件会弹报错框,不用)
解决方案:
参考这个帖子,改用lambda函数来判断,因为单据体有多行:
遍历单据体,lambda函数的应用 (kingdee.com)
5、 如何设置 【单据编号】+【单据体行序号】 赋值给单据体的自定义字段
问题描述:
如下图,【检验单】是由【收料通知单】审核时自动生成,希望生成检验单后,能实现检验单【单据编号】+【单据体行序号】赋值给【检验批号】字段。单据是自动生成,值更新不起作用。单据转换表单服务及实体服务规则也无效
解决方案:
比较可靠的方案是做一个保存操作插件,在保存操作后更新一下单据体的字段。这样只要是正常保存生成的单据无论新增、下推、接口写入、插件写入等各种场景都可以保证有值。
操作插件参考:https://vip.kingdee.com/article/88675379426211072?productLineId=1&isKnowledge=2
6、 会计科目的每个核算维度怎么用括号括起来
问题描述:
解决方案:
可以使用套打的实体动态字段实现。
核算维度格式化的相关资料请参考,https://vip.kingdee.com/knowledge/specialDetail/363025883948262656?category=363048037708301568&id=362533453499719168&productLineId=1。
另附相关实体动态字段资料,https://vip.kingdee.com/article/263951470566038016?productLineId=1。
7、 sql报表套打模板设置金额字段预览就报错
问题描述:
报错截图如下,去掉金额字段就正常预览[object Object]
解决方案:
SQL账表的金额字段,是不是存在为null的数据,建议在SQL中做一下转换ISNULL(FXXAmount,0)
8、 bos开发的单据,为什么在单据上日期为空 还有金额和税率怎么设置必填
问题描述:
bos开发的单据,为什么在单据上日期为空 还有金额和税率怎么设置必填
解决方案:
9、 如何让一个文本字段只能输入数字,不能输入其他字符和特殊符号
问题描述:
如何让一个文本字段只能输入数字,不能输入其他字符和特殊符号
解决方案:
可以使用正则表达式校验哈 :
保存增加校验规则-正则表达式校验
参考控制6位数字控制:^\d{6}$
10、 bos自定义单据配置了源单单据类型,下推之后为空
问题描述:
bos自定义单据配置了源单单据类型,下推之后为空,
如何过滤掉其他期间的单据不能下推自定义单据,
解决方案:
问题1:
你圈出来的源单类型,不是单据转换规则中的【单据类型映射】,
这个源单类型指上游单据的名称,记录的是单据标识FormID 。
在下游单据的【源单编号】字段数据中,绑定一下【源单类型】,下推的时候就自动有值了。
问题2:
过滤掉其他期间的单据不能下推自定义单据,这个可以在【选单条件策略】中设置附加条件,附加条件使用的是SQL过滤条件的写法,将允许下推的条件写进去即可。
【第7期】
1、 过滤条件GetValue()怎么获取基础资料的名称?
问题描述:
如图,我想用券号(基础资料)的客户属性(F_KH文本字段)去过滤单据头的基础资料客户(F_KH),如果用GetValue函数,我猜测获取的是ID,和我后台表的客户属性文本字段无法匹配,请问怎么用GetValue获取基础资料的名称?
解决方案:
2、单据转换找不到新增字段?
问题描述:
销售订单扩展在基本信息新增一个字段想携带到下游发货通知单上,单据转换找不到对应字段。请问是什么原因,该如何解决?
解决方案:
重启IIS看看;
确认一下字段功能控制中有没有选。(默认是勾选的)
字段类型不一致,字段类型和目标单据不一样,所以不能映射,看不到!
问题来源:
单据转换找不到新增字段? (kingdee.com)
3、 DynamicObjectCollection 插件中更新后,前面界面没有显示,需要重新打开后,才能正常显示
问题描述:
foreach (DynamicObject item in entryColl)
{
item["ICMOOrgId_Id"] = saleOrg["Id"];
item["SupplyOrgId_Id"] = 0;
}
this.View.UpdateView("FSaleOrderEntry");
前面的界面数据都不显示
解决方案:
最简单的一种方法:
假设基础资料标识为Material
赋值:item["Material_Id"]="";
保存前重新加载一下:
#region 刷新单据
IDBService dbService = ServiceHelper.GetService<IDBService>();
dbService.LoadReferenceObject(this.Context, new DynamicObject[1] { "单据实体"}, "单据实体".DynamicObjectType, false);
#endregion
问题来源:
DynamicObjectCollection 插件中更新后,前面界面没有显示,需要重新打开后,才能正常显示 (kingdee.com)
4、 如何设置当采购订单原数量不为空的时候,采购订单变更单变更后后的数量不能超过原数量
问题描述:
解决方案:
这个相当简单,直接去保存里面写,单据合法性校验!
如:len(lambda x: x.原采购数量标识 <> null and x.原采购数量标识 < x.采购数量标识, 单据体标识) > 0
如果这个为真,设置立即终止就可以了!
望采纳,在家没有办法bos截图,抱歉!
也可以这样写:
len(x.原采购数量标识 for x in 单据体标识 if x.原采购数量标识 and x.原采购数量标识 < x.采购数量标识 >0
可以参考我写的文章:实体服务规则之Python表达式(2) (kingdee.com)
问题来源:
如何设置当采购订单原数量不为空的时候,采购订单变更单变更后后的数量不能超过原数量 (kingdee.com)
5、 保存校验写上创建日期='2022-09-15'校验不生效,如何处理
问题描述:
保存校验写上创建日期='2022-09-15'校验不生效,如何处理
解决方案:
FCreateDate.ToString('yyyy-MM-dd') = '2022-09-15' 创建日字段后面加个格式;
问题来源:
保存校验写上创建日期='2022-09-15'校验不生效,如何处理 (kingdee.com)
6、 销售订单列表的“获取即时库存”按钮能否在BOS里设置只匹配计划跟踪号跟物料编码
问题描述:
场景是客户销售订单下的辅助属性到生产阶段有修改可能,所以该按钮匹配库存时经常匹配不到,销售订单列表的“获取即时库存”按钮能否在BOS里设置只匹配计划跟踪号跟物料编码
解决方案:
按照截图所示,去掉对应的匹配字段就可以了。获取的库存是根据匹配维度组合的合计库存数。
问题来源:
销售订单列表的“获取即时库存”按钮能否在BOS里设置只匹配计划跟踪号跟物料编码 (kingdee.com)
7、 销售订单的单据日期默认为当天,可否设置当天下午4点之后创建的销售订单,单据日期自动设置为明天
问题描述:
在BOS设计器里公式应该怎么写?
解决方案:
https://vip.kingdee.com/article/287962818798461440?productLineId=1
以前有人提过类似的,参考这个试试
问题来源:
销售订单的单据日期默认为当天,可否设置当天下午4点之后创建的销售订单,单据日期自动设置为明天 (kingdee.com)
8、 表单内码如何获取?webapi请求格式如何理解?
问题描述:
如图,下方代码示例部分如何对应到上方的请求参数说明,比方说fromid之后应该是data的参数,为什么代码示例里直接跳过就到了createorgid,还有createorgid之后的数值“0”是代表什么呢?还有number之后的冒号,最重要的是表单内码怎么知道的呢?数据库查询吗?
解决方案:
CreateOrgId 冒号后面的0:创建者组织内码(非必录),0的话代表不进行筛选,意思面向所有组织,单据编码或者内码传一个就可以了,不是必须得内码!
创建者组织内码和编码一起查:
问题来源:
表单内码如何获取?webapi请求格式如何理解? (kingdee.com)
9、 服务器插件 获取报表标识
问题描述:
如图,单据插件中调用 this.View.BillBusinessInfo.GetForm().Id 获取单据标识,简单账表的服务器插件中如何实现相同功能,获取报表标识。
解决方案:
报表服务插件是获取不到View的。用:this.BusinessInfo.GetForm().Id
问题来源:
服务器插件 获取报表标识 (kingdee.com)
10、 直接sql账表如何设置多个关键字
问题描述:
直接sql账表如何设置多个关键字,在不写存储过程的情况下如何实现,写存储过程又如何实现,另外多个关键字是 并且 的筛选关系还是或者的筛选关系,还是说这个关系可以自定义,另外为啥勾选可以多选,关键多勾选多个后确认返回无数据,麻烦大神系统讲解一下。下面是我的简单sqlselect c.fname '销售组织' ,b.fname '客户',a.fdate '客户下单日期',d.bettime '客户上次下单距今天数'from T_SAL_ORDER a left join T_BD_CUSTOMER_L b on a.FCUSTID = b.FCUSTIDleft join T_ORG_ORGANIZATIONS_L c on a.FSALEORGID = c.Forgid and c.FLOCALEID =2052left join (select FID,datediff(day,a.fdate,getdate())as bettime from T_SAL_ORDER a ) d on a.fid = d.fidwhere b.FNAME like '%#fname#%'
解决方案:
关键字就是sql 变量,看下这两个帖子
https://vip.kingdee.com/article/70257419061640704?productLineId=1
储存过程直接sql 案例
https://vip.kingdee.com/article/70269544173883136?productLineId=1
问题来源:
直接sql账表如何设置多个关键字(菜鸟提问版) (kingdee.com)
11、 把A账套某单据的xml直接覆盖给B账套,导致B账套打不开该单据,也删不掉扩展
问题描述:
A账套对某单据做了较多拓展配置,不想打包部署,就偷懒直接复制xml脚本,然后粘贴覆盖了B账套的同单据,现在B账套该单据无法打开,扩展也无法删除,怎么办呢?
解决方案:
这个问题我之前也遇到过,1、直接复制xml后,忘记将单据唯一标识变更与复制单据的唯一码一致,建议后续在复制XML时先修改单据的唯一码,再复制xml,2、对问题单据修改xml中的单据ID即可解决
编辑于 2021年11月18日 09:50:26
问题来源:
把A账套某单据的xml直接覆盖给B账套,导致B账套打不开该单据,也删不掉扩展 (kingdee.com)
12、 使用WEBAPI保存采购订单,报错“请先选择采购组织”
问题描述:
报错信息:
{"Result":{"ResponseStatus":{"ErrorCode":500,"IsSuccess":false,"Errors":[{"FieldName":null,"Message":"请先选择采购组织","DIndex":0}],"SuccessEntitys":[],"SuccessMessages":[],"MsgCode":0}}}
FPurchaseOrgId采购组织字段信息用了组织代码和组织内码都试过了都报相同的错,求解
解决方案:
组织的业务职能有勾选采购职能吗?
问题来源:
使用WEBAPI保存采购订单,报错“请先选择采购组织” (kingdee.com)
13、 python插件查询sql遍历结果集
问题描述:
python插件查询sql遍历结果集
解决方案:
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.Contracts')
clr.AddReference('Kingdee.BOS')
clr.AddReference('System.Data')
clr.AddReference('System')
from System import *
from System.Data import *
from System.Text import *
from System.Collections import *
from System.Collections.Generic import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.Orm.Metadata.DataEntity import *
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn import *
from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.List.PlugIn import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
def BarItemClick(e):
#第三步:添加业务逻辑代码
if e.BarItemKey=="tbtesttest":
billObj = this.View.Model.DataObject;
billno=billObj["F_ora_Date"];
orgobj=billObj["F_ora_OrgId"];
yzphobj=billObj["f_ora_yzph"];
orgid=("{0}").format(orgobj["id"]);
yzphid=("{0}").format(yzphobj["id"]);
sql=("""/*dialect*/ select u3.FCATEGORYID f_ora_wllb,t2.fname F_ora_wlfz ,u4.Fnumber F_ora_yzpch,sum(u2.F_ORA_AMOUNT) as fje
from T_SP_PICKMTRL as u1
left join T_SP_PICKMTRLDATA as u2 on u1.fid=u2.fid -----------简单生产领料-------------
left join T_BD_MATERIALBASE as u3 on u3.FMATERIALID=u2.FMATERIALID
left join ora_t_FARMERSID as u4 on u4.fid=u1.F_ORA_BASE
left join T_BD_MATERIAL as u5 on u5.FMATERIALID=u3.FMATERIALID
left join T_BD_MATERIALGROUP_l as t2 on t2.fid=u5.FMATERIALGROUP
left join T_BD_MATERIALCATEGORY as t3 on t3.FCATEGORYID=u3.FCATEGORYID
left join ora_t_Cust100032 as t4 on t4.F_ora_OrgId=u1.FPRDORGID and t4.F_ora_yzph=u1.F_ORA_BASE
where u1.FPRDORGID={0} and u1.F_ORA_BASE={1} and u1.fdate<'{2}'
group by u3.FCATEGORYID,u1.FPRDORGID,t2.fname,u4.Fnumber
""").format(orgid,yzphid,billno)
dy=DBUtils.ExecuteDynamicObject(this.Context, sql)#获取查询数据
if dy is not None and len(dy) > 0 :
docEntry =this.View.Model.DataObject["ora_Cust_Entry100024"];
for row in dy:
docEntryRow=DynamicObject(docEntry.DynamicCollectionItemPropertyType)
docEntryRow["F_ora_llje"] = row["fje"];
docEntryRow["F_ora_wlfz"] = row["F_ora_wlfz"]
#其他字段赋值
docEntry.Add(docEntryRow)
this.View.UpdateView("F_ora_Entity")#更新目标单据体
问题来源:
python插件查询sql遍历结果集 (kingdee.com)
14、 如何算出两个日期之间的天数并在此基础上加上2天呢?
问题描述:
搜索社区是有相关帖子的但是现实审核中就没法查看了,,,就是申请日期为23日,到货日期为30日,按照=(到货日期-申请日期).Days这个公式算出来是6天嘛,但是客户的需要是要包括上申请当天和到货当天的,然后我摸索这修改公式,改一次换一个报错,改一次换一个报错,次次不一样……次次都是新花样……求指教!盼大佬们回复!
解决方案:
【第6期】
1、 Excel模板打印如何加入当前打印人以及打印时间
问题描述:
套打报表打印人和打印时间好加,Excel模板打印在怎么加入打印人以及打印时间
解决方案:
2、 枚举类型如何编写设置它的默认值
问题描述:
解决方案:
3、 DynamicObjectCollection 插件中更新后,前面界面没有显示,需要重新打开后,才能正常显示
问题描述:
foreach (DynamicObject item in entryColl)
{
item["ICMOOrgId_Id"] = saleOrg["Id"];
item["SupplyOrgId_Id"] = 0;
}
this.View.UpdateView("FSaleOrderEntry");
前面的界面数据都不显示
解决方案:
4、 Python插件如何实现按指定【编码规则】生成单据编号?
问题描述:
想参考这个【https://vip.kingdee.com/article/216229928683802880?productLineId=1&isKnowledge=2】帖子的方法,改成Python脚本实现,但是“ var billNos = BusinessDataServiceHelper.GetBillNoByField(this.Context, this.View.BillBusinessInfo, new[] { this.Model.DataObject }, true, ruleId, field, null);”这个改写的时候,new[] { this.Model.DataObject }这个不知道怎么改。改成[this.Model.DataObject]这样会报错。要怎么改这个呢?
解决方案:
5、 python 插件 中 使用ViewService Load单据数据时报错,是否需要引入什么组件和对象类型
问题描述:
请问怎样使ViewService Load单据正确,是否需要在插件前部clr.AddReference 区 和 from * import * 区 加载和引入什么组件和实体对象
动态表单代码如下:
def AfterCreateNewData(e):
global CXSDD_List;
#将父页面获取到的参数逐个赋值到动态表单的字段上
arrObjsID = CXSDD_List.Split(',');
# 下面的三行代码在 定义viewService时报错,
materialMetadata = MetaDataServiceHelper.Load(this.View.Context, "PQZP_Cust_SeOrder");
viewService = ViewService();
#viewService = ServiceFactory.GetViewService(this.Context);
objs0 = viewService.Load(this.Context, arrObjsID , materialMetadata.BusinessInfo.GetDynamicObjectType());
请问怎样使其正确,是否需要在插件前部clr.AddReference 区 和 from * import * 区 加载和引入什么组件和实体对象
解决方案:
6、 工作流里面的调用操作怎么添加?
问题描述:
解决方案:
流程模板配置
1、针对流程模板所选的入口单据,配置该入口单据的流程模板可以使用的操作;
2、流程节点:【流程节点】处添加的操作,可以作为流程节点审批项表单操作;
3、审核对象:【审核对象】处添加的操作,可以作为流程审核对象的操作;
4、附件对象:【附件对象】处添加的操作,作为流程附件的操作;
问题来源:
请问工作流里面的调用操作怎么添加? (kingdee.com)
7、 如何给单据头字段标题(内容)加颜色
问题描述:
新添加一个字段,要如何给它加颜色呢,单据头
解决方案:
#引入clr运行库
# -*- coding: utf-8 -*-
import clr
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
def AfterBindData(e):
#设置单据头字段前景色
this.View.GetControl("FBillTypeID").SetCustomPropertyValue("ForeColor", "#FF3300");
问题来源:
如何给单据头字段标题(内容)加颜色 (kingdee.com)
8、 修改发货通知单上发货内容的编辑长度后报错
问题描述:
解决方案:
BOS打开发货通知单,点击上方菜单的“编辑”-“数据结构变更”,弹出窗口中,下方新增行,就可以选择到字段编辑长度与数据库长度不一致的字段,然后在“变更长度”位置输入需要调整后的数据库长度(建议和字段编辑长度一样),最后点击“导出脚本”:
导出后,保存脚本并拷贝到服务器的数据库里面执行即可:
如果版本过低,菜单里面没有这个功能,也可以直接执行如下语句(下面语句长度是255,可以根据需要设置的长度来设置):
EXEC p_AlterColumn 'T_SAL_DELIVERYNOTICE', 'F_UFAE fhnr', 'NVARCHAR(255)', 'NULL', '0100', '';
问题来源:
修改发货通知单上发货内容的编辑长度后报错 (kingdee.com)
9、 打印单据的时候能不能不弹出选择打印机的弹框
问题描述:
解决方案:
10、 自定义获取数据按钮,点击按钮将某个基础资料的所有内容获取插入到表体对应字段如何实现
问题描述:
自定义获取数据按钮,点击按钮将某个基础资料的所有内容获取插入到表体对应字段如何实现
解决方案:
11、 辅助资料字段,如何前台默认显示编码呢 ? 没地方可以配置,默认是显示的名称,是否能二开呢?
问题描述:
解决方案:
12、 为什么物料仓库页签的序列号管理默认是不可见?设置了可见性前台也看不见?
问题描述:
为什么物料仓库页签的序列号管理默认是不可见?设置了可见性前台也看不见?
解决方案:
13、 之前bos里应付单上增加了一个字段,现在想知道这个具体是什么时候创建的,如何知道
问题描述:
之前bos里应付单上增加了一个字段,现在想知道这个具体是什么时候创建的,如何知道
解决方案:
14、 单据转换找不到新增字段
问题描述:
销售订单扩展在基本信息新增一个字段想携带到下游发货通知单上,单据转换找不到对应字段。请问是什么原因,该如何解决
解决方案:
15、 请问审批流,谁提交的,他的项目经理审核是这样设置工作流吗
问题描述:
解决方案:
您这样设置的话是不对的。您的项目经理定义是什么呢?是某个部门的负责人吗?或者您的岗位有设置了汇报关系这些吗?
16、 物料新增根据物料分组判断启用批号
问题描述:
设置根据物料分组启用批号,但新增时先选择物料分组在新增物料时不会启用批号,(勾选了新增还是不会启用批号),这个怎么设置,或者通过其他必填字段进行值更新物料分组。
解决方案:
比较省事的办法是设置在“物料名称”的值更新里面,因为新增物料肯定会修改物料名称的,这样必然会触发。或者可以做个实体服务规则,前提条件为物料分组=***。
17、 星空版本8.0.0.202202,lambda获取采购订单的单据体物料分组的名称时报错,希望大佬指导一下
问题描述:
取值的判断条件为当有任何物料分组名称为'办公辅料'时成立
len(filter(lambda x : (x.FMaterialId.FMaterialGroup.ToString <> '办公辅料'), FPOOrderEntry)) > 0
-----------结果--------------
实体服务规则[当物料类型不为办公辅料时锁定价格录入]发生异常:
异常信息如下:[条件表达式结果转换失败:len(filter(lambda x : (x.FMaterialId.FMaterialGroup.ToString <> '办公辅料'), FPOOrderEntry)) > 0]前往金蝶云社区获取更多帮助 错误ID:8327F173FBAC3CFD7BDC7E4540ED1178
[{"operation":"PUR_PurchaseOrder.LoadData"}]
发生时间: 2022-08-27 14:09:06
错误编号: EntityRuleExecuteError
错误信息: 实体服务规则[当物料类型不为办公辅料时锁定价格录入]发生异常:
异常信息如下:[条件表达式结果转换失败:len(filter(lambda x : (x.FMaterialId.FMaterialGroup.ToString <> '办公辅料'), FPOOrderEntry)) > 0]
解决方案:
不能这样toString。
试试这样:
len(filter(lambda x : (x.FMaterialId.FMaterialGroup.FName<> '办公辅料'), FPOOrderEntry)) > 0
编辑于 2022年08月29日 11:24:53
异常信息如下:[条件表达式结果转换失败:len(filter(lambda x : (x.FMaterialId.FMaterialGroup.FName <> '办公辅料'), FPOOrderEntry)) > 0]前往金蝶云社区获取更多帮助
大佬你好,还是报错
追答
物料来类型 是单据体字段,物料也是单据体字段,执行单据体实体服务规则的时候,实体数据包是明细数据行,不能执行这种循环处理的Lambda表达式
18、 不进行二开的情况下,启用审批流,在系统或者企业微信审核单据时,能否查看到其关联的单据
问题描述:
比如审核付款申请单的时候,能有一个地方可以查看到这张付款申请单对应的采购订单,以及审批流对接的企业微信审批时也能否看到关联的其他单据
解决方案:
进入“业务审批显示设置”,找到“付款申请单”,双击进入,在“关联查询”页签,勾选“启用上查”,即可看到关联的采购订单:
19、 怎么终止一个审批流
问题描述:
怎么终止一个审批流
解决方案:
3人赞同了该回答
流程管理中心,可以终止
需要有管理中心权限
20、 表单插件,读写数据库?
问题描述:
根据这个帖子中提到的功能https://vip.kingdee.com/article/241144379807768576?productLineId=1&isKnowledge=2在单据中使用匹配库存服务,当单据体有多行时,是只有选中行会根据库存进行拆行还是单据体总所有原有单据行都会执行这个拆行动作?
解决方案:
所有行都会,不只是选中行。会自动匹配仓库、仓位、批号等维度并返回,如果同一物料有多行,则按照顺序先分配给前面的行,再分配给后面的行,直至库存分配完毕。
【第5期】
1、 提交的审批流程,某一个审批节点卡住了(审批人休假),如何跳过这个节点,或者换人审批
问题描述:
系统目前是发起人提交单就直接流到了销售经理(例如:张三 休假),如果重新提单可以指定销售经理李四吗?如果有方案能绕过销售经理最好
解决方案:
2、 二开报表分配权限这个地方是空的怎么添加操作
问题描述:
解决方案:
用Administrator账户登录,创建一下对应单据的权限对象,
然后BOS中选上
问题来源:
二开报表分配权限这个地方是空的怎么添加操作啊?跪求大佬解答 (kingdee.com)
3、 如何实现单据暂存时,形成单据编码?V7.3
问题描述:
咨询:
单据有编码规则。
系统默认的都是单据保存时时,形成单据编码。
问:如何实现,单据点击暂存时,可以形成单据编码?
解决方案:
4、 发布 正式环境 失败
问题描述:
本地构建子系统,发布正式环境后正式环境相关表已创好,但是svn无内容,bos设计器,系统中的单据类型等等看不到, 子系统创建者账号无正式环境bos账号,是在本地库中写好 ,再由有正式账号的账号操作编译上传的,一开始以为是这个问题所以给账号授权后二次发布还是同样问题
解决方案:
5、销售出库单合并套打,总金额无法合计
问题描述:
销售出库单金额合计栏用财务信息的价税合计数据源之后,合并套打又预览不了,怎么处理
解决方案:
6、 根据基础资料字段动态过滤数据
问题描述:
根据基础资料动态过滤基础资料列表,不写插件通过BOS设计器是否能够实现
解决方案:
可以的 在bos里有过滤
-- 使用基础资料属性过滤
FMaterialClass.FNumber = 'GetValue(FPolicyMaterialId.F_PAEZ_SecCode)'
-- 使用基础资料过滤
FFirstLevel = 'GetValue(FFirstLevel)'
问题来源:
根据基础资料字段动态过滤数据 (kingdee.com)
7、 新增的基础资料 审核报错实体类型FA_ASSETTYPE中不存在名为AssetCodeRuleID_Id的属性
问题描述:
解决方案:
8、 审批流设置了消息节点,但是流程找不到消息节点参与人
问题描述:
采购申请单上,审批流设置了消息节点,参与人设置了“部门”-“明细信息-采购部门”-全部员工;但是流程开始后找不到参与人,无法通知。
解决方案:
9、 销售合同单据增加附件列表后,如何在销售合同列表可以显示附件的说明字段?或过滤里按附件说明过滤?V7.3
问题描述:
咨询: 我在BOS里,销售合同表头增加一个页签,增加一个 附件列表想:合同列表可以显示附件的说明字段 或按附件的说明字段过滤。如何实现?
解决方案:
10、 物料附件能添加多张图片吗?在哪里设置?
问题描述:
物料需要添加多张附件,多张图片,但现在只能上传一张
解决方案:
11、 星空工作流可否设置满足一个条件就一级审核,满足一个条件4级审核,客户要求的,采购申请单
问题描述:
星空工作流可否设置满足一个条件就一级审核,满足一个条件4级审核,客户要求的,采购申请单
解决方案:
12、 如何下推单据并且触发单据的实体服务规则或者值更新
问题描述:
有没有简单实用的办法,不用写插件
解决方案:
13、 客户的合同总价是变化的,客户要加修改人,每次单据体可能不同的人新增行,写上变动价格,但是每次都默认是最后一个修改人
问题描述:
解决方案:
14、 组合替代,能否默认 整批替代?
问题描述:
整批替代:满足同一笔需求时,要么使用主物料,要么使用替代物料。
针对一笔需求,先考虑主物料能否单独满足需求,主物料不足时,考虑替代料能不能单独满足需求,
做BOM时候维护的局部替代,没有保存按钮,只有返回,是动态表单吗,是否可以做实体服务规则校验?
解决方案:
组合替代下默认用整批替代这个换个思路想一下、组合替代主物料的行数一定是大于等于2的所以可以用主物料的行数做个判断
如:在主物料和单据头上个添加一个数值类型的字段、主物料上数值默认为1、设置上级汇总至单据头上添加的数值字段。 这样主物料选择多行时、单据头上的汇总字段会大于等于2.
然后在单据头上做一个实体服务规则、汇总字段大于等于2时、替代策略默认等于整批替代即可。
问题来源:
https://vip.kingdee.com/questions/335466965944669440/answers/335843676469999360
15、 二开的单据是需要手工配置业务操作互斥吗?手工配置很容易出错?请问老师们有什么更好的办法吗?
问题描述:
二开的单据是需要手工配置业务操作互斥吗?手工配置很容易出错?请问老师们有什么更好的办法吗?
解决方案:
16、协同 点击 同步业务对象 到数据中心 时 提示当前业务对象版本高于数据中心版本
问题描述:
解决方案:
17、 已过期的流程单据,在流程管理中心的【跳到下一节点】怎么批量处理
问题描述:
能不能做一个批量处理跳到下一个节点的按钮。之前的单据二次审核没有处理,遗留太多【1W条数据】。工单结案,当事人已经不能点审核通过了,只能在后台手工点【跳到下一节点】完成流程;我找不到流程管理中心在BOS里面界面,不知道它的表单叫什么
解决方案:
18、 在即时库存明细里,增加入库天数的显示(库龄)
问题描述:
解决方案:
(@currentshortdate - 入库日期).Days
问题来源:
我想在即时库存明细里,增加入库天数的显示(库龄) (kingdee.com)
19、 消息节点收到的消息能否进行单据操作
问题描述:
消息节点收到的消息能否进行单据操作实例:采购申请工作流增加消息节点,用户收到消息后可以查看相关单据,但是无法进行单据下推等操作
解决方案:
一般情况下,是审核完毕后,才能进行单据相关 下推等操作;
如果需要在流程中,手工点下推:
1、流程配置中心,添加按钮,勾选,保存;
2、因为标准产品是 审核完毕后,才可以下推,流程中,审核放在中间节点,最后节点不要放审核;
问题来源:
写文章 (kingdee.com)
20、 怎么添加一个操作时间
问题描述:
比如我对一个生产订单进行了反执行的操作,怎么添加一个时间字段关联到我操作的时间,方便以后查询
解决方案:
生产订单的行执行和反执行,本质上是对明细字段【业务状态】进行不同状态的设置。
状态类型的字段可以绑定操作人和操作日期:记录谁在什么时间将状态值变成了这个状态。
如果勾选后面的【清空操作字段】:表示状态值变成该状态时,清空绑定的操作人和操作日期。
问题来源:
怎么添加一个操作时间 (kingdee.com)
21、 工作流消息提醒频率能否设置?比如设置2分钟提醒一次
问题描述:
【产品版本:云星空企业版8.0】【问题描述】请问工作流消息提醒频率能否设置?比如设置2分钟提醒一次
解决方案:
【第4期】
1、 怎么设置审批删除物料的时候通知指定人员
问题描述:
怎么设置审批删除物料的时候通知指定人员,或者自己也行,下面再加一个通知
解决方案:
2、 如何获取其他单据的BusinessInfo
问题描述:
设置的套打模板,第一页没啥问题,打到第二页的时候没有空出首行标题行,打印内容直接跟标题行重叠了,请问可以怎么处理呢
解决方案:
3、 如何设置套打自动行高
问题描述:
标准版有没有设置自动行高,如何设置,求截图
解决方案:
4、 如何获取其他单据的BusinessInfo
问题描述:
我想根据付款单的转换关系表LK 找到上游单据的主表和明细表,都涉及哪些表和字段
解决方案:
FSBillId:上游单据ID
FSID:关联的上游单据明细ID
FSTABLENAME:关联上游单据的实体表,也就是说FSID是FSTABLENAME这个表的主键。
楼主的问题应该是:那么FSBillId是哪个表的主键呢?
1.根据LK表中的FRuleID找到源单的FormId
select b.FSOURCEFORMID
from T_STK_INSTOCKENTRY_LK a
inner JOin T_META_CONVERTRULE b on a.FRULEID= b.FID
2.通过代码根据FormID,从元数据中获取单据主表,参考代码如下:
meta = MetaDataServiceHelper.Load(this.Context, formID);
tb=meta.BusinessInfo.GetEntity("FBillHead").TableName;
通常,直接通过SQL好像不能查出单据主表,这个是在元数据XML中的...
结合老师@为了理想而窒息 的回答,可通过SQL解析XML的函数来处理,如非必要,还是建议用代码取元数据信息。
我尝试写了一个SQL供参考:
select b.FSOURCEFORMID,
Replace(Replace(Cast(c.FKERNELXML.query('//HeadEntity//TableName') AS NVarchar(100)),'<TableName>',''),'</TableName>','') 单据主表
from T_STK_INSTOCKENTRY_LK a
inner JOin T_META_CONVERTRULE b on a.FRULEID= b.FID
inner join T_META_OBJECTTYPE c on c.FID=b.FSOURCEFORMID
问题来源:
如何根据单据的转换关系表LK找到上游单据的主表和明细表? (kingdee.com)
5、下载附件发生错误
问题描述:
文件下载发生错误,错误提示信息:Amazon.S3.AmazonS3Exception: Access Denied
解决方案:
一般来说,部分电脑出现403是因为服务器拒绝了你的地址请求,很有可能是你根本就没权限访问网站。一般都是本地网络环境配置有问题导致。
【解决方法】
1、检查IE浏览器的代理设置,和正常的电脑比对一下。
打开系统自带的IE浏览器,点击右上角的【齿轮】图标--【Internet选项】-【连接】-【局域网(LAN)设置,看看里面是否勾选了代理服务器,如果有,去掉勾选。
2、如果上面没有解决,可以点击开始--运行里面输入cmd回车后进入命令窗口输入语句ipconfig /flushdns后按回车即可(清除本地DNS缓存内容)。或者在客户端电脑上做下hosts解析,添加服务器的IP和计算名或者域名的绑定,如果做hosts解析请参考:
客户端上,进入C:\WINDOWS\system32\drivers\etc,用记事本打开hosts文件,可以看到其中有以下语句:【127.0.0.1 localhost】在其下放空一行输入:IP地址(中间用Tab键)计算机名(服务器)
3、如果上述步骤不能解决,可以尝试完全卸载重装下客户端。
4、如果依然不行,尝试变通处理,使用 https://实际金蝶云地址/K3cloud/html5浏览器登录。
问题来源:
下载附件报错403 (kingdee.com)
6、 为啥选择物料按个回车就这样了
问题描述:
解决方案:
取消物料编码,关键物料
自定义的单据如何实现输入物料编码以后自动换行功能
自定义单据在输入物料编码以后自动新增一行,可以在单据中的【明细信息】页签设置【关键字段】为【物料编码】
用administrator登录BOS设计器;
以下以销售订单为准,视图依次点击【供应链】-【销售管理】,右侧扩展【销售订单】(若已扩展则双击打开已扩展的单据);
单击左上角【编辑】-【批量编辑字段属性】进入下图界面;
单击【明细信息】,右侧找到【关键字段】,选择值为【物料编码】关闭编辑界面保存单据即可。
【注意】
如果不需要根据物料编码字段自动换行而是根据其他字段的话,都可以在此地方设置,不需要自动换行功能就设置为空值即可
问题来源:
为啥选择物料按个回车就这样了 (kingdee.com)
7、 直接SQL报表双击打开动态表时,不能打开对应的动态表
问题描述:
直接SQL报表双击打开动态表时,不能打开对应的动态表
解决方案:
先改一下SQL报表的表单插件基类,报表的插件基类不是AbstractDynamicFormPlugIn,
改成:AbstractSysReportPlugIn,这也是AbstractDynamicFormPlugIn的一个派生类。
改完之后再试试,如果还是有问题的话:
方便打断点的话,跟一下代码,看看代码有没有执行到弹出动态表单这一步。
用代码加载动态表单的数据,建议写到AfterCreateNewData事件里面。
问题来源:
直接SQL报表双击打开动态表时,不能打开对应的动态表 (kingdee.com)
8、 插件如何实现生成待办任务
问题描述:
使用插件该如何生成首页的待办任务
解决方案:
9、 如何实现复制出一张凭证,复制出来的凭证日期自动取当月最后一天呢?
问题描述:
比如有一张凭证是5月2日的,现在是六月份,希望实现的效果是复制这张5月2日的凭证,复制出来的凭证日期为6月30日(每个月的最后一天)
解决方案:
10、 客户是甲供材,都有对方的物料名,请问报表怎样显示对方物料名,是不是输入在外购入库单上
问题描述:
客户是甲供材,都有对方的物料名,请问报表怎样显示对方物料名,是不是输入在外购入库单上
解决方案:
11、 设置值更新后测试表达式成功,但是实际去做单的时候没效果
问题描述:
在值更新事件中设置了 金额=单价*数量 ,表达式测试的时候输入完单价和数量,金额不会自动跳出,要点击【测试】才能跳出,而且在金蝶云里输入完单价和数量也不会跳出
解决方案:
12、应付单税率和含税单价必录怎么设置,bos看不到必录勾选
问题描述:
应付单税率和含税单价必录怎么设置,bos看不到必录勾选
解决方案:
13、在流程设计中心的某个流程中将单据摘要设置为某个单据的某个金额字段
问题描述:
在流程设计中心的某个流程中将单据摘要设置为某个单据的某个金额字段。现在想问一下当我提交的单据被打回时,我修改了单据金额,单子的金额都变为我修改后的。可是待处理任务中的单据摘要的金额还是我第一次填写的金额,想问一下怎么让单据摘要中的金额跟着变化
解决方案:
14、 部分字段设置必录不生效,是何原因
问题描述:
我在凭证摊销新增整数字段,设置必录。保存以后,再打开必录的勾就小时了。在操作列表增加保存检测该字段的必录性,也不起作用
解决方案:
15、 新建了一个简单账表,如何双击某一行,然后联查单据
问题描述:
新建了一个简单账表,如何双击某一行,然后联查单据
解决方案:
16、 客户要把2年数据导入星空,我看星空格式很复杂,采购入库单,按照引入模板引出,列数100行,有没有简单的办法吗
问题描述:
客户要把2年数据导入星空,我看星空格式很复杂,采购入库单,按照引入模板引出,列数100行,有没有简单的办法吗
解决方案:
17、 单据中,系统预置的日期字段,基本为长时间,怎么把它们改为短日期的格式显示?
问题描述:
单据中,系统预置的日期字段,基本为长时间,怎么把它们改为短日期的格式显示?
解决方案:
18、 自定义接口怎么记录日志
问题描述:
自定义接口怎么记录日志
解决方案:
日志可以记录再服务器文件中:https://vip.kingdee.com/article/131461420491214848?productLineId=1&isKnowledge=2
可以在BOS中绘制日志记录单据
开启日志库,在BOS中绘制日志单据,例如系统的WEBAPI日志一样。
https://vip.kingdee.com/article/294829557080136704?productLineId=1
编辑于 2022年06月30日 14:13:10
问题来源:
自定义接口怎么记录日志 (kingdee.com)
19、 单个元素格如何凸显颜色
问题描述:
想实现生产工序进度表中根据不同条件设置不同颜色
解决方案:
20、 单据插件值更新事件 获取单据体分录行号
问题描述:
在单据体分录中修改字段值,获取被修改的分录行row 行号,或者说有无方法可以直接让单据体 值更新作用于更新值的分录行
解决方案:
【第3期】
1、 如何获取其他单据的BusinessInfo
问题描述:
new DynamicObject(businessInfo.GetEntity(PKField).DynamicObjectType)通过上述代码,想在一个表单插件里面给另外一个业务对象的单据体新增行,但是我不清楚该如何获取另外一个对象的Buinessinfo
解决方案:
两种方式:
根据单据ID或内码获取到数据包(写法我忘了,但是有方法,论坛找找,找到了可以分享分享),然后调用新增行的方法,构建数据包保存就可以。
直接调用单据修改API。
问题来源:
如何获取其他单据的BusinessInfo (kingdee.com)
2、ERP 云星空BOSS直接账表关键字有几种类型,查询条件可以设置成多条件模糊查询么,要怎么才能完善直接账表的查询条件
问题描述:
假如想要实现单据号模糊或者是客户名称模糊查询,且日期条件还能并列,要怎么实现多条件单条件都能查询。
解决方案:
3、销售订单MRP运算投放如何把工单的备注弄到生产订单上
问题描述:
解决方案:
4、 选择基础资料时,希望在bos配置去掉多余的空白界面,不想用户手工去点
问题描述:
解决方案:
5、7.7做的bos和报表怎样发布到8.0的星空标准版上面
问题描述:
7.7做的bos和报表怎样发布到8.0的星空标准版上面
解决方案:
6、如何通过值更新事件设置固定的单据日期
问题描述:
由于某些原因,需要在一个字段上设置上一个值更新事件,想要达到的效果是:填写这个字段的信息就会触发值更新,使单据业务日期取固定值“2022-05-09”,但是值更新的公式怎样设置呢?
解决方案:
7、套打数量合计,按照包装物料数量不合计
问题描述:
现有一个这样的需求,客户要求 套打设计中,如果有包装物料的单据,不需要将包装物料的数量,打印到合计中,只需要计算其他非包装物料的合计总数。
解决方案:
8、AfterDoOperation这个方法是不是无法在列表里触发,在表单里是可以触发的
问题描述:
写了一个AfterDoOperation审核成功后推送OA消息的方法,在表单里点击审核是可以触发的,但是在列表里,选中这个表单是不会触发的。我想不管在列表审核 还是在表单审核都会触发这个方法该怎么解决,或者有没有什么别的好方法。
解决方案:
用操作服务插件来做,插件注册在审核操作下面,不管是列表审核还是单据界面审核,调用的都是同一个操作,一个插件就解决问题,不用单据做一个插件,列表再做一个插件。
问题来源:
AfterDoOperation这个方法是不是无法在列表里触发,在表单里是可以触发的 (kingdee.com)
9、如何设置按照提交人的部门来设置由谁审批
问题描述:
解决方案:
【操作步骤】
1. 登录K/3Cloud后,在主控台进入【工作流】→【流程设计中心】;
2. 在流程设计中心界面点击【新增审批流】即弹出流程新增界面,在“入口单据”中选择需要启用审批流的单据,选择流程的模板(选择后也可以修改),点击【确定】,即进入流程设计器界面;(注意:① 需要登录网页版K/3Cloud才可以打开流程设计器,若用客户端登录则不能打开;② 新增界面如果选择“复制指定流程图”即可复制已启用流程,复制后仍需发布)
3. 在流程设计器中分别双击打开“审批流点”和“终审节点”,在参与人页签设置该节点的审批人,点击【保存】。参与人可以设置“用户”“角色”“岗位”“部门”等,例如:选择角色,则会解析出具有该角色的用户;如果选择岗位,则会解析出当前组织下任该岗位的员工,然后根据员工解析出对应的用户,解析路径为:岗位→员工任岗→员工→用户;
4. 设置好每个节点参与人后(“开始节点”和“结束节点”除外),先点击左上角保存按钮,然后点击测试按钮,即可针对设计的流程先进行测试;(一般流程发布前都可以先进行测试,如果测试没问题就可以发布)
5. 测试没有问题时,就可以点击发布按钮进行发布,如果该单据是第一次启用审批流,则发布时需要勾选“生成流程模板”点击【下一步】,填写该流程适用的组织信息,以及发起人权限等信息,点击【下一步】再点击【完成】即可。(注意:第一次新增审批流后,一定要发布并生成流程模板,这样单据提交时才能启动审批流)
【说明】
工作流新增的方式与审批流类似。
工作流相关帖子
如何设置按照提交人的部门来设置由谁审批 (kingdee.com)
10、设置一个校验,当业务日期等于当月第一天的时候,保存单据提示,请问这个当月第一天公式是怎样的呢
问题描述:
设置一个校验,当业务日期等于当月第一天的时候,保存单据提示,请问这个当月第一天公式是怎样的呢
解决方案:
可以在保存操作里设置合法性检查
FDate =@currentshortdate.AddDays((1-float(@currentshortdate.ToString("dd"))))
问题来源:
想设置一个校验,当业务日期等于当月第一天的时候,保存单据提示,请问这个当月第一天公式是怎样的呢 (kingdee.com)
11、设置单据类型为费用应付时,字段必录,但是供应商为某供应商的时候可以不必录
问题描述:
设置单据类型为费用应付时,字段必录,但是供应商为某供应商的时候可以不必录
解决方案:
单据实体服务规则处设置
FBUSINESSTYPE ="FY"AND FSUPPLIERID. FNumber <>' gy001'
问题来源:
设置单据类型为费用应付时,字段必录,但是供应商为某供应商的时候可以不必录 (kingdee.com)
12、寻找实体上FCustMatID对应的属性描述符失败,实体不存在此属性
问题描述:
寻找实体上FCustMatID对应的属性描述符失败,实体不存在此属性。
清了缓存也不行。麻烦哪位大神帮忙看下!
解决方案:
13、多类别基础资料设置显示编码,不显示名称
问题描述:
如何配置多类别基础资料,设置显示编码不显示名称
解决方案:
15、【补丁】执行扩展包失败:服务器未提供有意义的回复;这可能是由协定不匹配、会话过早关闭或内部服务器错误引起的。
问题描述:
Server stack trace:
在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.DeployService.Contract.IWebServerDeployer.BeginInstall(InstallationArg arg)
在 Kingdee.Tools.PackageTool.InstallUtility.InstallAtServer(InstallModel mode, InstallItem installTarget, String batchNum, String uri, IWebServerDeployer svr)
在 Kingdee.Tools.PackageTool.InstallUtility.DoInstall(String pkgFilePath, InstallModel mode, InstallItem installTarget, PkgTopview tv, String& batchNum)
在 Kingdee.Tools.PackageTool.UI.MainWindow.<>c__DisplayClass23.<ImplPkgAtServer>b__1a()
解决方案:
16、如何设置此项需求,即明细有否,单据头为否;明细全是,单据头为是
问题描述:
解决方案:
17、星空8.0单据转换规则提示不能映射多个子单据体
问题描述:
我在受托加工材料入库单添加了一个应收数量,关联受托加工材料收料单的数量,提示不能映射多个子单据体,这个该怎么解决呀
解决方案:
18、套打模板怎么设置可以实现一行明细打印一次,有几行明细就打印几个出来?我设置的标签套打模板
问题描述:
套打模板怎么设置可以实现一行明细打印一次,有几行明细就打印几个出来?我设置的标签套打模板,目前只能打出来明细的第一行的,第二行的打不出来
解决方案:
设置数据表每页固定打印行数为1呢
问题来源:
套打模板怎么设置可以实现一行明细打印一次,有几行明细就打印几个出来?我设置的标签套打模板 (kingdee.com)
19、使用python语言和C#语言开发的区别
问题描述:
C#语言能开发的功能 用 Python语言是不是全部都能实现,有没有C#能做到,而Python做不到的。或者说Python能做到的,C#做不到
解决方案:
两者在星空的运行机制和原理。 如果是C#编译的组件 必须要重启IIS的 ,然而 python是不需要的,它只在运行时的时候生效作用。很多比如构建插件,报表服务插件,操作插件这些,包括许多的后台服务这些python插件目前应该都是做不到的。
python更适用的场景是对标准功能的补充,比如二开一些简单的表单的操作,校验,界面的一些控制等等。
问题来源:
使用python语言和C#语言开发的区别 (kingdee.com)
20、f7,弹出列新增 基础资料,1为啥没有删除按钮,2还有这个列数太少了
问题描述:
f7,弹出列新增 基础资料,1为啥没有删除按钮,2还有这个列数太少了
解决方案:
21、 新做的bos单生成凭证,能取小数吗 还是取金额字段
问题描述:
解决方案:
参考标准产品,收款单,把来源单据,改成自定义单据:
目前看到,金额来源,是可以取 单据头字段的,试下;
问题来源:
新做的bos单生成凭证,能取小数吗 还是取金额字段 (kingdee.com)
22、单据校验规则设置
问题描述:
单据保存校验规则能不能设置: 物料代码左包含01 04 10,可以保存,02 03 05 06 07 08 09,可以保存。但是两个分类如果混在一起就不能保存
解决方案:
len(filter(lambda x: (x.物料标识.FNumber[0:2] in ['01','04','10']),单据体标识)) * len(filter(lambda x: (x.物料标识.FNumber[0:2] in ['02','03','05','06','07','08','09']),单据体标识)) = 0
说明:包含1、4、10的行数*包含2、3、5…的行数=0 代表其中至少一个因子为0,满足保存条件,若>0,代表同时包含2个类别,不允许保存
问题来源:
单据校验规则设置 (kingdee.com)
【第2期】
1、页金蝶云星空,在审批任务处理的界面上如何通过插件取到对应单据的数据包?
问题描述:“首页待办任务”进入“审批任务处理界面”时则无法取到对应单据的数据包。请问这时应该通过什么方式才能取到对应单据的数据包
解决方案:
你先获取到单据的ID和FormID,这个可以从当前界面上获取,或者监听一下父页面传过来的参数,应该有的,不然系统也没办法动态加载单据,可以反编译这个审批任务处理动态表单(AP_ApprovalAssignHandle)的表单插件看看
然后再用BusinessDataServiceHelper.LoadSingle获取单据的数据包!
2、套打设置,按照物料编码变更打印顺序
问题描述:打印的时候按照单据里面现有的物料,将编码进行从大到小的排序打印出来,单据里的顺序不考虑
解决方案:
3、关于开发自动建立仓位的开发逻辑V7.3
问题描述:
咨询:
我们启用了仓位管理
启用了仓位值集
需要实现:
在客户列表勾选某个客户之后,点击某个按钮,
自动建立一个仓位(仓位编码是客户编码,名称是客户名称),
并自动分配给某个特定仓库。
这个过程是直接写数据库?(相互关系不好掌握吧?)
还是有什么简便的写法?最好分享简单的代码
解决方案:
4、信息中心体现出凭证号
问题描述:在字段配置这里加上凭证号以便于在信息中心体现出凭证号,请问下怎么添加?有点着急帮忙看下,谢谢
解决方案:
5、 页面中显示一段html, 打印一段html
问题描述:bos二开中,调用第三方接口,返回了一段html,如何在页面上展示,如何直接打印这段html的内容?
解决方案:
可以找先写到文件中,后缀名为.html,路径要在IIS站点目录下,最好是写在星空本身站点目录下比较方便,然后再用动态表单打开这个html文件的url。
动态表单加载网页参考:https://vip.kingdee.com/article/182254?productLineId=1
问题来源:页面中显示一段html, 打印一段html (kingdee.com)
6、请单据合法性校验里面的【关键字】字段是什么意思?
问题描述:【关键字】有什么作用?
解决方案:
7、打了8.0 3月31号补丁,监控到表T_BOS_MQMessages数据异常
问题描述:
这个表是干什么的,数据行数不是很多,7.7的时候大概占了几个G,升级8.0后监控到一句SQL语句 (@FDATE datetime)DELETE FROM T_BOS_MQMessages WHERE (RECORDDATE < @FDATE) 一直在执行占用大量资源, 导致系统tempdb 数据库内存暴涨至C盘爆满 最后系统瘫痪,希望总部能够重视并给予解决方案 。
解决方案:
你好,T_BOS_MQMessages是一个消息队列的临时数据表。启用业务数据日志监控后。会在此表中写入一些临时数据用于存储中间数据。由于一些异常情况(如网络、程序异常或者消息队列配置等),此表会累计产生一些中间临时数据。21年11月份补丁做了一个定时清理此表数据的计划。题主安装了最新8.0补丁包含了这个部分。当执行清理时,可能是数据量大导致临时数据库占用过多问题(删除过程可能存在锁)。
基于以上的原因及问题,建议题主采用以下方案:
1.由于正常情况下,此表不会有数据,题主情况可以truncate table T_BOS_MQMessages 操作,清理掉此临时 表数据,此操作不会引起锁等功能,此表中的数据是消息队列中间临时数据,删掉不会引起业务数据问题;
2.由于部分异常数据的原因,业务数据日志默认已经不再采用消息队列的方式,因此,T_BOS_MQMessages 表 不会再产生新的数据,就不会再发生此类问题;
问题来源:打了8.0 3月31号补丁,监控到表T_BOS_MQMessages数据异常。 (kingdee.com)
8、同一事业部下采购申请单工作流一级审批人按部门进行区分了,该如何处理?
问题描述:
同一事业部下采购申请单工作流一级审批人按部门进行区分了,该如何处理?是在勾选审批参与人时都把不同部门审批人都选上吗?
可是这样的话,各个部门采购申请单就互相都能看了啊,也就没有区分部门的必要了??
解决方案:
9、通过BOS新建向导复制一个销售订单业务。发布后无法提取到相关业务单据和销售员基础资料
问题描述:
解决方案:
10、想通过webapi对“辅助属性值”进行修改,但是系统报错
问题描述:
{"Result":{"ResponseStatus":{"ErrorCode":500,"IsSuccess":false,"Errors":[{"FieldName":"FMaterialAuxPropertyId","Message":"字段“辅助属性”是必填项","DIndex":0}],"SuccessEntitys":[],"SuccessMessages":[],"MsgCode":0},"Id":"","Number":"","NeedReturnData":[{}]}}。
解决方案:
你填写的资料不完整,之前做过的一个案例,你可以参考补充以下参数,
FMaterialId.FNumber = '11032100010'
AND FAuxPropId = 100137
AND FStockId = 1134688
AND FKeeperTypeId = 'BD_KeeperOrg'
AND FKeeperId.FNumber = '102'
AND FLot.FNumber = '210522'
问题来源:WebAPi 修改辅助属性值 (kingdee.com)
11、同一单据编辑不同页签的值,基础资料字段A能将A的值赋值给基础资料字段B吗?
问题描述:详细需求为在应付单明细页签上增加基础资料字段A,付款计划页签上增加基础资料字段B,两字段绑定的为同一基础资料类型。编辑字段A需要同步赋值给B。如何配置?
解决方案:
12、这么查看工作流中所有节点都有谁审核
问题描述:这么查看工作流中所有节点都有谁审核
解决方案:
13、怎么样循环把Value的值取出来
问题描述:
怎么样循环把Value的值取出来
解决方案:
参考,
var SubEntryEntity = this.View.BusinessInfo.GetEntryEntity("F_QYGN_SubEntity");
var SubEntryRows = this.View.Model.GetEntityDataObject(SubEntryEntity);
int index = this.Model.GetEntryCurrentRowIndex("FEntity");
qty = Convert.ToDecimal(this.Model.GetValue("FQty", index));
materialId = GetBaseDataByKey("FMaterialID", "id", index);
// this.View.ShowMessage("此行的行号是:" + index + " 数量:" + qty + " "+"物料内码 " + materialId + "");
if (SubEntryRows.Count > 0)
{
for (int i = 0; i < SubEntryRows.Count; i++)
{
//发货BOM物料编码
subMaterialId = Convert.ToString(SubEntryRows[i]["F_QYGN_MaterialId_Id"]);
//发货BOM明细应发数量
decimal subQty = Convert.ToDecimal(SubEntryRows[i]["F_QYGN_QTY1"]);
//发货BOM明细单品用量
decimal oneQty = Convert.ToDecimal(SubEntryRows[i]["F_QYGN_OneQty"]);
//发货BOM明物料类型
string subMaterialType = Convert.ToString(SubEntryRows[i]["F_QYGN_MaterialType"]);
//发货BOM子项后的父项编码
string subMasterId = Convert.ToString(SubEntryRows[i]["F_QYGN_MasterID_Id"]);
if (materialId == subMasterId && subMaterialType == "子项")
{
subIndex = i;
decimal sumQty = Math.Round((oneQty * qty), 2);
this.Model.SetValue("F_QYGN_QTY1", sumQty, i);
}
else if (materialId == subMaterialId && subMaterialType == "物料父项")
{
this.Model.SetValue("F_QYGN_QTY1", qty, i);
}
}
}
问题来源:怎么样循环把Value的值取出来 (kingdee.com)
14、 BOS中修改单据名称了,发布界面修改了,但是打开单据后的单据名称没有变过来?
问题描述:BOS中修改单据名称了,重新发布了一个新的菜单是可以,但是打开单据后的单据名称没有变过来?
解决方案:
单据维护界面的标题,只能显示单据的名称,标题不会根据单据类型对应的视图不同跟着变化的。
如果想要实现:标题跟着单据类型变化,可以写一个简单的表单插件实现。这种场景可以用Python脚本更方便。
参考代码如下:
#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DependencyRules import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.DynamicForm import *
def AfterBindData(e):
billObj = this.Model.DataObject;
billTypeObj=billObj["BillTypeId"];
if(billTypeObj==None):
return;
billTypeNum=("{0}").format(billTypeObj["Number"]);#单据类型编码
if(billTypeNum=="001"):
title="费用申请单";
this.View.SetFormTitle(LocaleValue(title, 2052));
elif(billTypeNum=="002"):
title="费用申请单1";
this.View.SetFormTitle(LocaleValue(title, 2052));
问题来源:BOS中修改单据名称了,发布界面修改了,但是打开单据后的单据名称没有变过来? (kingdee.com)
15、 关于流程终止并反审校验可用量的问题
问题描述:
咨询:
启用预计可用量
发货通知单审核状态时 进行校验可用量,并占用库存
发货通知单反审时,取消占货
发货通知单 启用审批流(工作流)
但是 从流程中心 终止并反审 发货通知单时,会校验 预计可用量(库存没有时 无法 终止并反审)只能 终止
前台 提交者撤销 也会失败(预计可发量不够,导致负库存)
如何实现:发货通知单 反审时 检查预计可发量 并进行校验,但是 流程中心 中 终止并反审 时 不进行校验?
解决方案:
不管是发货通知单反审核,还是流程中心终止反审,最终的结果都会导致发货通知单变成重新审核转态。
既然设置的业务逻辑是:审核状态的发货通知单占用可用量,那么未审核的发货通知单就应该释放可用量。
所以,【发货通知单 反审时 检查预计可发量 并进行校验,但是 流程中心 中 终止并反审 时 不进行校验?】这个需求本身是不合理的,自身矛盾了。
建议:取消反审核校验预计可发量,因为不管是从审核中变成未审核,还是从审核状态变成未审核,都不存在需要校验预计可发量的必要性。
问题来源:关于流程终止并反审校验可用量的问题V7.3 (kingdee.com)
16、执行计划不能自动执行
问题描述:计划设置了时间,后台服务也启动了,状态也是准备状态,但不能自动执行,需要每次人工点“测试”才运行。然后其他的计划又没有问题
解决方案:
17、审批流 销售订单 设置消息节点,消息节点没有通过,现在销售订单不允许反审核怎么处理
问题描述:审批流 销售订单 设置消息节点,消息节点没有通过,现在销售订单不允许反审核怎么处理提示:单据已关联工作流实例,当前用户不是待办任务的处理人,没有任务处理权限。
解决方案:
18、在插件中如何根据条件锁定一整 行,而不是根据一个字段一个段去锁
问题描述:在插件中如何根据条件锁定一整 行,而不是根据一个字段一个段去锁
解决方案:
19、怎么写自定义下推?
问题描述:
比如我要销售订单,直接下推到销售普通发票,然后我的下推不是在销售订单界面的,
是其他的界面按钮比如我选择单据,然后点击预开专票,然后根据商城订单号匹配出销售订单号,
然后再进行数据下推
解决方案:
首先需要添加单据转换规则:销售订单 下推 销售普通发票。
在销售订单的操作列表中,添加一个空操作-调用下推,操作代码设置为:DoNothing-Push
空操作的服务端服务中,添加自动下推服务,调用第1步中的单据抓换规则。
在其他触发的界面,开发插件,通过插件调用【空操作-调用下推(DoNothing-Push)】,调用空操作参考代码如下:
List<object> PkIds = new List<object>();//需要执行空操作的单据ID
//此处省略,根据自己的逻辑构建PkIds
string srcFormId="SAL_Order";//执行空操作的单据FormID
FormMetadata meta = MetaDataServiceHelper.Load(this.Context, srcFormId) as FormMetadata;
OperateOption Option = OperateOption.Create();
string optCode = "DoNothing-Push";//自动下推空操作的操作代码
Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.DoNothing(this.Context, meta.BusinessInfo, PkIds .ToArray(), optCode, Option);
注意:以上方法仅能实现 单据一对一下推,无法实现多单合并下推。
问题来源:怎么写自定义下推? (kingdee.com)
20、使用python 插件发送post get 请求
问题描述:
import clr
clr.AddReference("System")
clr.AddReference("System.Web.Extensions")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Newtonsoft.Json")
import sys
from System import *
from System.Collections.Generic import *
from System.Threading import *
from System.IO import *
from System.Net import *
from System.Text import *
from System.Security.Cryptography import *
from System.Web.Script.Serialization import *
from System.Collections.Generic import Dictionary
from Newtonsoft.Json.Linq import *
reload(sys)
sys.setdefaultencoding('utf-8')
def ButtonClick(e):
#发送get请求
#webRequest=get("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=XXX&corpsecret=XXX")
#this.View.ShowMessage(webRequest)
#解析json
#JObject = JObject.Parse(webRequest)
#this.View.ShowMessage(JObject['access_token'].ToString())
#发送post请求
webRequest=post('http://ip:port/test','idArr=249348,249349')
this.View.ShowMessage(webRequest)
#发送post请求
#webRequest=post('https://www.anyan.com/anyan/22222.php','choose={"id":"123"}')
#this.View.ShowMessage(webRequest)
def get(url):
webRequest = WebRequest.Create(url)
webRequest.Method = "GET";
webResponse = webRequest.GetResponse();
stream = webResponse.GetResponseStream();
streamReader =StreamReader(stream, Encoding.GetEncoding("utf-8"));
result = streamReader.ReadToEnd();
return result
def post(url,postdata):
webRequest = HttpWebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
data=Encoding.ASCII.GetBytes(postdata);
webRequest.ContentLength = data.Length;
webRequest.GetRequestStream().Write(data, 0, data.Length);
webRequest.GetRequestStream().Flush();
webRequest.GetRequestStream().Close();
webResponse =webRequest.GetResponse();
streamReader =StreamReader( webResponse .GetResponseStream(),Encoding.GetEncoding("utf-8") );
result=streamReader.ReadToEnd()
return result
代码如上 发送不了
解决方案:
import clr
clr.AddReference("System")
clr.AddReference("System.Web.Extensions")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Newtonsoft.Json")
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
import sys
from System import *
from System.Collections.Generic import *
from System.Threading import *
from System.IO import *
from System.Net import *
from System.Text import *
from System.Security.Cryptography import *
from System.Web.Script.Serialization import *
from System.Collections.Generic import Dictionary
from Newtonsoft.Json.Linq import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
reload(sys)
sys.setdefaultencoding('utf-8')
def BarItemClick(e):
btnKey = e.BarItemKey.ToUpper();
if(btnKey=="FET_TS"):
user = this.Context.UserName;
url = 'http://*';
postdata = "id=1"&sqr="+user;
webRequest = HttpWebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
data=Encoding.ASCII.GetBytes(postdata);
webRequest.ContentLength = data.Length;
webRequest.GetRequestStream().Write(data, 0, data.Length);
webRequest.GetRequestStream().Flush();
webRequest.GetRequestStream().Close();
webResponse =webRequest.GetResponse();
streamReader =StreamReader( webResponse .GetResponseStream(),Encoding.GetEncoding("utf-8") );
result=streamReader.ReadToEnd();
this.View.ShowMessage(result);
问题来源:使用python 插件发送post get 请求 (kingdee.com)
21、设置一个条件当业务类型=手工录入的时候才触发这个附件规则,但是设置前置条件后这个规则就不顶事儿了
问题描述:
解决方案:
22、多选基础资料,可以设置默认值吗?怎么设置?
问题描述:多选基础资料,可以设置默认值吗?怎么设置?
解决方案:
我在本地,通过添加实体服务规则,多选基础资料字段,设置了默认值。
要点:1. 前置条件,需要设置一个只有新建时才符合条件的条件,如编码为空白;2. 计算公式配置界面,只勾选“新增”选项3. 给多选基础资料赋值,需要设置为基础资料内码,并使用中括号[]括起
图一:实体服务规则
图二:查询币别内码
图三:运行效果
问题来源:多选基础资料,可以设置默认值吗?怎么设置? (kingdee.com)
23、生成编码规则的BusinessDataServiceHelper.GetBillNoByField方法在循环体里多次调用
问题描述:
生成编码规则的BusinessDataServiceHelper.GetBillNoByField方法在循环体里多次调用,只能在第一次能得到编码,后面count是为1的,但编码为空字串,有解决办法么?
解决方案:
24、单据状态和单据类型对应关系的逻辑
问题描述:
我需要知道单据状态、关闭状态、作废状态等状态表的逻辑。目前知道 记录表是:如下2个表
select * from T_META_FORMENUMITEM_L select * from T_META_FORMENUMITEM我想知道
这个表 和单据的类型如何关联的?如销售订单的单据状态销售订单的 关闭状态销售订单 明细行的 终止状态 等,
不想用case when
解决方案:
25、字段汇总至上级字段时,能不能只汇总满足某条件的数据
问题描述:
解决方案:
26、自定义的维护界面的列表怎么加过滤条件行?
问题描述:
要在这里加过滤条件行,但是是维护界面不是列表界面
解决方案:
7.5以上的版本就有这个选项了
问题来源:自定义的维护界面的列表怎么加过滤条件行? (kingdee.com)
27、 如何增加供应商联系人的 API?
问题描述:
目前供应商的信息创建是通过API实现的。但是供应商主数据中的联系人 没有API可使用我想是否可以把供应商联系人 发布到主页,
通过新增菜单权限项 可以创建 对应的API?目前我只看到了简单的API。如何可以 有 新增等 API?
解决方案:
联系人是另一个单独的基础资料,如果通过web api进行操作,不是调用客户的接口,而是调用联系人的接口。联系人基础资料在供应链--采购管理--基础资料--联系人,该基础资料为客户和供应商共用,通过类型和所属公司两个字段进行关联,其中类型字段区分是客户还是供应商,所属公司字段填写对应的客户或供应商的ID。因为联系人是不发布的,如果需要在系统的在线web api功能中进行测试使用,需要先将联系人发布为不可见的主控台菜单才可以看到,如果通过代码直接调用api接口,则不需要发布。
问题来源:如何增加供应商联系人的 API?V7.3 (kingdee.com)
【第1期】
1、页签顺序如何调整?
问题描述:例如采购订单中的明细信息与交货安排两个页签,可以互换显示顺序,将交货安排显示在第一顺位的页签,明细信息显示在第二顺位上。
解决方案:
问题来源:页签顺序调整 (kingdee.com)
2、系统提示列名F_ORA_MULBASE无效
问题描述:出库申请单的表体仓库增加过滤条件FSTOCKID IN ( SELECT FSTOCKID FROM t_BD_Stock WHERE F_ORA_MULBASE IN ('GetValue(FDeptId)'))后,填写单据的仓库字段,系统提示列名F_ORA_MULBASE无效。
解决方案:
多选基础资料在存储在另一个独立的数据库物理表中的,您是可以在BOSIDE的【仓库-->可用部门】的字段属性中,查到此表名,有如下图:
假设您的[可用部门]多选基础资料字段的表名是PAEZ_t_Cust_Entry100157,再假设您具有初级的SQL功底。
那么,【Select * from PAEZ_t_Cust_Entry100157】查询一下这张表中的已有数据,您就什么都明白了,数据结构了解了,进而也知道怎么写过滤条件了。
综上,好事做到底,您的表体仓库过滤条件改写为如下,即可实现您的需求:
FSTOCKID In(Select m1.FStockId FROM PAEZ_t_Cust_Entry100157 as m1 where m1.F_ORA_MULBASE=GetValue(FDeptId))
--用您的多选基础资料字段的真实表名,替换掉上述过滤条件中的红字部分
问题来源:系统提示列名F_ORA_MULBASE无效 (kingdee.com)
6、集成开发平台 打开项目报错
问题描述:
解决方案:
按提示错误信息应该是:协同开发平台SVN锁定,见下方链接官方处理方法。
https://vip.kingdee.com/article/269858819956349952
问题来源:集成开发平台 打开项目报错 (kingdee.com)
8、当视图封装基础资料时,如何处理FID生成?
问题描述:当视图封装基础资料时,如何处理FID生成?
解决方案:
将你提供的源视图修改了一下,也就是修改以下红字的部分,你试试,应该可以了。
说明:你的问题,利用SQL的开窗函数特性就能解决:开窗函数详解
SELECT
FID=1000000+ROW_NUMBER()
OVER(ORDER BY B.FLOTID ASC, C.FTIAOMA ASC, C.FUSEORGID ASC,C.FSTOREUNITID ASC,C.FAUXUNITID ASC,
C.FCARTONNUMBER ASC,(CASE WHEN C.FBATCHANDCARTONNUMBER IS NULL THEN a.FBATCHANDCARTONNUMBER ELSE c.FBATCHANDCARTONNUMBER END) ASC,
C.FAREAMM ASC,C.FSQUAREFEET ASC,(CASE WHEN C.FMODELX IS NULL THEN a.FMODELX ELSE c.FMODELX END) ASC,
(CASE WHEN C.FFUKUAN = 0 THEN a.FFWIDTH ELSE c.FFUKUAN END) ASC,C.FLENGTH ASC,C.FCUSMATERIALNUMBER ASC, C.FCUSPURNUMBER ASC),
a.FSTOCKORGID, B.FLOTID AS OldFID, D.FISINVENTORY, C.FTIAOMA AS FNUMBER, E.FMATERIALID, C.FUSEORGID,
a.FBASEUNITID, C.FSTOREUNITID AS FStockUnitId, C.FAUXUNITID AS FSecUnitId, a.FSTOCKID, a.FLOT,
B.FNUMBER AS Flot_TXT, C.FTIAOMA, a.FBASEQTY AS FSUTTLE, a.FSECQTY AS FAUXQTY,
C.FCARTONNUMBER AS FXIANGHAO, CASE WHEN C.FBATCHANDCARTONNUMBER IS NULL
THEN a.FBATCHANDCARTONNUMBER ELSE c.FBATCHANDCARTONNUMBER END AS FBATCHANDCARTONNUMBER,
C.FAREAMM, C.FSQUAREFEET, a.FSTOCKLOCID, 'A' AS FFORBIDSTATUS, 'C' AS FDOCUMENTSTATUS,
CASE WHEN C.FMODELX IS NULL THEN a.FMODELX ELSE c.FMODELX END AS FMODELX,
CASE WHEN C.FFUKUAN = 0 THEN a.FFWIDTH ELSE c.FFUKUAN END AS FFUKUAN, a.FPRODUCEDATE,
a.FEXPIRYDATE, C.FLENGTH, C.FCUSMATERIALNUMBER, C.FCUSPURNUMBER
FROM dbo.T_STK_INVENTORY AS a INNER JOIN
dbo.T_BD_LOTMASTER AS B ON a.FLOT = B.FLOTID LEFT OUTER JOIN
dbo.T_Cust_ZJTMSC AS C ON B.FNUMBER = C.FPICI INNER JOIN
dbo.T_BD_MATERIALBASE AS D ON a.FMATERIALID = D.FMATERIALID INNER JOIN
dbo.T_BD_MATERIAL AS E ON a.FMATERIALID = E.FMASTERID INNER JOIN
dbo.T_BD_MATERIAL_L AS F ON E.FMASTERID = F.FMATERIALID
WHERE (a.FSTOCKID > 0) AND (a.FBASEQTY > 0.0) AND (a.FSTOCKORGID = '901376') AND (F.FNAME LIKE '%纸') AND
(D.FISPRODUCE = '1') AND (E.FUSEORGID = '901376') AND (a.FLOT <> '')
问题来源:当视图封装基础资料时,如何处理FID生成? (kingdee.com)
9、html5下,页签显示异常
问题描述:
在单据上,在页签组中,添加了新的页签,名称为“新加”
在html5页面下,在页签组中看不到“新加”页签,以单独的形式出现(客户端不会出现这种情况)
解决方案:
1、可以试着在采购订单的新增或查看界面,打开选项-流式配置,在流式表单参数里,新增行,加入新增加的页签,如下图:
2、新增行
3、选择新增加的页签,返回
4、保存布局
5、效果
问题来源:html5下,页签显示异常 (kingdee.com)
14、销售出库单多行同一物料、不同批号,套打送货单相同物料只打印一行,数量为该物料的汇总数量
15、在数据库修改了辅助属性 数据长度,部分单据还是原来的限制长度
问题描述:
已在数据库修改了辅助属性长度,部分单据还是限定原来的长度2
解决方案:
1. 操作步骤
1、查询 辅助属性维度数据 的 标识 FPACKAGEID
select FPACKAGEID,* from T_META_OBJECTTYPE WHERE FID = 'BD_FLEXSITEMDETAILV_EXTEND';
2、更新客户供应商标记
UPDATE T_META_OBJECTTYPE SET FPACKAGEID = NULL WHERE FID = 'BD_FLEXSITEMDETAILV_EXTEND';
3、修改后,调整对应BOS设计器的值
4、 查询得到相关字段值 FID、FFLEXNUMBER
select FID,FFLEXNUMBER,* from T_BD_FLEXAUXPROPERTY where FNUMBER ='辅助属性编码
5、 通过FID更新FCUSTOMDATASTRMAXLEN设置数据长度
update T_BD_FLEXAUXPROPERTY set FCUSTOMDATASTRMAXLEN = '100' where FVALUETYPE = '2' and FID = 'FID';
6、 更改FFLEXNUMBER 字段长度,FFLEXNUMBER 为第四步查询的FFLEXNUMBER
alter table T_BD_FLEXSITEMDETAILV alter column FFLEXNUMBER nvarchar(100);
7、 恢复供应商标记 FPACKAGEID 为第一步查询的 FPACKAGEID
UPDATE T_META_OBJECTTYPE SET FPACKAGEID = 'FPACKAGEID' WHERE FID = 'BD_FLEXSITEMDETAILV_EXTEND';
8、使用管理员清除缓存或者重启IIS服务。
9、原则上辅助属性业务使用后。系统上控制不允许再修改相关属性。
问题来源:在数据库修改了辅助属性 数据长度,部分单据还是原来的限制长度 (kingdee.com)
16、如何对单据体中的表头列名进行多语言设置
解决方案:
平台有提供多语言字段的,默认存储在L表,即对应实体数据表+‘_L’ 比如 t_meta_objecttype 元数据对象名称 存储多语言在 t_meta_objecttype_l
如果你指的是字段名称标识的多语言(也叫做字段翻译),这个需要到元数据 对应语言下维护它的名称和标题。
问题来源:各位大佬,如何对单据体中的表头列名进行多语言设置 (kingdee.com)
1、 提交的审批流程,某一个审批节点卡住了(审批人休假),如何跳过这个节点,或者换人审批
问题描述:
解决方案:
1、 提交的审批流程,某一个审批节点卡住了(审批人休假),如何跳过这个节点,或者换人审批
问题描述:
解决方案:
问题来源:
1、 提交的审批流程,某一个审批节点卡住了(审批人休假),如何跳过这个节点,或者换人审批
问题描述:
解决方案:
1、 如何根据单据体列值,自动更新单据头字段值
问题描述:
解决方案:
问题来源:
1、 如何根据单据体列值,自动更新单据头字段值
问题描述:
解决方案:
问题来源:
1、 如何根据单据体列值,自动更新单据头字段值
问题描述:
解决方案:
问题来源: