金蝶云星空-表单插件,赋值SetValue(三)

给单据头,备注赋值,你好

this.View.Model.SetValue("FNote", "你好");

1、最终效果,打开销售订单,点按钮“获取值”,备注变成“你好”;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//引用
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS;

//热启动,不用重启IIS,引用
using System.ComponentModel;


namespace Kingdee.Bos.ObjectName.Bill.Plugln
{
    //插件名字
    [Description("表单插件获取和设置值")]
    //热启动,不用重启IIS
    [Kingdee.BOS.Util.HotUpdate]
    
    
    //继承函数:AbstractBillPlugIn
    public class ClassName:AbstractBillPlugIn
    {
        //重写点击按钮函数
        public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            
            //给单据头,备注赋值,你好
            this.View.Model.SetValue("FNote", "你好");
        }
    }
}

<think>嗯,用户想了解金蝶云星空基础资料赋值的具体方法和操作步骤。从问题描述来看,用户应该是开发者或实施顾问,需要技术层面的操作指导。 上次对话中提供的四个引用很有价值:引用[1]提到金蝶功能冗余的特点,引用[2][4]展示了接口调用和系统集成的实例,引用[3]则指向了官方考试题库。这些材料共同指向两个关键点:一是金蝶的多入口特性(用户可能因此困惑),二是需要区分前端操作和后端开发两种实现路径。 用户没有说明具体的使用场景,但结合引用[4]的Java/JS代码示例,ta更可能需要开发解决方案而非单纯的前台操作。因此考虑在回答中同时包含两种方式:先说明基础的前台赋值方法(满足快速修改需求),再重点展开API开发方案(引用[2][4]的集成案例)。 特别注意要强调金蝶特有的多入口问题(呼应引用[1]的冗余性提醒),比如物料页面的"基本单位"字段可能在计量单位组、物料基本资料、BOM个地方出现。这点必须写在最前面作为警告提示,避免用户踩坑。 开发部分准备分层说明:前端JS扩展(简单场景)、WebAPI调用(批量处理)、反写规则(特殊业务)。其中动态脚本部分直接引用[4]的Maven依赖示例,executeBillQuery接口则关联引用[2]的数据集成案例。每个代码片段都保持最小可用原则——例如JS校验只保留核心的this.viewModel.get方法,避免用户被无关代码干扰。 最后设计个延伸问题:校验规则对应引用[3]的考试题库(暗示官方考点),反写规则延续引用[1]的BUG调试提示,API批量方案则深化引用[2][4]的集成场景。这样既能串联现有资料,又能覆盖用户可能需要的进阶路径。 </think>在金蝶云星空系统中,**基础资料赋值**是核心开发操作,需根据业务场景选择前台操作或后台开发实现。以下是详细方法和步骤: --- ### **一、前台操作赋值(适用于简单场景)** 1. **基本赋值** - 打开基础资料表单(如物料、客户),在目标字段直接输入值。 - **注意**:部分字段需通过基础资料辅助按钮(如`F8`)选择关联值(如物料分类、计量单位)。 2. **批量赋值(高效操作)** - 进入**数据中心管理 → 批量引入**模块。 - 下载模板文件 → 填写赋值数据 → 导入系统(支持`.xls`/`.xlsx`)。 - *适用场景*:初始化数据或批量修改字段(如修改物料税率)。 --- ### **二、后端开发赋值(API/插件开发)** #### **方法1:Web API调用(跨系统集成)** ```java // 引用[4]的依赖配置(Java示例) import com.kingdee.bos.webapi.client.*; public void assignMaterialBaseData() { ApiClient client = new ApiClient("https://your-k3cloud-url"); client.login("username", "password", 语言ID, 组织ID); // 构造赋值数据(以修改物料名称为例) JSONObject material = new JSONObject(); material.put("FNumber", "MAT001"); // 物料编码 material.put("FName", "新物料名称"); // 赋值目标字段 // 调用保存接口 client.execute("BD_MATERIAL", "Save", material.toString()); } ``` > **步骤**: > 1. 引入`k3cloud-webapi-sdk`依赖(版本需匹配)[^4] > 2. 通过`executeBillQuery`查询目标数据标识 > 3. 使用`Save`接口提交赋值数据 #### **方法2:表单插件前端动态赋值)** ```javascript // 在基础资料表单插件中实现(如物料页面) this.OnLoad = function() { // 监听字段变化动态赋值 this.View.AddFieldListener("FUnitID", function(fieldName, args) { // 当计量单位变化时,自动赋值默认仓库 if (this.View.Model.getValue("FUnitID") === "KG") { this.View.Model.setValue("FDefaultWarehouse", "成品仓"); // 赋值仓库字段 } }, this); }; ``` > **关键点**: > - 插件需部署至金蝶BOS IDE > - 通过`setValue(fieldKey, value)`实现动态赋值 #### **方法3:反写规则(业务逻辑触发)** 1. **配置路径**:BOS设计器 → 目标基础资料 → 反写规则 2. **赋值逻辑示例**: ``` 当[客户等级] = "VIP"时, 自动赋值[信用额度] = 1000000, 赋值[折扣率] = 0.9 ``` --- ### **、注意事项** 1. **多入口问题** 如引用[1]所述,金蝶功能入口冗余(如物料字段可能在**基本资料/扩展资料/单据体**中定义),需确认字段所在位置[^1]。 2. **数据一致性** - 关键字段(如编码、名称)赋值后需调用`CheckNumberUnique`验证唯一性 - 批量操作建议启用事务管理(失败回滚)[^2] 3. **性能优化** 批量API调用时,使用`BatchSave`接口减少请求次数(引用[2]的集成方案)[^2]。 --- ### **
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑着牛的奇兵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值