电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

【学习】字段的取值赋值

来源:金蝶云社区作者:金蝶2024-09-162

【学习】字段的取值赋值

单据头取值

字段标识 取值1:VVHD_QZ1 取值2:VVHD_QZ2 赋值1:VVHD_FZ1

使用this.Model.GetValue("字段标识") 方法可以直接获取字段的值

var value1 = this.Model.GetValue("F_VVHD_Text1");//文本 数字类型可以直接取值
var F_VVHD_WL = this.Model.GetValue("F_VVHD_WL");//基础资料不可以直接取值
this.View.ShowMessage(value1 + "-----" + F_VVHD_WL);

image.webp

注意文本框的取值是没有问题的 但基础资料就变成了一个类型参数(所以就需要用到转换)




var value1 = this.Model.GetValue("F_VVHD_Text1");//文本 数字类型可以直接取值
var F_VVHD_WL = this.Model.GetValue("F_VVHD_WL");//基础资料不可以直接取值
string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString(); //取值方法1
string Name2 = ((dynamic)F_VVHD_WL).Name;       //取值方法2
this.View.ShowMessage(value1 + "-----" + Name1 + "----" + Name2);

image.webp

DynamicObject dynamic 都是在运行时解析这个字段具体有什么值(如果值解析不到值会报错)

这样就可以去拿到基础资料的任意值了



单据体取值

int count = this.Model.GetEntryRowCount("明细信息标识"); 

                int count = this.Model.GetEntryRowCount("FPOOrderEntry");
                string str = "";
                for (int i = 0; i < count; i++)
                {
                    var value1 = this.Model.GetValue("FTaxPrice", i);//文本 数字类型可以直接取值
                    var F_VVHD_WL = this.Model.GetValue("FMaterialId", i);//基础资料不可以直接取值
                    string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString(); //取值方法1
                    str += value1 + "-----" + Name1 + "----" + "第" + i.ToString() + "行" + "\r\n";   
                }
                this.View.ShowMessage(str);

image.webp

注意

单据体在选择物料后会自动新增一行单据体 所以 i 初始为2 

当 i 为 1 时 解析到第二行空值时就会报错




使用这个方法F_VVHD_WL.IsNullOrEmpty() 来判断这个基础资料的值是否为空

                int count = this.Model.GetEntryRowCount("FPOOrderEntry");
                string str = "";
                for (int i = 0; i < count; i++)
                {
                    var value1 = this.Model.GetValue("FTaxPrice", i);//文本 数字类型可以直接取值
                    var F_VVHD_WL = this.Model.GetValue("FMaterialId", i);//基础资料不可以直接取值
                    if (!F_VVHD_WL.IsNullOrEmpty())
                    {
                        string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString(); //取值方法1
                        str += value1 + "-----" + Name1 + "----" + "第" + i.ToString() + "行" + "\r\n";
                    }
                }
                this.View.ShowMessage(str);

image.webp



单据头向单据体赋值

this.Model.GetValue("字段标识",值,字段所在行(如果字段在单据头可不填))

image.webp

                var value1 = this.Model.GetValue("F_VVHD_Text1");//文本 数字类型可以直接取值
                var F_VVHD_WL = this.Model.GetValue("F_VVHD_WL");//基础资料不可以直接取值
                string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString(); //取值方法1
                int count = this.Model.GetEntryRowCount("FPOOrderEntry");
                for (int i = 0; i < count; i++)
                {
                    this.Model.SetValue("FTaxPrice", value1, i);
                    this.Model.SetValue("FMaterialId", Name1, i);
                }

进行基础资料赋值时 必须使用 id (字段的内码)进行赋值 使用编码将无法解析


代码分享

using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace XueXi
{
    [Description("学习按钮点击取值赋值"), HotUpdate]
    public class Class2 : Abs

【学习】字段的取值赋值

单据头取值字段标识 取值1:VVHD_QZ1 取值2:VVHD_QZ2 赋值1:VVHD_FZ1使用this.Model.GetValue("字段标识") 方法可以直接获取字段的值...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信