




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
说明:1.文中所列出的例子来自两个供应链帐套,缺乏资金、费用报销等公式的例子。大家可以通过select * from T_BotRuleSegment where fexpression like %_BOT方法名称% 查看当前帐套中已有的函数配置。2.有些函数可能需要用到对象的Bostype作为参数,可通过t_pf_bosobject表查询,如查询职员的bostype:selectfbostype from t_pf_bosobject where fname =Person 。本文后附部分bostype例子。3.对业务模块的函数可能存在描述错误的情况,请各位业务大神指出已便更正。 4.存在函数的实际实现与方法名称所描述的不符合的情况,考虑函数可能已有使用客户,不在对已有函数的名称或功能进行修改。范围(ExtendFormulaFunctionsBotpFormulaFunctionsFSBotpFormulaFunctionsARAPFormulaFunctionsAccountViewFormulaFunctionFaFormulaFunctionsVoucherFormulaFunctionExpTpAccFormulaFunctions)基础资料函数_BOTgetMaterialFromCostObject功能: 根据物料id获得物料参数:对象idString返回值:物料SQL:T_BD_MATERIAL 物料select * from T_BD_MATERIAL where fid = ?_BOTgetObjectNumberFromCusent_BOTgetObjectNameFromCusent功能:获得任意对象的编码名称 参数:对象idString返回值:任意对象的编码或名称String说明:没有类型限制_BOTGetBaseCurrencyFromFiOrg功能:获取指定财务组织的本位币参数:财务组织对象CompanyOrgUnitInfo返回值:币别对象CurrencyInfo说明:公式结果 =_BOTGetBaseCurrencyFromFiOrg(_BOTgetResponsibilityOU(计划订单.库存组织,4,1)SQL:T_ORG_COMPANY 公司select fbasecurrencyid from t_org_company where fid = ?_BOTGetAccountFromKacAndBaseData功能:根据基础资料(物料、客商、要素费用、职员)、财务组织、记账要素编码获取对应的科目。参数:基础资料,财务组织CompanyOrgUnitInfo,记账要素编码String返回值:科目AccountViewInfo说明:取数步骤:SQL:一.获取记帐分类ID:1.物料select top 1 FKAClassID from t_bd_materialCompanyInfo where fcompanyid = ? and FMaterialID=?2.客户select top 1 FAccountClassID from t_bd_CustomerCompanyInfo where fcomorgid = ? and FCustomerID=?3.供应商select top 1 FAccountClassID from t_bd_SupplierCompanyInfo where fcomorgid = ? and FSupplierID=?4.职员select top1 fkaclassficationid from t_bd_person where fid =?二.根据记帐分类id和记账要素编码获取科目idselect TOP 1 t1.FAccountlinkID from t_bd_kaclassificationDetail t1 inner join t_bd_kaccountItem t2 ont1.faccountitemlinkid = t2.fid where t1.fkaclassficlink = 记帐分类ID and t2.fnumber = ?三.查询科目select * from t_bd_accountview where fid = 科目ID_BOTGetAccountFromKacAndBaseDataId功能:与_BOTGetAccountFromKacAndBaseData 区别传入的参数是基础资料id,且不确定基础资料的类型。例:公式结果 = _BOTGetAccountFromKacAndBaseDataId(应付单.分录.源单往来户id,应付单.公司,1002,3008,2004,1450);其中 1002、3008、2004、1450 分别为基础资料是物料、客户、供应商、职员时的记账要素编码SQL:类似_BOTGetAccountFromKacAndBaseData_BOTGetCustomerFromCompany功能:获取财务组织对应的内部客户。参数:财务组织IDString返回值:客户CustomerInfo说明:客户必须是已经核准的客户例:公式结果 = _BOTGetCustomerFromCompany(调拨订单.调拨订单分录.收货财务组织.ID);SQL: T_BD_CUSTOMER 客户select top 1 * from t_bd_customer where finternalcompanyid = ? and fusedstatus = 1_BOTGetSupplierFromCompany功能:类似_BOTGetCustomerFromCompany 取已核准的内部供应商SQL: T_BD_SUPPLIERselect top 1 * from t_bd_customer where finternalcompanyid = ? and fusedstatus = 1其他函数_BOTgetAccountInSpecifiedFiOrg功能:根据指定的公司和科目编码获得科目参数:科目编码String,财务组织CompanyOrgUnitInfo返回值:科目AccountViewInfo例子:公式结果 = _BOTgetAccountInSpecifiedFiOrg(1021,物品采购费用报销单.公司);说明:不同组织下的科目可能会挂不同的辅助账,DAP规则需要指定特定组织下的科目。若按照值列表配置科目,那么转化时所取的科目是配置规则时所在财务组织或规则配置界面的“所属财务组织F7”所选择的财务组织下的对应科目。可通过 _BOTgetAccountInSpecifiedFiOrg指定转化时取某一个财务组织下的科目。SQL:获取科目表 SELECT top t FAccountTableid from t_org_ouparfi where funitid = ?获取科目select * from t_bd_accountview where fnumber =? and FaccountTableid = ? and Fcompanyid = ?_BOTGetAsstActInfo功能:根据核算项目ID获得辅助账横表信息参数:核算项目类型,核算项目,科目返回值:横表值AssistanHGInfo例:公式结果 = _BOTGetAsstActInfo(折旧.折旧汇总.核算项目类型,折旧.折旧汇总.分配信息核算项目,折旧.折旧汇总.分配信息科目);_BOTgetAccuralPrepareAccount (应收应付函数)功能:根据公司取坏账参数中的坏账准备科目参数:财务组织ID返回值:科目找了几个供应链的帐套都没有发现该函数的使用例子。_BOTGetPropInFirstObjWithCollection功能:获得IObjectCollection中第一个对象的某属性的值参数:集合对象IObjectCollection,字段名称String返回值:字段值Object例如取分录中第一行分录的合计字段:公式结果 =_BOTGetPropInFirstObjWithCollection(*单.分录,sum);_BOTGetProperty功能:获取某对象上的某字段值参数:对象ID,字段名称返回值:字段值Object公式结果 = _BOTGetProperty(销售出库单.销售出库单分录.核心单据行ID,TRansferOrderBillEntry.taxRate);说明:1.该函数被大量应用在连续下推的情况:A-B B-C ,在B-C时,携带A的字段到C。 2.由于需要查询数据库,该函数可能存在性能隐患。取值结果会存入BOTP的线程缓存,大量的使用会导致缓存过大而使JVM崩溃。3.例子中TRansferOrderBillEntry.taxRate的TRansferOrderBillEntry并无实际作用,可以随便填写,最后的取数只和“.”之后的字段有关。4.为什么不能直接填写公式结果 = _BOTGetProperty(销售出库单.销售出库单分录.核心单据行ID,分录.税率);而却要输入英文。这个跟解析引擎的执行顺序有关。和工作流一样,botp采用的是kscript脚本引擎,在解析执行函数前,中文部分(所存表达式仍为英文)将被作为已知变量而被替换成具体的值,再反射调用_BOTGetProperty方法。而我们现在的期望是在执行函数时,通过ID取出对象,再通过字段名称取出对应值。(以上瞎掰,可以忽略)_BOTgetResponsibilityOU功能:根据委托关系找组织参数:组织对象或id,委托方类型,受委托方类型,返回组织序号(可为空)返回值:受委托方组织例公式结果 = _BOTgetResponsibility(生产订单.生产备料.供货库存组织,4,1,0)说明: 1.组织类型:行政组织0,财务组织1,销售组织2,采购组织3,库存组织4,成本中心5,利润中心6,合并范围8,管理单元 10,HR组织 16,发运组织 24, 质检组织 32. 对EAS组织委托模型不了解的同学请自行找文档补补. 2.当查询的结果集是一个集合时,将会按照组织编码排序,可通过函数最后一个指定取集合中的第几个值。SQL:根据委托关系表查被委托组织SELECTT0.FTOUNITID FROM T_ORG_ORGUNITRELATION T0 INNER JOIN T_ORG_TYPERELATION T1 ON T0.FTYPERELATIONID =T1.FID WHERE T0.FFROMUNITID=? AND T1.FFROMTYPR=? AND T1.FTOTYPE=?_BOTgetCompanyOrgUnitFromRelation _BOTgetDefaultAdminOrgUnitFromRelation功能:获取成本中心委托的财务组织 获取成本中心委托的行政组织参数:成本中心或成本中心ID返回值:财务组织CompanyOrgUnitInfo例:公式结果 = _BOTgetCompanyOrgUnitFromRelation(结算记录单.辅对账方往来户ID);委托关系的取数可由_BOTgetResponsibilityOU代替_BOTgetObjectFromID万能的取数方法。根据id查对象。需要注意对象是否有“实继承”、“虚继承”,如组织,业务组织继承组织单元,采用两张表,但是两张表存的是同一个id。通过_BOTgetObjectFromID将会查到的是组织单元OU,而非具体的业务组织。_BOTgetSaleFromOrgUnit 销售_BOTgetPurchaseFromOrgUnit 采购_BOTgetStorageFromOrgUnit 库存_BOTgetProfitCenterFromOrgUnit 利润中心_BOTgetCostCenterFromOrgUnit 成本中心功能:获取某个类型组织例:如果(领料申请单.领料申请单分录.收货组织 不等于 null 并且 领料申请单.领料申请单分录.收货组织.是否是成本中心组织) 公式结果 = _BOTgetCostCenterFromOrgUnit(领料申请单.领料申请单分录.收货组织);凭证公共取数函数_BOTgetAccountViewByNumber功能:根据编码取凭证参数:科目编码返回值:科目对象说明:获取的是生成凭证时所在的当前登录组织下的科目公式结果 = _BOTgetAccountViewByNumber(2009.02.005);_BOTgetBookedDate功能:根据当前组织编码获取当前期间的最后一天。参数:公司编码返回日期对象。固定资产函数_BOTgetAsstActItem功能 :获得指定的核算项目信息。参数:核算项目类型 idString,核算项目idString,核算项目编码String返回值:核算项目说明:很显然,只要有一个核算项目id就能查询出核算项目,另外两个参数的作用其实是为了增加缓存的处理。_BOTgetHGActItem功能:获取指定的横表信息参数:核算项目id组合,科目id返回值:横表说明:核算项目id组合的格式:核算项目类型id:personid;核算项目类型id:costOrgid_BOTGetFICurrentPeriodCnOfYear功能:获取财物组织当前期间所在的会计年度的总期间数,不计调整期参数:无参数,组织取当前登录组织返回值:期数费用报销函数_BOTgetExpenseTypeAccountOnOrgUnit功能:根据费用类型获取借方科目参数:费用类型id,组织id返回值:科目例:公式结果 = _BOTgetExpenseTypeAccountOnOrgUnit(费用报销单.分录.费用类型ID,费用报销单.公司.ID)说明: 需要注意当传入组织无设置借方科目时,该方法会默认依次取上级组织(自上而下)所配置的费用类型绑定科目。若采用改方法生成凭证产生辅助账不能携带的情况,可检查上级组织的相同科目是否无挂本级辅助账、当前组织的费用类型是否设置了借方科目。_BOTgetOperateionTypeDebitAccount _BOTgetOperateionTypeLenderAccount功能:根据业务类别,公司获取借方科目 根据业务类别,公司获取贷方科目参数:业务类别id,公司id返回值:科目说明 :同_BOTgetExpenseTypeAccountOnOrgUnit一样,这两个函数也要注意业务类别是否绑定科目,否则会按上级组织(自上而下)取科目。_BOTgetSupplierByCompany功能:根据公司取得供应商参数:公司id返回值:供应商类似于_BOTGetSupplierFromCompany取得公司对应的内部供应商,但不同的是_BOTgetSupplierByCompany不要求供应商是已核准状态。_BOTgetCompanyByOrgUnit _BOTgetOrgUnitByCostCenter功能:根据行政组织获取财物组织 根据成本中心获取行政组织参数:行政组织ID 成本中心id返回值:财物组织 行政组织说明:通过组织委托关系取数可通过_BOTgetResponsibilityOU代替_BOTgetAsstActTypeByExpenseType功能:根据费用类型和公司取核算项目参数:费用类型、公司、序号(第几个核算项目)返回值:核算项目说明:通过费用类型和公司找到费用类型科目核算项目,通过第三个参数指定取第几个核算项目(共四个)资金取数函数_BOTPGetBaseDataByName功能:根据名称查询参数:基础资料的BostypeString ,名称String返回值:基础资料对象例:_BOTPGetBaseDataByName(37C67DFC,供应商 A) 取名称为供应商 A的供应商。该方法只能用于名称唯一的基础资料,否则会产生fetch too much row异常_BOTPGetValueByNumber根据编码取数,与上面的方法类似,不再说明_BOTPAsstActIDByNameNoError功能:根据名称取值,找不到返回空参数:基础资料BOSTYPE,基础资料名称返回值:基础资料说明:几乎同_BOTPGetBaseDataByName一样,只是在找不到结果时不会中断。同样存在fetch too much row异常的风险。_BOTPGetValueByID功能:类似_BOTgetProperty()参数:基础资料id、表名、要查询的字段名称例要查询费用报销单审核人的名字可通过:公式结果 = _BOTPGetValueByID(费用报销单.审核人.ID,T_BD_PERSON,name);_BOTPGetAssTypeValueByNumber_MultiAssItem功能:根据单据id,分录和科目核算项目编码获取辅助核算项目参数:单据IDString,分录ID,核算项目编码返回值:辅助核算项目说明:1.只能用于收付款单。 2.分录id可输入空,若同时输入单据id和分录id,则优先取分录所绑定核算项目。_BOTPGetAssTypeValueByNumber类似_BOTPGetAssTypeValueByNumber_MultiAssItem 但不能取分录绑定的核算项目参数:单据IDString,核算项目编码_BOTPGetContext功能:获取上下文参数:无返回值:当前上下文说明:以“_BOT”开头的公式无须再生成上下文,脚本引擎做了特殊处理,在函数内可通过args.get(0)获取当前上下文。_BOTGetAccountView功能:根据内部账户或者银行账户得到关联的科目参数:银行账户或内部账户返回值:科目说明:最终通过银行账户取关联的科目,传入内部账户也是先取出对应的银行账户。_BOTPGetBankAccount()功能:根据内部账户获取银行账户参数参数:内部账户返回值:银行账户_BOTPExecuteSQL功能:执行sql参数:需要执行的sqlString返回值 :null说明:1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年防护眼镜行业当前发展趋势与投资机遇洞察报告
- 收纳行业知识培训内容课件
- 2025年职业技能(工业废水处理工)专业技术及理论知识考试题库与答案
- 2025年版《手术室护理实践指南》练习题(及答案)
- 2025保密宣传教育月有奖答题试题及答案
- 2025员工三级安全教育考试试题含答案
- 2025年高级美容师理论知识资格考试模拟试题库及答案
- 2025年社会工作者之中级社会综合能力通关考试题库带答案解析
- 2024年服装设计师、制作工专业技能理论知识考试题库(含答案)
- 2024下半年鹰潭市贵溪市事业单位招聘考试《综合基础知识》试题(附答案)
- 2025年福建新华发行(集团)有限责任公司南平地区招聘笔试参考题库含答案解析
- DZ/T 0054-2014定向钻探技术规程
- CJ/T 43-2005水处理用滤料
- 护理十八项核心制度考试题与答案
- 煤矿劳动定额试题及答案
- 物业管理实务知识2025年考试试题及答案
- 2025安徽农业大学辅导员考试试题及答案
- 签订主仆协议书
- 2025年道路交通工程与安全管理考试试题及答案
- 入股买船合同协议书
- 2025-2030摩托车保险行业市场运行态势分析及前景趋势与投资研究报告
评论
0/150
提交评论