.NetCore對接各大財務軟體憑證API——金蝶系列(1)

来源:https://www.cnblogs.com/wnxyz8023/archive/2020/04/28/12791899.html
-Advertisement-
Play Games

哈嘍,又和大家見面了,雖然看文章的小伙伴不多,但是我相信總有一天,自己寫的這些文章或多或少會對其他人有些幫助,讓他們在相關的業務開發下能少走些彎路,那我的目的就達到了,好了,今天就正式開始我們的系列了,今天要講的是金蝶系列的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 	   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 CQRS ( Command Query Responsibility Segregation )命令查詢職責分離模式,它主要從我們業務系統中進行分離出我們(Command 增、刪、改)和(Query 查), 同時他可以明確的區分我們每一個動作向我們的請求模型和響應模型.從而降低了我們系統的復 ...
  • [TOC] 上一篇,我們學習了任務的基礎,學會多種方式場景任務和執行,非同步獲取返回結果等。上一篇講述的知識比較多,這一篇只要是代碼實踐和示例操作。 判斷任務狀態 | 屬性 | 說明 | | | | | IsCanceled | 獲取此 Task 實例是否由於被取消的原因而已完成執行。 | | IsC ...
  • 是否能編譯一個exe , 又能啟動 Asp.Net Core , 又能自帶最新版的Chromium瀏覽器 , 自己瀏覽自己? 這裡給出了一個最簡單的C#/C++整合CEF框架的方式和詳細步驟. ...
  • 題外話: 接上篇吧。上篇主要是介紹下LayUI的使用,太興奮手打代碼去了- -。 其實這個項目用了Unity這個IOC框架,畢竟人要有夢想。感興趣的可以自己去瞭解下,後面有機會會說說對於IOC和DI的個人拙見以及Unity的使用。 進入正題。 二.WebApi 一個有夢想的鹹魚做的一個有夢想的dem ...
  • netcore數據連接配置 第一種 appsettings.json ConfigureServices 第二種 ConfigureServices ...
  • C 多態性 多態性常被視為自封裝和繼承之後,面向對象的編程的第三個支柱。 Polymorphism(多態性)是一個希臘詞,指“多種形態”, 多態: 一個介面多個功能。 靜態多態性: 編譯時發生函數響應(調用); 動態多態性: 運行時發生函數響應。 靜態綁定(早期綁定): 編譯時函數和對象的連接機制。 ...
  • 目 錄 1. 現象概述... 1 2. 操作資料庫的代碼... 2 3. 引起的異常... 2 4. 異常信息分析... 3 5. 分析結論猜測... 3 1. 現象概述 .NETCore的Console和AspNetCore程式對資料庫進行操作,通過析構函數(Finalize)釋放資料庫連接資源, ...
  • 今天看AspNetCore源代碼發現日誌模塊的設計模式(提供者模式)。 設計模式的好處是,我們可以容易擴展它達到我們要求,除了要知道如何擴展它,還應該在其他地方應用它, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...