哈嘍,又和大家見面了,雖然看文章的小伙伴不多,但是我相信總有一天,自己寫的這些文章或多或少會對其他人有些幫助,讓他們在相關的業務開發下能少走些彎路,那我的目的就達到了,好了,今天就正式開始我們的系列了,今天要講的是金蝶系列的API,大家都知道,金蝶的產品是比較多的,那麼我們這次要講解的就是金蝶雲星空 ...
哈嘍,又和大家見面了,雖然看文章的小伙伴不多,但是我相信總有一天,自己寫的這些文章或多或少會對其他人有些幫助,讓他們在相關的業務開發下能少走些彎路,那我的目的就達到了,好了,今天就正式開始我們的系列了,今天要講的是金蝶系列的API,大家都知道,金蝶的產品是比較多的,那麼我們這次要講解的就是金蝶雲星空,或者叫K3Cloud。
首先,作為一名程式猿我們在拿到類似的介面對接需求,第一件是肯定是看相關文檔,然後做介面分析,最後是封裝介面,運用到我們的項目中去,所以對於我們來說,第一步就是尋找相關的開發文檔,在這方面不得不承認,金蝶社區是個好地方。裡面有關於產品的所有知識點和大家遇到的各種問題。廢話不多說,文檔哪裡找,請看下麵的步驟
一.K3Cloud介面地址以及財務環境的登錄信息
我們在做.netCore對接財務系統時,要用到的幾個參數有:賬套號,用戶名,密碼,財務環境地址(支持外網訪問)
這個信息你可以找你對接的客戶要,最好是能要到外網登錄的地址,因為這樣省去你遠程登錄的麻煩,其次,賬號的許可權也很重要,該賬號下必須能看到名為-- WebAPI的菜單,因為我們需要的介面信息包括後續的測試等都可以在這裡處理。如下圖所示
二.對接要用到的介面列表
既然將憑證API,那麼我們需要用到的幾個菜單在財務會計--總賬下:主要有科目查詢介面、憑證字查詢介面、憑證新增介面
每個操作我們都可以通過線上測試WebAPI來驗證我們的介面信息,查詢介面的請求參數說明詳見下圖
1.唯一碼的FormId
FormId為每個業務對象的表單Id,如科目對應的就是BD_Account,這裡建議我們在開發時,可以提前將這些用到的表單ID統一設置為常量。參考以下代碼片段,當然實際開發中我們可能用不到這麼多,大家根據自己的情況進行合理的取捨。
public class BillKeyConst
{
#region 財務會計 總賬
public const string 科目 = "BD_Account";
public const string 帳薄 = "BD_AccountBook";
public const string 會計日曆 = "BD_ACCOUNTCALENDAR";
public const string 會計要素 = "BD_AccountGroup";
public const string 幣別 = "BD_Currency";
public const string 費用項目 = "BD_Expense";
public const string 匯率 = "BD_Rate";
public const string 結算方式 = "BD_SETTLETYPE";
public const string 憑證字 = "BD_VOUCHERGROUP";
public const string 調整期間管理 = "GL_ADJUSTPERIOD";
public const string 自動轉賬 = "GL_AutoTransfer";
public const string 現金流量項目 = "GL_CashFlow";
public const string 附表項目指定 = "GL_CashIndirectItem";
public const string 智能轉存 = "GL_DepositScheme";
public const string 期末調匯 = "GL_ExchangeScheme";
public const string 摘要庫 = "GL_Explanation";
public const string 附表項目調整 = "GL_INDIRECTITEMADJUST";
public const string 帳薄隸屬關係 = "GL_MultiBookMergeScheme";
public const string 結轉損益 = "GL_PLScheme";
public const string T型賬 = "GL_TACCOUNT";
public const string 憑證 = "GL_VOUCHER";
public const string 憑證攤銷 = "GL_VoucherAmortize";
public const string 模式憑證 = "GL_VoucherModel";
public const string 憑證預提 = "GL_VoucherProvision";
public const string 會計核算體系 = "Org_AccountSystem";
#endregion
#region 財務會計 智能會計平臺
public const string 業務憑證 = "BAS_BusinessVoucher";
public const string 憑證生成 = "Bas_MakeBizVchWizard";
public const string 分錄類型 = "BAS_VchEntryType";
public const string 憑證模板 = "BAS_VchTemplate";
public const string 增值稅發票單據 = "GL_AddedTaxBill";
public const string 增值稅發票識別 = "GL_AddedTaxOcrResult";
public const string 憑證自動生成方案 = "GL_AutoBuildVoucherScheme";
public const string 掃描識別模板管理 = "GL_BillOcrTemplate";
public const string 對賬方案 = "GL_CHECKSCHEME";
public const string 自定義單據識別 = "GL_OcrResultBase";
public const string 掃描儀註冊登記 = "GL_ScannerSign";
public const string 銀行回單_付款 = "GL_YHHDFK";
public const string 銀行回單_收款 = "GL_YHHDSK";
#endregion
#region 供應鏈 採購單據
public const string SCM_警示燈方案 = "SCM_WarnScheme";
public const string BD_採購條款 = "BD_PURCLAUSE";
public const string BD_採購折扣表 = "BD_PurDiscount";
public const string PUR_評估等級 = "PUR_Assessment";
public const string PUR_採購評估指標 = "PUR_AssessmentIndex";
public const string PUR_採購評估方案 = "PUR_AssessmentPlans";
public const string PUR_貨源清單 = "PUR_CATALOG";
public const string PUR_採購合同 = "PUR_Contract";
public const string PUR_採購合同變更單 = "PUR_ContractChange";
public const string PUR_期初採購退料單 = "PUR_InitMRS";
public const string PUR_退料申請單 = "PUR_MRAPP";
public const string PUR_採購退料單 = "PUR_MRB";
public const string PUR_採購調價表 = "PUR_PAT";
public const string PUR_採購定價變更單 = "PUR_POChange";
public const string PUR_採購定價新變更單 = "PUR_POXChange";
public const string PUR_採購價目表 = "PUR_PriceCategory";
public const string PUR_物權轉移單 = "PUR_PropertyConvert";
public const string PUR_採購訂單 = "PUR_PurchaseOrder";
public const string PUR_收料通知單 = "PUR_ReceiveBill";
public const string PUR_採購申請單 = "PUR_Requisition";
public const string PUR_供應商評分表 = "PUR_SupplierAsseementTb";
public const string PUR_消耗彙總表 = "PUR_VMIConsumeSum";
public const string STK_期初採購入庫單 = "STK_InitInStock";
public const string STK_採購入庫單 = "STK_InStock";
#endregion
#region 供應鏈 銷售管理
public const string BD_雲之家考勤設置 = "BD_AttendanceSetting";
public const string BD_輕應用自定義欄位設置 = "BD_MobExtendFieldConfig";
public const string BD_銷售折扣表 = "BD_SAL_DiscountList";
public const string BD_銷售價目表 = "BD_SAL_PriceList";
public const string BD_銷售條款 = "BD_SALCLAUSE";
public const string SAL_銷售調價方案 = "SAL_ADJUSTPRICE";
public const string SAL_可發量查詢 = "SAL_AvailableQuery";
public const string SAL_批量調價單 = "SAL_BATCHADJUSTPRICE";
public const string SAL_寄售結算單 = "SAL_ConsignmentSettle";
public const string SAL_客戶物料對應表 = "SAL_CustMatMapping";
public const string SAL_發貨通知單 = "SAL_DELIVERYNOTICE";
public const string SAL_期初銷售出庫單 = "SAL_INITOUTSTOCK";
public const string SAL_電子面單 = "SAL_KuaidiBill";
public const string SAL_銷售物流信息 = "SAL_LogisticsInfo";
public const string SAL_銷售出庫單 = "SAL_OUTSTOCK";
public const string SAL_銷售報價單 = "SAL_QUOTATION";
public const string SAL_退貨通知單 = "SAL_RETURNNOTICE";
public const string SAL_銷售退貨單 = "SAL_RETURNSTOCK";
public const string SAL_銷售訂單 = "SAL_SaleOrder";
public const string SAL_銷售訂單變更單 = "SAL_SaleOrderChange";
public const string SAL_模擬報價單 = "Sal_SimulateQuotation";
public const string SAL_標準費率維護 = "Sal_StdExchangeRate";
public const string SAL_銷售訂單新變更單 = "SAL_XORDER";
public const string SAL_銷售報價變更單 = "SAL_XQUOTATION";
#endregion
#region 供應鏈 信用管理
public const string CRE_信用檢查規則 = "CRE_CheckRule";
public const string CRE_信用表更 = "CRE_CreditChange";
public const string CRE_信用總額特批 = "CRE_CreditSumPermit";
public const string CRE_信用檔案 = "CRE_CustArchives";
public const string CRE_客戶物料信用檔案 = "CRE_CustMaterialArchive";
public const string CRE_信用評估模型 = "CRE_EvalModel";
public const string CRE_信用評估指標 = "CRE_EvaluateIndex";
public const string CRE_信用等級方案 = "CRE_Gade";
public const string CRE_信用評分表 = "CRE_ScoringTable";
public const string CRE_信用特批許可權 = "CRE_SpecPermission";
public const string CRE_臨時信用檔案 = "CRE_TmpCustArchives";
#endregion
#region 供應鏈 庫存管理
public const string BD_歸檔序列號 = "BD_ArchivedSerial";
public const string BD_批號主檔 = "BD_BatchMainFile";
public const string BD_批號_序列號屬性 = "BD_LotCodeItem";
public const string BD_批號_序列號編碼規則 = "BD_LotCodeRule";
public const string BD_生產追溯序列號主檔 = "BD_MTSerialMainFile";
public const string BD_序列號主檔 = "BD_SerialMainFile";
public const string BD_倉庫 = "BD_STOCK";
public const string BD_倉庫最大最小安全庫存 = "BD_StockAlert";
public const string BD_庫存狀態 = "BD_StockStatus";
public const string SP_簡單生成入庫單 = "SP_InStock";
public const string SP_簡單生成退庫單 = "SP_OUTSTOCK";
public const string SP_簡單生成領料單 = "SP_PickMtrl";
public const string SP_簡單生成退料單 = "SP_ReturnMtrl";
public const string STK_組裝拆卸單 = "STK_AssembledApp";
public const string STK_周期盤點計劃 = "STK_CycleCountPlan";
public const string BD_物料周期盤點表 = "STK_CycleCountTable";
public const string STK_即時庫存 = "STK_Inventory";
public const string STK_初始庫存 = "STK_InvInit";
public const string STK_庫存鎖庫 = "STK_LockStock";
public const string STK_鎖庫日誌 = "STK_LOCKSTOCKLOG";
public const string STK_批號調整單 = "STK_LOTADJUST";
public const string STK_ABC分配組 = "STK_MaterialABCGroup";
public const string STK_其他入庫單 = "STK_MISCELLANEOUS";
public const string STK_其他出庫單 = "STK_MisDelivery";
public const string STK_委托加工材料入庫單 = "STK_OEMInStock";
public const string STK_委托加工材料退料單 = "STK_OEMInStockRETURN";
public const string STK_委托加工材料收料單 = "STK_OEMReceive";
public const string STK_出庫申請單 = "STK_OutStockApply";
public const string STK_形態轉換單 = "STK_StatusConvert";
public const string STK_庫存狀態轉換 = "STK_StockConvert";
public const string STK_盤盈單 = "STK_StockCountGain";
public const string STK_物料盤點作業 = "STK_StockCountInput";
public const string STK_盤虧單 = "STK_StockCountLoss";
public const string STK_盤點方案 = "STK_StockCountScheme";
public const string STK_調撥申請單 = "STK_TRANSFERAPPLY";
public const string STK_直接調撥單 = "STK_TransferDirect";
public const string STK_分散式調入單 = "STK_TRANSFERIN";
public const string STK_分散式調出單 = "STK_TRANSFEROUT";
#endregion
#region 供應鏈 組織間結算
public const string IOS_應付結算清單_物料 = "IOS_APSettlement";
public const string IOS_應付結算清單_費用 = "IOS_APSettlementExp";
public const string IOS_應付結算清單_資產 = "IOS_APSettlementFA";
public const string IOS_應收結算清單_物料 = "IOS_ARSettlement";
public const string IOS_應收結算清單_費員 = "IOS_ARSettlementExp";
public const string IOS_應收結算清單_資產 = "IOS_ARSettlementFA";
public const string IOS_組織間結算價目表 = "IOS_PriceList";
public const string IOS_定時結算 = "IOS_ScheduleSettle";
public const string IOS_組織間結算關係 = "IOS_SettleRelation";
public const string IOS_跨組織業務類型 = "IOS_TransferBizType";
#endregion
#region 供應鏈 條碼管理
public const string BD_非同步生成數據 = "BD_AsyncBillScanData";
public const string BD_條碼盤點清單 = "BD_BarcodeInventoryData";
public const string BD_條碼屬性 = "BD_BarCodeItem";
public const string BD_條碼主檔 = "BD_BarCodeMainFile";
public const string BD_條碼列印 = "BD_BarCodePrint";
public const string BD_條碼規則 = "BD_BarCodeRule";
public const string BD_條碼掃描 = "BD_BarCodeScan";
public const string BD_條碼拆分 = "UN_BarCodeSplit";
public const string BD_物料編碼解析對應表 = "UN_MaterialMap";
public const string BD_條碼拆箱表 = "UN_Packaging";
public const string BD_掃描配置 = "UN_SCAN";
public const string BD_掃描記錄 = "UN_SCANRecordSet";
public const string BD_條碼掃描任務 = "UN_SCANTASK";
public const string BD_條碼掃描任務生成日誌 = "UN_SCANTASKCREATELOG";
public const string BD_條碼掃描任務方案 = "UN_SCANTASKSCHEME";
#endregion
#region 供應鏈 供應商管理
public const string SVM_企業公告 = "SVM_BusinessBulletin";
public const string SVM_比價單 = "SVM_ComparePrice";
public const string SVM_詢價單 = "SVM_InquiryBill";
public const string SVM_報價單 = "SVM_QuoteBill";
public const string SVM_供應商角色 = "SVM_Role";
public const string SVM_供應商用戶 = "SVM_SUPPLIERUSER";
#endregion
#region 供應鏈 供應商協同
public const string SCP_供應商協同條碼列印 = "SCP_BarCodePrint";
public const string SCP_供應商協同條碼掃描 = "SCP_BarCodeScan";
public const string SCP_企業公告 = "SCP_BusinessBulletin";
public const string SCP_詢價單 = "SCP_InquiryBill";
public const string SCP_採購入庫單 = "SCP_InStock";
public const string SCP_退料通知單 = "SCP_MRAPP";
public const string SCP_採購退料單 = "SCP_MRB";
public const string SCP_應付單 = "SCP_Payable";
public const string SCP_採購訂單變更單 = "SCP_POChange";
public const string SCP_採購訂單 = "SCP_PurchaseOrder";
public const