请选择 进入手机版 | 继续访问电脑版
风雨十年,感恩同行

[共享] 金蝶 K3 WISE软注册60站点创新管理平台二次开发通过WEBSERVICE导入凭证

[复制链接]
发表于 2019-1-9 14:36:34 | 显示全部楼层 |阅读模式
1.测试WEBSERVICE是否能正常使用。
WEBSERVICE安装完成后,在开始菜单-金蝶 K3 WISE创新管理平台-金蝶K/3工具下,打开“客户端工具包”,选择“Adapter适配器”下的“k/3 WebServices”,打开后即可启动K/3 Web Services测试工具,可通过选择“服务类型”和“调用的方法”,在请求文件路径中修改测试的参数,点执行时会开展WebService的测试并获取测试结果,如下图。

2.在C#中调用凭证接口。

打开C#.NET新建一个winform项目,在解决方案资源管理器窗口点击右键添加服务引用。弹出对话框如下图。

3.调用代码如下(代码在K/3 14.2的环境下编写,其他环境如有错误请做适当修改)
增加引用
using WindowsFormsApplication1.Vos;
private void VoucherUpdate()
{
//特别注意,所有对象的属性都要按要求设置内容,切记不可图省事,否则提示下标越界错误。
VoucherServicesSoapClient VServices = new VoucherServicesSoapClient();
string errstr = string.Empty;
Voucher[] voh2={new Voucher()};
voh2[0].FNumber = 719; //凭证号
voh2[0].FNumberSpecified = true; //凭证号是否更改
voh2[0].FDate = "2015-09-01"; //日期
voh2[0].FExplanation = "摘要"; //摘要
voh2[0].FGroup = "记"; //凭证字
voh2[0].FPeriod = 9; //期间
voh2[0].FPeriodSpecified = true; //期间是否更改
voh2[0].FYear = 2015; //年
voh2[0].FYearSpecified = true; //年是否更改
voh2[0].FSerialNum = 5058; //凭证序号
voh2[0].FSerialNumSpecified = true; //凭证序号是否更改
voh2[0].FAttachments = 0; //附件数量
voh2[0].FAttachmentsSpecified = true; //附件数量是否更改
voh2[0].FReference = ""; //参考信息
voh2[0].FCashier = "NONE"; //出纳员
voh2[0].FHandler = ""; //会计主管
voh2[0].FTransDate = "2015-09-01"; // 发生日期
voh2[0].FPreparer = "administrator"; //制单人
voh2[0].FPoster = "NONE"; //记账人
//增加两个凭证分录
Entries[] ents = { new Entries(), new Entries() };
//-------设置第一个凭证分录属性
//具体字段解释请查询 select * from t_FieldDescription where FTableID=1
ents[0].FExplanation = "凭证录入检测-分录1";
ents[0].FAccountNumber = "1406";
ents[0].FAccountName = "发出商品";
ents[0].FCurrencyNumber = "RMB";
ents[0].FCurrencyName = "人民币";
ents[0].FAmount = 1000;
ents[0].FAmountSpecified = true;
ents[0].FAmountFor = 1000;
ents[0].FAmountForSpecified = true;
ents[0].FEntryID = 0;
ents[0].FEntryIDSpecified = true;
ents[0].FDC = 1;
ents[0].FDCSpecified = true;
ents[0].FSettleTypeName = "";
ents[0].FTransNo = "";
ents[0].FSettleNo = "";
ents[0].FMeasureUnit = "";
ents[0].FMeasureUnitUUID = "";
ents[0].FExchangeRate = 1;
ents[0].FExchangeRateSpecified = true;
ents[0].FQuantitySpecified = true;
ents[0].FUnitPriceSpecified = true;
//-------设置第二个凭证分录属性
ents[1].FExplanation = "凭证录入检测-分录2";
ents[1].FAccountNumber = "1601.04";
ents[1].FAccountName = "运输工具";
ents[1].FCurrencyNumber = "RMB";
ents[1].FCurrencyName = "人民币";
ents[1].FAmount = 1000;
ents[1].FAmountForSpecified = true;
ents[1].FAmountFor = 1000;
ents[1].FAmountSpecified = true;
ents[1].FDC = 0;
ents[1].FDCSpecified = true;
ents[1].FEntryID = 1;
ents[1].FEntryIDSpecified = true;
ents[1].FSettleTypeName = "";
ents[1].FTransNo = "";
ents[1].FSettleNo = "";
ents[1].FMeasureUnit = "";
ents[1].FMeasureUnitUUID = "";
ents[1].FExchangeRate = 1;
ents[1].FExchangeRateSpecified = true;
ents[1].FQuantitySpecified = true;
ents[1].FUnitPriceSpecified = true;
voh2[0].Entries = ents;
//为第一个凭证分录增加两个核算科目
DetailEntries[] dets = { new DetailEntries(), new DetailEntries() };
//设置核算科目数据
dets[0].FDetailNumber = "1.1.2.007";
dets[0].FTypeNumber = "001";
dets[0].FTypeName = "客户";
dets[1].FDetailNumber = "00011";
dets[1].FTypeNumber = "003";
dets[1].FTypeName = "职员";
voh2[0].Entries[0].DetailEntries = dets;
//保存
VServices.Update(out errstr,6, "administrator", "", voh2, false, true, 0);
//参数说明:
// iAisID:账套ID,通过账套查询服务获取,类型:inteager
// 在 KDAcctDB 数据库中查询select * from t_ad_kdAccount_gl 的facctid字段
// strUser:用户名称,必须为K/3中的合法用户,类型:string
// strPassword:用户密码,目前通过明文传递,类型:string
// Data:业务数据,符合Schema规范,类型:数组
// bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean
// bAddNewOnly:是否只增加记录,true表示只增加不覆盖记录,
// false表示既增加又覆盖记录,类型:boolean
}
}

[font=PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, Helvetica Neue, Arial, sans-serif]金蝶 K3 WISE软注册60站点创新管理平台二次开发源码文件及软注册授权文件


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?用户注册

x

您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:592439202

服务时间 9:00-22:00

金蝶用友易助管家婆深度服务
 
QQ在线咨询
售前咨询热线
592439202
售后服务热线
243998158
快速回复 返回顶部 返回列表