业务场景:销售订单下推销售出库单,判断是什么单据状态,然后触发相应的操作
标准产品,多单据体下推,单据转换中,只能配置一个单据体;
销售订单、销售出库单,单据体,分别都新增一个页签,下推,把销售订单上面多单据体备注,带到销售出库单上面;
销售订单、销售出库单,单据体,分别都新增一个页签,增加一个文本字段备注;
选择一个单据体页签,点最后面的按钮,添加页签
工具箱,拖动单据体到页签里面,设置停靠,充满
再拖动文本到页签里面
2.1、销售订单、销售出库单,单据体,分别都新增一个页签后,下推;
3、
//如果是新增状态,下推的,销售出库单,加载完成之后
if (this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
4、
//如果是下推生成的,销售出库单上面有订单单号
//获取源单,订单单号FSOORDENDO ,第一行,不等于空
if(Convert.ToString(this.View.Model.GetValue("FSOORDERNO",0))!="")
5、
//定义几个字段,后面sql用
string sql;
DataSet ds;
DataTable dt;
6、添加引用
using System.Data;
7、
//到数据库里面,寻找,关联的备注信息
sql = "/*dialect*/";
8、打开BOS,销售订单,新增的页签,获取表名 YDIE_t_Cust_Entry100017
select * from YDIE_t_Cust_Entry100017
--获取销售订单,新增页签,备注字段
select F_YDIE_TEXT,* from YDIE_t_Cust_Entry100017
--通过销售订单,单据编号,找信息,通过FID关联
select FID from T_SAL_ORDER where FBILLNO ='XSDD000027'
--关联
select F_YDIE_TEXT,* from YDIE_t_Cust_Entry100017 where FID in
(select FID from T_SAL_ORDER where FBILLNO ='XSDD000027')
//到数据库里面,寻找,关联的备注信息
sql = "/*dialect*/select F_YDIE_TEXT,* from YDIE_t_Cust_Entry100017 where FID in (select FID from T_SAL_ORDER where FBILLNO ='" + Convert.ToString(this.View.Model.GetValue("FSOORDERNO", 0)) + "')";
//如果是新增状态,下推的,销售出库单,加载完成之后
if (this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
{
//定义几个字段
string sql;
DataSet ds;
DataTable dt;
//如果是下推生成的,销售出库单上面有订单单号
//获取源单,订单单号FSOORDERNO ,第一行,不等于空
if(Convert.ToString(this.View.Model.GetValue("FSOORDERNO",0))!="")
{
//到数据库里面,寻找,关联的备注信息
//获取上面关联的值1001,写入销售出库单里面
sql = "/*dialect*/select F_YDIE_TEXT,* from YDIE_t_Cust_Entry100017 where FID in (select FID from T_SAL_ORDER where FBILLNO ='" + Convert.ToString(this.View.Model.GetValue("FSOORDERNO", 0)) + "')";
//读取数据库里面的,执行数据,赋值给ds
ds = DBUtils.ExecuteDataSet(this.Context, sql);
//读取第一行数据
dt = ds.Tables[0];
//循环dt表,给单据体赋值,如果行大于0
if(dt.Rows.Count >0)
{ //循环读取每一行数据
for (int i = 0; i < dt.Rows.Count; i++)
{
//给备注F_YDIE_TEXT,赋值
//dt.Rows[i]行 ["F_YDIE_TEXT"].ToString() 列
this.View.Model.SetValue("F_YDIE_TEXT", dt.Rows[i]["F_YDIE_TEXT"].ToString(),i);
}
}
//刷新单据体this.View.UpdateView("YDIE_t_Cust_Entry100017");
销售出库单,注册插件
最终效果:新增销售订单后填写新增页签、单据体备注信息,然后下推销售出库单,就可以发现备注带到了销售出库单上面;