二开案例.WebApi.查询枚举类型数据

【应用场景】通过WebApi获取下拉列表字段绑定的枚举类型的枚举项集合。

【案例演示】采购订单,单据头上有一个下拉列表字段【验收方式】,其绑定的枚举类型为【采购验收方式】,本文演示使用WebApi的方式获取该枚举类型的枚举项集合。

【实现步骤】
<1>编写WebApi调用代码,代码如下。
using Kingdee.BOS.WebApi.Client;
using Kingdee.BOS.WebApi.FormService;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
namespace Jac.XkDemo.BOS.WebApi
{
/// <summary>
/// 【WebApi调用】查询枚举类型数据
/// </summary>
[TestClass]
public class QueryEnumTypeDataWebApiService : AbstractWebApiTests
{
/// <summary>
/// 通过枚举单据直接查询枚举类型数据
/// </summary>
[TestMethod]
public void QueryEnumTypeDataTest()
{
// Init
var apiClient = new K3CloudApiClient(url);
var isLoginOk = apiClient.Login(dbid, userName, password, lcid);
Assert.IsTrue(isLoginOk);
// Action
// 查找枚举类型【采购验收方式】及其枚举项
//var data = "{"FormId":"","FieldKeys":"","FilterString":"","OrderString":"","TopRowCount":0,"StartRow":0,"Limit":0}";
var data = new
{
FormId = "BOS_EnumBill",
FieldKeys = "FName,FCategory,FValue,FCaption",
FilterString = "FID='9a9bcf8e-053a-4ca9-b525-6c4e62fbcbd5'",
OrderString = "FSEQ",
TopRowCount = 0,
StartRow = 0,
Limit = 0
};
var requestData = JsonConvert.SerializeObject(data);
var responseData = apiClient.ExecuteBillQuery(requestData);
var enumItems = JsonConvert.SerializeObject(responseData);
// Assert
Assert.IsTrue(responseData != null && responseData.Count > 0);
}
/// <summary>
/// 通过业务对象的元数据,间接从下拉列表字段上获取枚举类型数据
/// </summary>
[TestMethod]
public void QueryEnumTypeDataTest2()
{
// Init
var apiClient = new K3CloudApiClient(url);
var isLoginOk = apiClient.Login(dbid, userName, password, lcid);
Assert.IsTrue(isLoginOk);
List<List<object>> ojs = null;
// Action
// 获取采购订单的元数据
var data = new
{
FormId = "PUR_PurchaseOrder"
};
var requestData = JsonConvert.SerializeObject(data);
var responseData = apiClient.QueryBusinessInfo(requestData);
var responseObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseData);
var resultObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseObj["Result"].ToString());
var metadata = JsonConvert.DeserializeObject<FormMetaDataCosmic>(resul
二开案例.WebApi.查询枚举类型数据
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



