金蝶云星空生态与平台开发支持部星空实施认证(初级)BOS字段讲解以及单据转换2021.7.28深圳2Content01020304BOS业务字段讲解值更新,实体服务规则单据转换反写规则PART1.1:控件总体介绍工具箱1、工具箱包含:常规字段、通用控件、业务字段和HTML控件;2、常规字段中,目前支持62种字段类型;3、通用控件中,有40种控件类型;4、字段指有一些语义的逻辑元素,如日期、小数;控件主要用于界面布局,如分割容器、面板;5、业务字段就是一定有业务含义的常规字段;6、字段与控件,都有对应的属性设置;工具箱及属性配置•业务对象支持添加多种类型字段、控件;•也支持表格、以及表格列的元素属性编辑;•业务对象能够添加哪些元素,一目了然;•通过调整元素的属性,实现个性化的需求;•可视化、开发语言无关的开发环境;•通过鼠标点击、拖拉工具箱中的字段和控件,创建新单据,无须编写程序代码,所见即所得;PART1.2:通用控件案例业务场景创建一个采购物资的基础资料解决方案继承标准的基础资料模板,先拖通用控件进行界面布局,再拖字段控件8分割容器•分割方向•停靠•分割位置停靠位置分为上下左右中间5个区域,代表停靠的方向,中间表示充满,none表示取消停靠设置9面板•分割容器中不得直接拖拽字段加入,例如常规字段、业务字段中的字段控件,所以分割容器一般都放入一个面板设为充满备用;•停靠-充满10标签1.可用于设置固定的文字11分割线以---------进行分割界面12页签控件1.页签编辑;2.选中页签右上角箭头,可添加、删除页签;3.支持切换页签不同的页,添加字段或控件,实现对界面字段的分类。通常可设置与单据实体对应13页签控件1.默认为3个页签,可手动新增页签或删除页签14按钮1.可在点击事件中,新增操作或者服务2.插件中代码中按钮点击事件PART1.3:常规字段16单据体提供单据的单据体维护功能,支持多行多分录17单据体的特殊属性说明是否显示序号序号字段标识单据体分录是否显示序号列用于存储序号值,通常设置为Fseq分录主键列表默认展示用于关联查询,默认值为FEntryID勾选后,单据体的字段默认在列表展示,前提是字段可见性中设置了普通列表可见即时触发行改变事件勾选后即时触发设置的行切换事件菜单集合分组列信息用于配置单据体工具栏按钮,配置方式可参看单据菜单集合属性可设置单据体分组字段,并设置分组小计和分组合计关键字段设置关键字段后,关键字段录入后,单据体自动增加一行。例如订单上录入物料后,自动增加行启用用户布局表格控制单据界面单据体字段顺序和列宽按用户保存布局方案,同时单据选项中需设置“关闭窗口后保存界面调整”参数。勾选后在单据列表过滤界面上不显示此单据体,不能通过列表过滤该单据体的所有字段过滤面板默认隐藏单据体特殊属性描述18文本字段1.提供对文本的维护功能,默认的文本长度是50字节多语言文本提供中文简体、英文、中文繁体三种文本维护功能19字段属性:锁定性1.可设置字段新增或修改,过滤显示隐藏列中锁定20字段属性:可见性1.可设置字段在单据或者列表中是否可见21字段属性:密码字段1.当勾选密码字段后,输入的字符不可见22单据状态1.单据状态字段一般用于记录单据的创建、审核中、已审核、重新审核、暂存等状态,同时也可以记录自定义的关闭、作废等特殊的状态情况,并且可结合不同状态来锁定单据的字段或者菜单栏。23组织1.提供组织的维护功能,可设置默认选择组织24基础资料1.基础资料特指基础资料类单据;根据业务场景应用,单独抽象的一种业务对象。如供应商、联系人、物料等;2.从业务角度讲基础资料分三类:主档资料、基本资料、辅助资料;3.主档资料:就是主数据,包括:部门、员工、供应商、客户及物料;4.辅助资料:就是业务应用上简单基础资料,按领域显示,以便于区分和使用;5.基本资料:就是除主档和辅助资料之外的资料,包括:岗位信息、币别、记录单位、费用项目、会计政策等公共资料;6.通过基础资料类型属性绑定系统已有的基础资料基础资料的属性说明代码字段名称字段选择基础资料上的文本字段作为存储展示基础资料编码的字段,配置编码规则后,自动生成编码选择基础资料上的文本字段作为存储展示基础资料名称的字段列表F8查询过滤条件列表固定过滤条件基础资料字段F8列表查询的默认条件,打开F8界面时默认以此条件查询并展示F8数据作为列表过滤查询时的默认条件,打开列表界面默认以此条件查询,列表过滤界面条件在此基础上进行过滤查询基础资料分配关系表允许单元格切换事件存储基础资料组织分配关系的物理表支持切换基础资料字段单元格执行事件,需配合插件支持批量插入单据体基础资料字段录入时,支持批量返回插入多条基础资料数据勾选后基础资料受基础资料控制策略管控是否基础资料控制策略管理基础资料字段属性描述26基础资料属性1.基础资料属性字段在单据中添加后不可修改,只作为快捷展示基础资料的相关属性使用2.针对历史单据也可以正常显示3.前端无需录入,当录入物料编码后会自动带出4.可适用单据上的单据头与单据体,以及系统自带报表或开发报表5.设置基础资料字段(可选择该单据中所有的基础资料)27基础资料字段引用属性单据上在基础资料控件中选择引用属性,即可看到基础资料中的信息基础资料属性控件中,在基础资料字段中选择需要绑定的基础资料,在关联基础资料字段名中选择需要关联的基础资料里面的字段单据中,选择某个基础资料后,基础资料属性即可显示出所引用的字段值28创建人,创建日期1.默认带出操作当前业务对象的创建人和时间29图片1.图片可放在文件服务器或者数据库中建议是使用文件服务器,避免数据库由于附件太大,膨胀得太厉害2.支持限制上传格式跟大小,上传格式在参数设置里面配置30附件1.附件可放在文件服务器或者数据库中建议是使用文件服务器,避免数据库由于附件太大,膨胀得太厉害2.支持限制上传格式跟大小,上传格式在参数设置里面配置31下拉列表1.设置下拉列表的枚举类型32字段属性-枚举类型1.设置下拉列表的枚举类型33复选框PART1.4:业务字段35计量单位1.提供计量单位的维护功能36数量1.提供对数量的维护功能2.可设置缺省值,数值的范围,整体精度,小数精度,是否为0显示等属性37单价,金额1.提供价格的维护功能;2.提供金额的维护功能38Content01020304值更新,实体服务规则BOS业务字段讲解单据转换反写规则案例业务场景当数量和单价不为空时,且数量或单价字段发生改变时,计算出金额解决方案在单据体中配置实体服务规则,设置前置条件,选择服务类型-计算定义公式的值并填写到指定列40实体服务规则•实体服务规则:表单的执行错综复杂,一个字段的改变引起一堆字段变化,将所有的逻辑变成一个个规则,复杂的事情都交给平台去处理:自动合并规则批量执行提高效率、智能执行减少重复执行,并且提供对动态语言的解析。•入口:单据头、子单据头、单据体、子单据体等实体上都有属性“实体服务规则”,根据你需要处理的目标字段所在实体,在对应实体上配置实体服务规则。•需要在触发更新的字段上勾选属性“即时触发值更新”,在焦点离开当前字段时就触发相关值更新服务。前置条件:当数量和单价不为空时,计算出金额当规则成立时,计算定义公式的值并填写到指定列案例业务场景当计量单位不为空时,锁定字段解决方案在计量单位中勾选即时触发值更新,设置值更新事件中的前置条件和服务类型-锁定字段42配置值更新•当前字段的字段发生改变后,自动执行指定服务。“值更新”就是该类服务的执行时机触发点。•一般需要当前字段上勾选属性“即时触发值更新”,在焦点离开当前字段时就触发相关值更新服务。•适用于“单一字段触发的”、“值更新时机触发”的场景,例如,选择物料字段后,分别携带物料的基本单位、计量单位等属性到指定字段。这种场景就时候用值更新配置实现。前置条件:当计量单位不为空服务类型选择锁定字段43Content01020304单据转换BOS业务字段讲解值更新,实体服务规则反写规则案例业务场景采购订单审核后,将采购订单的一些关键信息携带到下游单据采购入库单,确保上下游业务的一致性。这种关联生成就是通过创建单据转换规则来实现。解决方案在企业的业务活动之间存在有先后顺序,基于前面的业务单据内容需要将关键信息携带到下游单据,以保障业务之间的准确性。我们通过单据转换规则实现单据之间的数据携带、过滤等管控需求。45单据转换•打开界面会加载所有预设的转换规则,选中即可显示预设转换规则的信息•单据转换是为了解决单据之间的数据转换的问题,通过参数配置的方式,让这种转换规则不再是一种固化的规则,而是可以灵活调配的。•通过规则实现数据映射、过滤、分组合并、计算等配置,以满足单据转换过程中的业务需要。46扩展单据转换•首次修改预设转换规则需要【扩展】,保存后再次修改,直接选中扩展节点即可编辑•预设节点下会生成一个扩展包,表示修改内容会单独隔离存储•部分预设转换规则扩展时会看到“+”号变成可点击的按钮,说明当前转换规则预设后,系统更新又增加了新的转换策略,点击“+”号可加载后面新增的转换策略•根据选择的转换规则,显示该规则的设置,按功能划分为各种策略•修改转换规则后,点击策略的根节点,切换到总体设置•勾选启动,表示运行时能够使用此转换规则•对于预设转换规则修改转换类型需谨慎,一般不要修改,关联携带,表示需要记录携带关联,这样后续才可以支持反写源单、联查关联单据47删除单据转换如果想恢复转换规则的预设内容,可以通过删除扩展包实现1、选中扩展包2、取消启动勾选3、点击删除4、点击保存,即完成扩展包删除48源单类型、源单编码•向下游单据的关联主实体中拖入【源单类型】、【源单编号】的字段控件,•再进入单据的属性中的【单据关联配置】界面可以指定记录源单类型、源单编号的字段。•设置可见性49单据关联配置单据关联配置是使用单据转换的前提配置,需要先设置上下游单据的单据关联配置,设置单据体实体、关联表名,控制字段。这样,当数据携带到该实体时,后台会自动在关联表中记录关联关系。关联表名:不能超过26个字符控制字段:控制字段就是当前单据围绕一个字段对后面单据环节进行管控的,通常是数量或金额字段。从业务上通俗来说,例如采购订单的需要围绕采购数量管控下游单据的,那么我们要求用户将采购数量设为控制字段,出于单据换算考虑,则应该将采购数量对应的基本采购数量(类型=基本单位数量)设置为控制字段。50创建单据转换规则1、新建单据转换2、选择上游源单,下游目标单单据转换入口51添加单据转换规则1、如果转换关系已经存在规则,也可以点击添加,在此转换关系中再创建一条新转换规则。请根据实际业务需要选择。2、该界面是系统预设的采购订单到采购入库单的转换规则,以此配置为例,介绍各项设置的作用。•唯一标识:可以随机生成或自定义命名,要求数据中心唯一•下推启动条件:默认为空,当有多个转换规则时,可以通过启动条件配置,管控不同条件下启动不同规则,从而避免前台用户下推是手动选择转换规则•运行时隐藏:勾选此项则下推、选单操作界面不显示转换规则。有些转换规则用于插件调用的,不让用户在下推、选单界面使用,则勾选此项•规则检查:勾选则在保存转换规则时检查目标单的单据关联配置是否已设置•转换类型:一般使用关联携带,表示要求记录关联关系(没有记录关联关系则无法上下查、全流程跟踪、反写)52单据转换策略_关联主单据体1、只能选择目标单的单据关联配置的单据体实体作为关联主实体2、第一列目标单控制字段:只显示目标单控制字段可选第二列源单字段:一般将源单映射携带的控制字段对应53单据转换策略_单据类型映射单据类型映射:默认为空,表示单据转换时不限制单据类型的映射关系。如果配置了映射,表示源单的某个单据类型需要按映射关系管控。如图所示,源单VMI采购订单映射了2个目标单单据类型“VMI入库单、标准采购入库”,表示VMI采购订单只能下推采购入库单的“VMI入库单、标准采购入库”这2种单据类型。源单单据类型=无,目标单单据类型=分销购销入库单,表示该转换规则不允许任何采购订单单据类型下推【分销购销入库单】。54单据转换策略_字段映射关系字段映射关系:映射时,必须字段的元素类型匹配才可以映射。采购入库单的收料组织字段是【主业务组织】,因此单据转换必须给起映射上游单据对应的组织字段,否则下推时会出现选择目标组织的选项。55单据转换策略_分组策略设置多张单据批量生成下游单据时,单据数据如何重新分组、分录行如何合并。•一对一生成:1张源单对应生成1张目标单,单据不拆分且分录行不合并。•多对一生成:多张源单对应生成1张目标单,单据合成1张下游单据,所有分录行都填到此下游单据上,但是分录行不合并。•按规则分组合并生成:按单据分组依据决定下游单据拆分生成几张(如果为空表示不拆分,1张源单对应1张目标单),按单据体分录合并条件,决定每张目标单上哪些分录行进行合并(如果为空表示分录行不进行合并)。注意,如果希望按物料的编码为依据合并分录行,添加条件时应选择【物料编码.编码】56单据转换策略_选单条件策略1、选单条件策略,设置单据转换时,符合条件的数据才允许携带。包括下推、选单等所有操作,只要是调用此转换规则携带数据,都会受到这里的过滤条件约束,只携带满足条件的数据。最常见的是设置字段与比较值的过滤条件。2、附加条件,用于支持字段与字段比较等复杂场景。附加条件说明,会在转换失败时显示出来,便于操作人员理解问题所在。3、不符合条件的提示信息,对过滤条件的整体概述,在转换失败时显示。57单据转换策略_插件策略单据转换从选择单据、指定单据类型、分组合并、过滤携带数据等整个转换过程都提供了插件干预方法,应对一些复杂的单据转换场景需求。58单据转换策略_表单服务策略表单服务策略,字段映射中都是使用源单的字段进行映射、自定义公式计算。而表单服务策略针对的是数据携带完毕后,基于下游单据目前的数据携带结果,配置计算服务,依据下游单据字段进行计算,更新下游单据的其他字段。59生产单据转换节点•所有策略设置完后,保存该转换规则后,会在应用的节点上生成该转换规则节点•如果目标单所在子系统的业务领域包存在,则会直接添加到该子系统下的转换规则预置数据节点上。•如果目标单所在子系统的业务领域包不存在,则会在我们应用节点上创建新的业务领域元数据包和子系统节点,并把转换规则预置数据添加至节点上。60单据下推运行时点击下推操作,选择采购入库单,并使用转换规则61Content01020304反写规则BOS业务字段讲解值更新,实体服务规则单据转换案例业务场景采购订单下推采购入库单为例,实现将入库数量累加到采购订单并控制不允许超额解决方案反写主要用于处理单据之间的关联关系,目标单生成之后,源单的某些属性将会被改变;这种关联关系表现为某些数值的增减或某种字段值的改变。63反写规则•反写规则入口:流程中心-业务流程-流程设计-反写规则•反写主要用于处理单据之间的关联关系,目标单生成之后,源单的某些属性将会被改变;这种关联关系表现为某些数值的增减或某种字段值的改变。•我们将这种下游单据生成后,改变上游单据某些属性的配置过程,以定义规则的形式展现,并称之为定义反写规则。例如:采购物料,下了订单,最后进行了入库,如需要了解订单的数量是否已全部入库,就会需要将入库的数量进行反写到订单中显示,来达到在订单上能看到已入库的数量,确认订单是否已完成64反写规则•星空账套打开反写规则会加载出系统所有的内置反写规则。由于反写规则会影响数据回写,一旦设计错误会造成数据问题,建议应在测试环境充分验证后,再到生产环境调整•修改内置反写规则:系统内置反写规则在后续版本可能会进行升级更新,为了防止与企业自定义的修改冲突,内置反写规则是锁定不允许修改的•建议修改内置反写规则时,需充分了解系统内置反写规则的业务,尽量不要修改反写页签的关键内容,一般适合调整关闭控制计算公式、调整超额条件、超额提示等场景65复制反写规则1、选中反写规则2、点击复制3、建议调整关闭控制、超额判断的设置。如果需要调整反写页签设置,请充分考虑对应字段的反写计算关系、前提条件等,包括标准业务逻辑4、勾选启动5、最后保存反写规则,并禁用对应的系统内置反写规则,实现对内置反写规则的修改注:在测试环境充分验证后,再到生产环境更新。通过部署方式,到生产环境的反写规则默认不启用,需确认新反写规则中所用字段在目标环境已部署无误,手动启用反写规则。66配置反写规则采购订单下推采购入库单为例,实现将入库数量累加到采购订单并控制不允许超额1、上游单据扩展2、明细信息中拖入数量3.设置关联单位-明细信息.采购单位67新增反写规则_基本信息新增入口及上下游单据设置上游单据:【采购订单】下游单据:【采购入库单】68新增反写规则_反写•操作:为保存,表示单据保存时触发反写规则执行•反写值计算公式:是指反写取值来源,可以是下游单据某个字段或者计算公式注意:必须用关联主实体中的字段反写•分配上限:如果单据转换存在多行分录合并为1行的情况,必须设置分配上限计算公式。一般是用上游单据的基准数量减去下游单据反写的数量,从而得出该分录的可分配数量。否则,会出现上游单据某一行已超额,其他分录没有分配反写值。注意:反写规则注意只需配置关于基本单位数量之间的反写基本,关联基本单位数量的数量字段会自动按照换算率自动计算出来无需再配置69新增反写规则_关闭控制行关闭条件:配置比较公式,当公式成立时,会将行关闭字段(这里=关闭状态)的状态值置为【已关闭】;若行关闭条件公式不成立,则状态值置为【未关闭】。同理,除了实现业务关闭,其他的业务场景也可以通过【状态字段】+关闭控制配置实现,例如,已付款金额>=申请金额,将付款状态=已付款,不满足条件时付款状态=未付款。关闭控制仅是改变来源单据的状态字段的值,超额判断是强制控制什么情况下单据不允许保存或审核(视反写规则的操作决定)70新增反写规则_超额判断•选择超额控制级别:提供三种控制级别。禁止超额表示满足超额检查公式则会提示超额,从而实现对下游单据生成时的关键数据管控,不允许非法业务单据保存。•超额检查公式:可以视实际情况灵活配置比较公式。•超额提示信息:可以自定义超额的提示音,给业务人员更好的提示说明。配置完毕后保存并启用反写规则。71新增反写规则_保存、启用配置完毕后保存并启用反写规则。72新增反写规则_效果