




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ShareData 2 第一章 Sharedata介绍第二章 如何配置和使用变量第三章 如何配置和使用关系第四章 调整后的验证方法第五章 配置的注意事项和常见问题分析 目录 3 第一章 Sharedata介绍 4 背景 相同的取值逻辑和数据无法共享在批量操作中 无意义或重复的业务逻辑会被执行GetEntityProperty消耗了近乎一半的远程调用远程调用次数太多SQL语句数量太多 5 关系模型解决GetEntityProperty广泛使用造成的效能问题变量模型解决在公式 校验 条件格式 数据跟踪切片中频繁调用远程服务造成的效能问题 组成 6 原理 合并单身开窗带回50笔 同一个服务会发起50次远程调用 现在合并为1次远程调用 在服务端还是执行50次服务压缩50次服务执行中 如果参数相同 可压缩减少服务执行次数缓存服务执行返回的结果进行缓存 下次需再调用服务时 如果输入参数相同 直接取缓存 7 配置文件 Server端ShareDataContainer dcxml ShareData变量 9 ShareData关系 10 应用范围 11 第二章 如何配置和使用变量 12 新旧函数的调用方式对比 1 旧的函数调用格式 函数所需参数值 13 新旧函数的调用方式对比 2 变量替换后的函数使用格式 14 配置变量 在对应的实体对象节点下新增 变量信息区域 15 配置变量 确定函数所在的接口DLL 1 在CM的CI列表中查找2 在规格中查找3 在以下公共服务的接口DLL查找 Digiwin ERP CommonSupplyChain Business dllDigiwin ERP CommonRetail Business dllDigiwin ERP CommonManufacture BusinessDigiwin ERP CommonFinance BusinessDigiwin ERP Common Business4 平台函数的接口DLL是 Digiwin Mars Business Utils dll5 在本作业的接口DLL中查找6 在功能包中排查7 咨询SD 配置变量 16 例如 配置函数CurrencyConvert的变量 确定其所在的dll是 Digiwin ERP Common Business dll 配置变量 17 设计器自动加载dll里边的函数列表 配置变量 18 设计器自动把CurrencyConvert函数信息加载到变量区域 配置变量 19 变量名称命名规范必须以 VL 为前缀 显示名称 建议设置为公式或者校验的显示名称 便于排查核对 公式 变量 配置变量 20 配置参数列表 配置变量 21 配置参数前置条件1 从服务规格中函数的参数使用说明确定 参数的条件要求 参数条件作为前置条件的一部分 配置变量 22 2 从作业规格中描述的业务逻辑确定 根据业务逻辑这部分可作为变量的触发条件 配置变量 23 3 综合1和2的判断确定变量的前置条件 配置变量 24 变量配置完成 数据跟踪切片中使用变量 25 1 DependencyItems加入要使用的变量对象DependencyItems ActiveObject BUSINESS QTY ActiveObject VL TryGetConvertedQty 01 ActiveObject VL TryGetConvertedQty 02 ActiveObject BUSINESS UNIT ID IsRunAtInitialized false 2 调用格式obj entity GetValueOrDefault ActiveObject VL TryGetConvertedQty 01 newobject ItemId PreUnit PreQty uiSTOCK UNIT ID 26 第三章 如何配置和使用关系 新旧取值方式对比 27 例如 按 Owner Org ROid CURRENCY ID 为条件获取CURRENCY PRECISION对象的CONV TOLERANCE属性值GetEntityProperty方式 条件属性 新旧取值方式对比 28 2 Sharedata关系方式 配置Sharedata关系 29 Sharedata关系信息区域 配置Sharedata关系 30 1 设置关联实体对象 配置Sharedata关系 31 2 设计器自动生成关系名称 命名规范以 RL 为前缀 配置Sharedata关系 32 3 配置条件关联信息 配置条件关联信息 配置Sharedata关系 33 4 sharedata关系配置完成 34 第四章 调整后的验证方法 35 启动E10客户端 加上 d l 参数 以debug模式启动 检查方法如下 36 取得要分析典型业务场景的事件日志打开要测试的建档作业 新建一笔单据选择以下典型业务场景之一 单身开窗20笔 或单身上引20笔启动事件日志 记录单身开窗或单身上引操作时的事件日志以销货单身品号开窗选择20笔为例 37 38 39 事件日志的分析查询分类为远程调用的事件将事件日志窗口拉大 40 查找远程调用关键字 下方会列出所有远程调用事件 41 查看是否存在可继续优化的远程调用正常的远程调用事件 ICallbackPrepareService 回调引擎数据准备服务 42 IQueryAdvancedService IBrowseService 开窗服务 43 可优化的远程调用事件 IGetEntityPropertyService 此服务应该使用ShareData关系代替 44 IValidatorSnippetService CommonValidateIEnhancedValidateService OoqlValidateIPurchasePriceService GetPurchasePriceICurrencyPrecisionService AmendPricePrecision以上校验服务和业务服务 应该使用ShareData变量代替 45 如果事件日志中出现了IGetEntityPropertyService IValidatorSnippetService IEnhancedValidateService IPurchasePriceService ICurrencyPrecisionService服务请检查公式 校验 条件格式的配置 使用ShareData关系或变量 代替对远程服务的直接调用 46 数据准备与批的概念在没有引用智能计算之前 回调引擎会根据业务逻辑 逐笔发起远程调用 以销货单单身品号为例 品号改变后 有以下操作 a品号带值 b公式调用取价服务给单价赋值 如果单身开窗带回20笔品号 使用智能计算之前的远程调用顺序如下 品号1 a品号带值远程调用 b取价服务远程调用品号2 a品号带值远程调用 b取价服务远程调用 品号20 a品号带值远程调用 b取价服务远程调用总共发起20 2 40次远程调用 47 使用智能计算后 会将开窗带回20笔的所有远程调用收集起来 进行分析 将同类型的远程调用的输入参数进行压缩 并按照远程调用之间的依赖关系 分批次发起数据准备远程调用 销货单单身开窗带回20笔品号 使用智能计算之后的远程调用顺序如下 如果以下两个远程调用 a品号带值远程调用 b取价服务远程调用之间没有依赖关系 只需发起1次 批 远程调用即可 此次远程调用 会将10笔品号带值 10笔取价的输入参数全部传到服务端 服务端会计算10笔品号带值 10笔取价 并将全部结果返回 如果b取价服务远程调用依赖于a品号带值远程调用 则将发起2次 批 远程调用 这种批量的远程调用请求 称为ICallbackPrepareService 回调引擎数据准备服务 目的为后续的带值及公式准备数据 48 49 远程调用总次数使用智能计算后 远程调用收集起来 同类型的远程调用的输入参数进行压缩 会明显减少远程调用次数 并且远程调用次数不会随业务场景数据笔数的增加而增加 远程调用次数基本恒定在一定的数量 如果出现远程调用总次数会随着数据笔数的增加而增加的情况 就应该检查是否功能实现上存在问题 50 第五章 配置的注意事项和常见问题分析 配置注意事项 51 1 确保传值类型和变量的参数类型匹配例如 TryGetConvertedQty参数为Decimal类型在传值时 不能直接写无小数格式的数值 因为这会被视为int型 需用Decimal Vaule 强转 52 报错信息参考 53 2 传值是从DependencyObject对象获取时 格式需要转换 例如 原公式格式 Context GetPurchasePrice RecommendedPrice变量格式 ActiveObject VL GetPurchasePrice RecommendedPrice 同时IF条件中需要对DependencyObject对象做判空 54 3 服务端功能包需配置函数的服务接口和实现 例如付款计算GetPaymentTerm函数 接口 Digiwin ERP Common Business IPaymentTermService Digiwin ERP Common Business实现 Digiwin ERP PaymentTermService Business Implement PaymentTermService Digiwin ERP PaymentTermService Business Implement 55 报错信息参考 56 4 参数用到虚字段 需要转为sharedata关系使用 57 4 参数用到虚字段 需要转为sharedata关系使用 带值部分的虚字段 可以转为sharedata关系放到参数项中 公式计算出的虚字段 可以把表达式逻辑放到参数项中 58 5 GetEntityProperty函数也可以被变量替换 59 6 参数为数组时 需要使用 括起传值 60 7 所属TypeKey要设置正确 61 报错信息参考 62 8 Sharedata关系关联条件不支持使用虚字段和V 参数 可以考虑使用GetEntityProperty变量替代 63 9 撰写可被变量调用的服务和方法 注意点 参数是数组类型时 请使用Icollection类型 X X 64 10 变量的参数值前不能有空格 X 报错信息参考 65 11 公式组中的依赖项要保证变量能正确执行 案例1 QueryPrice函数变量配置信息 66 11 公式组中的依赖项要保证变量能正确执行 原公式组中使用变量时未把TAX RATE作为依赖项 造成变量取值错误 67 11 公式组中的依赖项要保证变量能正确执行 原因分析 添加sharedata功能后回调引擎计算顺序的改变 导致原有公式组需增加依赖项 公式定义如下 需把变量的参数ActiveObject TAX RATE作为依赖项场景1 原公式组 不使用sharedata变量 没有依赖项税率 ActiveObject TAX RATE 计算顺序如下 税种改变 税率为0税种带值税率 税率为0 05税种触发公式 传入税率0 05 QueryPrice函数返回回单价不为0场景2 现公式组 使用sharedata变量 如果不加依赖项税率 ActiveObject TAX RATE 计算顺序如下 税种改变 税率为0公式使用sharedata变量 税种改变 引发变量数据准备 传入税率0 QueryPrice函数返回单价0税种带值税率 税率为0 05公式计算 使用税率0 05在sharedata缓存中找不到变量信息 单价不变为0 68 11 公式组中的依赖项要保证变量能正确执行 场景3 现公式组 使用sharedata变量 增加依赖项税率 ActiveObject TAX RATE 计算顺序如下 税种改变 税率为0税种改变 公式使用sharedata变量 引发数据准备 传入税率0 取价服务返回单价0税种带值税率 税率为0 05公式计算 使用税率0 05在sharedata缓存中找不到变量信息 单价不变为0税率改变 引发数据准备 传入税率0 05 取价服务返回单价不为0公式计算 使用税率0 05在sharedata缓存中找到变量信息 单价不为0原公式组 不使用sharedata变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计质量提升管理制度
- 诊所义诊项目管理制度
- 诊所日常器械管理制度
- 试验检修设备管理制度
- 财务管理税务管理制度
- 财政往来资金管理制度
- 货场出库日常管理制度
- 货物进出登记管理制度
- 货运码头现场管理制度
- 2025年中国防窥膜行业市场全景分析及前景机遇研判报告
- 苏州市吴江区2021-2022苏教版五年级数学下册期末试卷真题
- 《红楼梦》PPT课件(优秀)
- 新高考英语读后续写——故事编写思路
- “363生态课堂”模式及流程
- (高清版)建筑工程风洞试验方法标准JGJ_T 338-2014
- 钢构车棚施工组织方案
- HP彩色激光打印机节能证书
- 最新烟叶储存保管方法标准
- 《丹江城区普通住宅小区物业服务收费管理办法》
- CYD-128(环氧树脂)MSDS
- 3船舶操作手册
评论
0/150
提交评论