BOTP和DAP中常用函數(shù)說(shuō)明_第1頁(yè)
BOTP和DAP中常用函數(shù)說(shuō)明_第2頁(yè)
BOTP和DAP中常用函數(shù)說(shuō)明_第3頁(yè)
BOTP和DAP中常用函數(shù)說(shuō)明_第4頁(yè)
BOTP和DAP中常用函數(shù)說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、說(shuō)明:1. 文中所列出的例子來(lái)自兩個(gè)供應(yīng)鏈帳套,缺乏資金、費(fèi)用報(bào)銷等公式的例子。大家可以通過(guò)select*fromT_BotRuleSegmentwherefexpressionlike%_BOT方法名稱%'查看當(dāng)前帳套中已有的函數(shù)配置。2. 有些函數(shù)可能需要用到對(duì)象的Bostype作為參數(shù),可通過(guò)t_pf_bosobject表查詢,如查詢職員的bostype:selectfbostypefromt_pf_bosobjectwherefname='Person'。本文后附部分bostype例子。3. 對(duì)業(yè)務(wù)模塊的函數(shù)可能存在描述錯(cuò)誤的情況,請(qǐng)各位業(yè)務(wù)大神指出已便更正。4

2、. 存在函數(shù)的實(shí)際實(shí)現(xiàn)與方法名稱所描述的不符合的情況,考慮函數(shù)可能已有使用客戶,不在對(duì)已有函數(shù)的名稱或功能進(jìn)行修改。范圍(ExtendFormulaFunctionsBotpFormulaFunctionsFSBotpFormulaFunctionsARAPFormulaFunctionsAccountViewFormulaFunctionFaFormulaFunctionsWoucherFormulaFunctionExpTpAccFormulaFunctions)基礎(chǔ)資料函數(shù)_BOTgetMaterialFromCostObject功能:根據(jù)物料id獲得物料參數(shù):對(duì)象idString返回值

3、:物料SQL:T_BD_MATERIAL物料select*fromT_BD_MATERIALwherefid=?_BOTgetObjectNumberFromCusent_BOTgetObjectNameFromCusent功能:獲得任意對(duì)象的編碼名稱參數(shù):對(duì)象idString返回值:任意對(duì)象的編碼或名稱String說(shuō)明:沒(méi)有類型限制_BOTGetBaseCurrencyFromFiOrg功能:獲取指定財(cái)務(wù)組織的本位幣參數(shù):財(cái)務(wù)組織對(duì)象CompanyOrgUnitInfo返回值:幣別對(duì)象CurrencyInfo說(shuō)明:公式結(jié)果=_BOTGetBaseCurrencyFromFiOrg(_BOTg

4、etResponsibilityOU(計(jì)劃訂單.庫(kù)存組織,4,1)SQL:T_ORG_COMPANY公司selectfbasecurrencyidfromt_org_companywherefid=?BOTGetAccountFromKacAndBaseData功能:根據(jù)基礎(chǔ)資料(物料、客商、要素費(fèi)用、職員)、財(cái)務(wù)組織、記賬要素編碼獲取對(duì)應(yīng)的科目。參數(shù):基礎(chǔ)資料,財(cái)務(wù)組織CompanyOrgUnitInfo,記賬要素編碼String返回值:科目AccountViewInfo說(shuō)明:取數(shù)步驟:SQL:.獲取記帳分類ID:1. 物料selecttop1FKAClassIDfromt_bd_mater

5、ialCompanyInfowherefcompanyid=?andFMaterialID=?wherewhere2. 客戶selecttop1FAccountClassIDfromt_bd_CustomerCompanyInfofcomorgid=?andFCustomerID=?3. 供應(yīng)商selecttop1FAccountClassIDfromt_bd_SupplierCompanyInfofcomorgid=?andFSupplierID=?4. 職員selecttop1fkaclassficationidfromt_bd_personwherefid=?二.根據(jù)記帳分類id和記賬要

6、素編碼獲取科目idselectTOP1t1.FAccountlinkIDfromt_bd_kaclassificationDetailt1innerjoint_bd_kaccountItemt2ont1.faccountitemlinkidt2.fidwheret1.fkaclassficlink記帳分類IDandt2.fnumber=?三.查詢科目select*fromt_bd_accountviewwherefid=科目ID_BOTGetAccountFromKacAndBaseDataId功能:與_BOTGetAccountFromKacAndBaseData區(qū)別傳入的參數(shù)是基礎(chǔ)資料id

7、,且不確定基礎(chǔ)資料的類型。例:公式結(jié)果=_BOTGetAccountFromKacAndBaseDataId(應(yīng)付單.分錄.源單往來(lái)戶id,應(yīng)付單.公司,"1002","3008","2004","1450");其中1002、3008、2004、1450分別為基礎(chǔ)資料是物料、客戶、供應(yīng)商、職員時(shí)的記賬要素編碼SQL:類似_BOTGetAccountFromKacAndBaseData_BOTGetCustomerFromCompany功能:獲取財(cái)務(wù)組織對(duì)應(yīng)的內(nèi)部客戶。參數(shù):財(cái)務(wù)組織IDString返回值:客戶Cus

8、tomerInfo說(shuō)明:客戶必須是已經(jīng)核準(zhǔn)的客戶例:公式結(jié)果=_BOTGetCustomerFromCompany(調(diào)撥訂單.調(diào)撥訂單分錄.收貨財(cái)務(wù)組織.ID);SQL:T_BD_CUSTOMER客戶selecttop1*fromt_bd_customerwherefinternalcompanyid=?andfusedstatus=_BOTGetSupplierFromCompany功能:類似_BOTGetCustomerFromCompany取已核準(zhǔn)的內(nèi)部供應(yīng)商SQL:T_BD_SUPPLIERselecttop1*fromt_bd_customerwherefinternalcompan

9、yid=?andfusedstatus=1其他函數(shù)_BOTgetAccountInSpecifiedFiOrg功能:根據(jù)指定的公司和科目編碼獲得科目參數(shù):科目編碼String,財(cái)務(wù)組織CompanyOrgUnitInfo返回值:科目AccountViewInfo例子:公式結(jié)果=_BOTgetAccountInSpecifiedFiOrg("1021",物品采購(gòu)費(fèi)用報(bào)銷單.公司);說(shuō)明:不同組織下的科目可能會(huì)掛不同的輔助賬,DAP規(guī)則需要指定特定組織下的科目。若按照值列表配置科目,那么轉(zhuǎn)化時(shí)所取的科目是配置規(guī)則時(shí)所在財(cái)務(wù)組織或規(guī)則配置界面的“所屬財(cái)務(wù)組織F7所選擇的財(cái)務(wù)組織下

10、的對(duì)應(yīng)科目??赏ㄟ^(guò)_BOTgetAccountInSpecifiedFiOrg指定轉(zhuǎn)化時(shí)取某一個(gè)財(cái)務(wù)組織下的科目。SQL:獲取科目表SELECTtoptFAccountTableidfromt_org_ouparfiwherefunitid=?獲取科目select*fromt_bd_accountviewwherefnumber=?andFaccountTableid=?andFcompanyid=?_BOTGetAsstActInfo功能:根據(jù)核算項(xiàng)目ID獲得輔助賬橫表信息參數(shù):核算項(xiàng)目類型,核算項(xiàng)目,科目返回值:橫表值A(chǔ)ssistanHGInfo例:公式結(jié)果=_BOTGetAsstActI

11、nfo(折舊.折舊匯總.核算項(xiàng)目類型,折舊.折舊匯總.分配信息核算項(xiàng)目,折舊.折舊匯總.分配信息科目);_BOTgetAccuralPrepareAccount(應(yīng)收應(yīng)付函數(shù))功能:根據(jù)公司取壞賬參數(shù)中的壞賬準(zhǔn)備科目參數(shù):財(cái)務(wù)組織ID返回值:科目找了幾個(gè)供應(yīng)鏈的帳套都沒(méi)有發(fā)現(xiàn)該函數(shù)的使用例子。BOTGetPropInFirstObjWithCollection單分錄,”sum");功能:獲得IObjectCollection中第一個(gè)對(duì)象的某屬性的值參數(shù):集合對(duì)象IObjectCollection,字段名稱String返回值:字段值Object例如取分錄中第一行分錄的合計(jì)字段:公式結(jié)果

12、=BOTGetPropInFirstObjWithCollection(*_BOTGetProperty功能:獲取某對(duì)象上的某字段值參數(shù):對(duì)象ID,字段名稱返回值:字段值Object公式結(jié)果=_BOTGetProperty(銷售出庫(kù)單銷售出庫(kù)單分錄核心單據(jù)行ID,"TRansferOrderBillEntry.taxRate");說(shuō)明:1.該函數(shù)被大量應(yīng)用在連續(xù)下推的情況:A-BB-C,在B-C時(shí),攜帶A的字段到C。2. 由于需要查詢數(shù)據(jù)庫(kù),該函數(shù)可能存在性能隱患。取值結(jié)果會(huì)存入BOTP的線程緩存,大量的使用會(huì)導(dǎo)致緩存過(guò)大而使JVM崩潰。3. 例子中"TRansf

13、erOrderBillEntry.taxRate"的"TRansferOrderBillEntry"并無(wú)實(shí)際作用,可以隨便填寫,最后的取數(shù)只和“”之后的字段有關(guān)。4. 為什么不能直接填寫公式結(jié)果=_BOTGetProperty(銷售出庫(kù)單.銷售出庫(kù)單分錄.核心單據(jù)行ID,分錄.稅率);而卻要輸入英文。這個(gè)跟解析引擎的執(zhí)行順序有關(guān)。和工作流一樣,botp采用的是kscript腳本引擎,在解析執(zhí)行函數(shù)前,中文部分(所存表達(dá)式仍為英文)將被作為已知變量而被替換成具體的值,再反射調(diào)用_BOTGetProperty方法。而我們現(xiàn)在的期望是在執(zhí)行函數(shù)時(shí),通過(guò)ID取出對(duì)象,再通

14、過(guò)字段名稱取出對(duì)應(yīng)值。(以上瞎掰,可以忽略)_BOTgetResponsibilityOU功能:根據(jù)委托關(guān)系找組織參數(shù):組織對(duì)象或id,委托方類型,受委托方類型,返回組織序號(hào)(可為空)返回值:受委托方組織例公式結(jié)果=_BOTgetResponsibility(生產(chǎn)訂單.生產(chǎn)備料.供貨庫(kù)存組織,4,1,0)說(shuō)明:1. 組織類型:行政組織0,財(cái)務(wù)組織1,銷售組織2,采購(gòu)組織3,庫(kù)存組織4,成本中心5,利潤(rùn)中心6,合并范圍8,管理單元10,HR組織16,發(fā)運(yùn)組織24,質(zhì)檢組織32.對(duì)EAS組織委托模型不了解的同學(xué)請(qǐng)自行找文檔補(bǔ)補(bǔ).2. 當(dāng)查詢的結(jié)果集是一個(gè)集合時(shí),將會(huì)按照組織編碼排序,可通過(guò)函數(shù)最后

15、一個(gè)指定取集合中的第幾個(gè)值。SQL:根據(jù)委托關(guān)系表查被委托組織SELECTT0.FTOUNITIDFROMT_ORG_ORGUNITRELATIONT0INNERJOINT_ORG_TYPERELATIONT1ONT0.FTYPERELATIONID=T1.FIDWHERET0.FFROMUNITID='?'ANDT1.FFROMTYPR=?ANDT1.FTOTYPE=?_BOTgetCompanyOrgUnitFromRelation_BOTgetDefaultAdminOrgUnitFromRelation功能:獲取成本中心委托的財(cái)務(wù)組織獲取成本中心委托的行政組織參數(shù):成本

16、中心或成本中心ID返回值:財(cái)務(wù)組織CompanyOrgUnitInfo例:公式結(jié)果=_BOTgetCompanyOrgUnitFromRelation(結(jié)算記錄單.輔對(duì)賬方往來(lái)戶ID);委托關(guān)系的取數(shù)可由_BOTgetResponsibilityOU代替_BOTgetObjectFromID萬(wàn)能的取數(shù)方法。根據(jù)id查對(duì)象。需要注意對(duì)象是否有“實(shí)繼承”、“虛繼承”,如組織,業(yè)務(wù)組織繼承組織單元,采用兩張表,但是兩張表存的是同一個(gè)id。通過(guò)BOTgetObjectFromID將會(huì)查到的是組織單元OU,而非具體的業(yè)務(wù)組織。BOTgetSaleFromOrgUnit銷售_BOTgetPurchaseF

17、romOrgUnit采購(gòu)_BOTgetStorageFromOrgUnit庫(kù)存_BOTgetProfitCenterFromOrgUnit利潤(rùn)中心_BOTgetCostCenterFromOrgUnit成本中心功能:獲取某個(gè)類型組織例:如果(領(lǐng)料申請(qǐng)單.領(lǐng)料申請(qǐng)單分錄.收貨組織不等于null并且領(lǐng)料申請(qǐng)單.領(lǐng)料申請(qǐng)單分領(lǐng)料申請(qǐng)單.領(lǐng)料申請(qǐng)單分錄.收貨組錄.收貨組織.是否是成本中心組織)公式結(jié)果=_BOTgetCostCenterFromOrgUnit(憑證公共取數(shù)函數(shù)_BOTgetAccountViewByNumber功能:根據(jù)編碼取憑證參數(shù):科目編碼返回值:科目對(duì)象說(shuō)明:獲取的是生成憑證時(shí)所

18、在的當(dāng)前登錄組織下的科目公式結(jié)果=_BOTgetAccountViewByNumber("2009.02.005");_BOTgetBookedDate功能:根據(jù)當(dāng)前組織編碼獲取當(dāng)前期間的最后一天。參數(shù):公司編碼返回日期對(duì)象。固定資產(chǎn)函數(shù)_BOTgetAsstActItem功能:獲得指定的核算項(xiàng)目信息。參數(shù):核算項(xiàng)目類型idString,核算項(xiàng)目idString,核算項(xiàng)目編碼String返回值:核算項(xiàng)目說(shuō)明:很顯然,只要有一個(gè)核算項(xiàng)目id就能查詢出核算項(xiàng)目,另外兩個(gè)參數(shù)的作用其實(shí)是為了增加緩存的處理。_BOTgetHGActItem功能:獲取指定的橫表信息參數(shù):核算項(xiàng)目id

19、組合,科目id返回值:橫表說(shuō)明:核算項(xiàng)目id組合的格式:"核算項(xiàng)目類型id:personid;核算項(xiàng)目類型id:costOrgid"BOTGetFICurrentPeriodCnOfYear功能:獲取財(cái)物組織當(dāng)前期間所在的會(huì)計(jì)年度的總期間數(shù),不計(jì)調(diào)整期參數(shù):無(wú)參數(shù),組織取當(dāng)前登錄組織返回值:期數(shù)費(fèi)用報(bào)銷函數(shù)_BOTgetExpenseTypeAccountOnOrgUnit功能:根據(jù)費(fèi)用類型獲取借方科目參數(shù):費(fèi)用類型id,組織id返回值:科目例:公式結(jié)果=_BOTgetExpenseTypeAccountOnOrgUnit(費(fèi)用報(bào)銷單.分錄.費(fèi)用類型ID,費(fèi)用報(bào)銷單.公司.

20、ID)說(shuō)明:需要注意當(dāng)傳入組織無(wú)設(shè)置借方科目時(shí),該方法會(huì)默認(rèn)依次取上級(jí)組織(自上而下)所配置的費(fèi)用類型綁定科目。若采用改方法生成憑證產(chǎn)生輔助賬不能攜帶的情況,可檢查上級(jí)組織的相同科目是否無(wú)掛本級(jí)輔助賬、當(dāng)前組織的費(fèi)用類型是否設(shè)置了借方科目。BOTgetOperateionTypeDebitAccount_BOTgetOperateionTypeLenderAccount功能:根據(jù)業(yè)務(wù)類別,公司獲取借方科目根據(jù)業(yè)務(wù)類別,公司獲取貸方科目參數(shù):業(yè)務(wù)類別id,公司id返回值:科目說(shuō)明:同_BOTgetExpenseTypeAccountOnOrgUnit一樣,這兩個(gè)函數(shù)也要注意業(yè)務(wù)類別是否綁定科目,

21、否則會(huì)按上級(jí)組織(自上而下)取科目。_BOTgetSupplierByCompany功能:根據(jù)公司取得供應(yīng)商參數(shù):公司id返回值:供應(yīng)商類似于_BOTGetSupplierFromCompany取得公司對(duì)應(yīng)的內(nèi)部供應(yīng)商,但不同的是_BOTgetSupplierByCompany不要求供應(yīng)商是已核準(zhǔn)狀態(tài)。_BOTgetCompanyByOrgUnit_BOTgetOrgUnitByCostCenter功能:根據(jù)行政組織獲取財(cái)物組織根據(jù)成本中心獲取行政組織參數(shù):行政組織ID成本中心id返回值:財(cái)物組織行政組織說(shuō)明:通過(guò)組織委托關(guān)系取數(shù)可通過(guò)_BOTgetResponsibilityOU代替BOTg

22、etAsstActTypeByExpenseType功能:根據(jù)費(fèi)用類型和公司取核算項(xiàng)目參數(shù):費(fèi)用類型、公司、序號(hào)(第幾個(gè)核算項(xiàng)目)返回值:核算項(xiàng)目說(shuō)明:通過(guò)費(fèi)用類型和公司找到費(fèi)用類型科目核算項(xiàng)目,通過(guò)第三個(gè)參數(shù)指定取第幾個(gè)核算項(xiàng)目(共四個(gè))資金取數(shù)函數(shù)_BOTPGetBaseDataByName功能:根據(jù)名稱查詢參數(shù):基礎(chǔ)資料的BostypeString,名稱String返回值:基礎(chǔ)資料對(duì)象例:_BOTPGetBaseDataByName("37C67DFC","供應(yīng)商A")取名稱為"供應(yīng)商A"的供應(yīng)商。該方法只能用于名稱唯一的基礎(chǔ)資

23、料,否則會(huì)產(chǎn)生"fetchtoomuchrow"異常BOTPGetValueByNumber根據(jù)編碼取數(shù),與上面的方法類似,不再說(shuō)明BOTPAsstActIDByNameNoError功能:根據(jù)名稱取值,找不到返回空參數(shù):基礎(chǔ)資料BOSTYPE,基礎(chǔ)資料名稱返回值:基礎(chǔ)資料說(shuō)明:幾乎同_BOTPGetBaseDataByName一樣,只是在找不到結(jié)果時(shí)不會(huì)中斷。同樣存在"fetchtoomuchrow"異常的風(fēng)險(xiǎn)。_BOTPGetValueByID功能:類似_BOTgetProperty()參數(shù):基礎(chǔ)資料id、表名、要查詢的字段名稱例要查詢費(fèi)用報(bào)銷單審核

24、人的名字可通過(guò):公式結(jié)果=_BOTPGetValueByID(費(fèi)用報(bào)銷單.審核人.ID,"T_BD_PERSON","name");_BOTPGetAssTypeValueByNumber_MultiAssItem功能:根據(jù)單據(jù)id,分錄和科目核算項(xiàng)目編碼獲取輔助核算項(xiàng)目參數(shù):?jiǎn)螕?jù)IDString,分錄ID,核算項(xiàng)目編碼返回值:輔助核算項(xiàng)目說(shuō)明:1.只能用于收付款單。2.分錄id可輸入空,若同時(shí)輸入單據(jù)id和分錄id,則優(yōu)先取分錄所綁定核算項(xiàng)目。BOTPGetAssTypeValueByNumber類似_BOTPGetAssTypeValueByNumb

25、er_MultiAssItem但不能取分錄綁定的核算項(xiàng)目參數(shù):?jiǎn)螕?jù)IDString,核算項(xiàng)目編碼_BOTPGetContext功能:獲取上下文參數(shù):無(wú)返回值:當(dāng)前上下文說(shuō)明:以“_BOT”開(kāi)頭的公式無(wú)須再生成上下文,腳本引擎做了特殊處理,在函數(shù)內(nèi)可通過(guò)args.get(0)獲取當(dāng)前上下文。_BOTGetAccountView功能:根據(jù)內(nèi)部賬戶或者銀行賬戶得到關(guān)聯(lián)的科目參數(shù):銀行賬戶或內(nèi)部賬戶返回值:科目說(shuō)明:最終通過(guò)銀行賬戶取關(guān)聯(lián)的科目,傳入內(nèi)部賬戶也是先取出對(duì)應(yīng)的銀行賬戶。BOTPGetBankAccount()功能:根據(jù)內(nèi)部賬戶獲取銀行賬戶參數(shù)參數(shù):內(nèi)部賬戶返回值:銀行賬戶_BOTPExecuteSQL功

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論