在开发过程中很多地方都需要操作表单界面上的东西,这个时候我们就可以通过试图来打开这个表单或者基础资料,通过this.View.XXX去操作这个表单上的东西
场景1:与CRM系统对接的时候,通过执行计划定时抓取CRM中的客户信息,创建金蝶的客户基础资料,这个时候有几种方式,常见的有,1.调用金蝶提供的标准API去新增客户,2.直接insert into 客户表和其他的关联表(一般不考虑),3.通过创建试图的方式去创建客户
场景2:在表单插件里面去操作另外一个基础资料的信息对其修改或者生成单据
操作试图的优点:与前台手工做单一致
直接上代码
/// <summary>
/// 客户执行计划
/// </summary>
public class CustomerService : IScheduleService
{
public void Run(Context ctx, Kingdee.BOS.Core.Schedule schedule)
{
ctx.CurrentOrganizationInfo = new OrganizationInfo
{
ID = 1,
Name = string.Empty
};
Customer(ctx);
}
/// <summary>
/// 根据编号创建或修改客户
/// </summary>
/// <param name="ctx"></param>
private void Customer(Context ctx)
{
BaseData baseData = new BaseData();//获取数据
List<recordsAccount> recordsAccount = baseData.Customerlist(ctx);
if (recordsAccount == null)
{
return;
}
else
{
foreach (var z in recordsAccount)
{
AccessResult accs = CreateCustomer.Create(ctx, z);//循环创建
}
}
}
/// <summary>
/// 创建一个单据视图,后续将利用此视图的各种方法,设置字段值
/// </summary>
/// <remarks>
/// 理论上,也可以直接修改数据包达成修改数据的目的
/// 但是,利用单据视图更具有优势:
/// 1. 视图会自动触发插件,这样逻辑更加完整;
/// 2. 视图会自动利用单据元数据,填写字段默认值,不用担心字段值不符合逻辑;
/// 3. 字段改动,会触发实体服务规则;
///
/// 而手工修改数据包的方式,所有的字段值均需要自行填写,非常麻烦
/// </remarks>
public static IBill

本文介绍了如何在金蝶系统中通过视图操作实现客户基础资料的创建与更新,包括调用API、直接插入和利用单据视图自动触发插件、元数据填充等,提升开发效率与逻辑一致性。
最低0.47元/天 解锁文章
2042

被折叠的 条评论
为什么被折叠?



