首页 > 其他分享 >金蝶云星空在原有简单账表的基础上加上自定义字段

金蝶云星空在原有简单账表的基础上加上自定义字段

时间:2024-06-06 17:22:37浏览次数:24  
标签:TXBE 自定义 金蝶 BOS System Kingdee 账表 using CYL

以采购订单执行明细表为例,在原有基础上加上下面的两个字段

产业链备注:F_TXBE_CYL_Notes
产业链物料明细ID:F_TXBE_CYL_MateriaID
1、首先打开采购订单执行明细表过滤界面

找到显示隐藏列中的字段合集

 新增字段:产业链备注:F_TXBE_CYL_Notes
产业链物料明细ID:F_TXBE_CYL_MateriaID

2、打开采购订单执行明细表

在表中加入字段:产业链备注:F_TXBE_CYL_Notes
产业链物料明细ID:F_TXBE_CYL_MateriaID

标识和过滤列表中一致

3、代码二开

在vs中创建一个类,继承原报表的类

原来的服务器插件如图所示

 插件代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.Report;
using Kingdee.K3.SCM.App.Purchase.Report;
using System.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.Report;
using Kingdee.K3.SCM.App.Purchase.Report;
using System.ComponentModel;

namespace Demo.T_SAL_OUTSTOCK.BusinessPlugIn
{
[Description("报表添加字段")]
[Kingdee.BOS.Util.HotUpdate]

public class mingxi : PurchaseOrderExecuteRpt
{
private string[] TempTableName;
//重写创建临时表方法
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
//创建临时表用于保存自己的数据
IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();
TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1);
string strTable = TempTableName[0];

//调用基类方法,获取报表原始数据
base.BuilderReportSqlAndTempTable(filter, strTable);

//对初步的查询结果处理,然后回填到默认的存放查询结果到临时表
StringBuilder sb = new StringBuilder();

//未扩展之前,数据放在t1 strTable 采购订单执行明细表
//中文 FLOCALEID=2052

//{1}中查询出原始数据
string strSql = @"/*dialect*/select t1.*,ddl.F_TXBE_CYL_Notes,ddl.F_TXBE_CYL_MateriaID
into {0} from {1} t1
left join t_PUR_POOrder dd
on t1.fbillno=dd.fbillno
left join t_PUR_POOrderEntry ddl
on dd.fid=ddl.FID";

sb.AppendFormat(strSql, tableName, strTable);

DBUtils.Execute(this.Context, sb.ToString());
}


public override ReportHeader GetReportHeaders(IRptParams filter)
{
ReportHeader header = base.GetReportHeaders(filter);
header.AddChild("F_TXBE_CYL_Notes", new LocaleValue("产业链备注")).ColIndex = 99;
header.AddChild("F_TXBE_CYL_MateriaID", new LocaleValue("产业链物料明细ID")).ColIndex = 99;

return header;
}


public override void CloseReport()
{
//删除临时表
if (TempTableName == null || TempTableName.Length == 0)
{
return;
}

IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();

dbservice.DeleteTemporaryTableName(this.Context, TempTableName);

base.CloseReport();
}
}
}

 4、生成解决方案,如下图所示:

5、打包上传到公有云

将解决方案上传到程序集下面的其他资源下面

 

右键选择部分包构建,并选择要构建的dll包,然后选择在线构建

 

 

 然后在右键->我的构建历史中查看构建结果,构建完成后下载

 

然后去金蝶云天梯中上传对应的包

 

上传成功后进入采购订单执行明细表中,选择服务器插件并上传对应的dll文件,并取消被继承类的插件,这里的文件名为PurchaseOrderExecuteRpt

 

标签:TXBE,自定义,金蝶,BOS,System,Kingdee,账表,using,CYL
From: https://www.cnblogs.com/woshinige/p/18234862

相关文章

  • Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
    打包与运行window版本上制作我们要把idea中的程序抽取出来作为一个独立的jar包把jar包放到服务器上服务器是长期运行的我们就能随时访问了在Maven的生命周期中选择package打包功能在资源管理器中查找java-jar文件名.jarjava-jar文件名.jar但是我们在测试里面......
  • tapPromise 函数 (绑定hooks方法)tapable 库,创建自定义插件的库
    tapPromise函数(绑定hooks方法)tapable库,创建自定义插件的库刚看到了一个插件的use函数//引入组件use(plugin:IPluginClass,options?:IPluginOption){if(this._checkPlugin(plugin)&&this.canvas){this._saveCustomAttr(plugin);constpluginRu......
  • c#WinFrom自定义图表仪表控件-频谱
     这是为客户定制的一个频谱图表控件,先看下成品效果,gif较大,略等片刻   开发步骤分析:1、界面有多个间距不等的线分割的区域,每个区域的值范围不同,我们就需要把每个区域定义出来,方便我们操作的时候来计算值2、有几个圆圈是需要鼠标来回拖动的,那么就需要将每个圆的区域定义......
  • 自定义类型:联合和枚举
    自定义类型:联合和枚举上文我们了解到了对于C语言中没有定义的类型,我们可以用结构体自己重新定义一个适用的类型。那么自定义类型除了结构体还有另外两种自定义类型,分别是联合、枚举。1.联合体类型的声明像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以是不同......
  • docker自定义仓库
    使用官方镜像创建registry仓库容器: 下载官方registry镜像: #dockerpullregistry  在本地创建registry仓库容器: #mkdir-p/opt/data/registry#dockerrun-idt-p5000:5000--nameregistry-v/opt/data/registry/:/tmp/registryregistry//以上命令会创建一个名......
  • Toast自定义
    一、创建布局文件toast.xml<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wra......
  • EasyExcel 导出,导入自定义表头,表头更名
    一、场景在同一个场景中导出的Excel中的表头字段(title)存在不同的名称(表头、标题),在导出时,要存在差异化,并且导出的模版要同时可以导出二、方案在导出时,添加自定义的handler,对导出的字段进行处理,更换导出的字段名称在导入时,自定义需要获取的表头名称三、代码示例测试类imp......
  • springboot如何去自定义端口
    springboot如何去自定义端口https://blog.csdn.net/m0_63102097/article/details/138584857 1.在application.properties文件中设置端口号:server.port=80802.在application.yml文件中设置端口号:   server:     port:80803.通过命令行参数指定端口号启动应用程序:jav......
  • nuxt3中环境变量env不生效(process.env打印不出来自定义变量)
    按理环境变量env配置比较简单。网上一搜一堆。但是我按网上配置后都打印不出来(process.env)后来发现在nuxt.config.ts里面配置的runtimeConfig会自动对应到环境变量上运行时配置在官网的迁移里面写了。猜测可能是我版本比较高(3.11.2)。网上配置失效环境变量配置//.env.deve......
  • 使用自定义数据训练 YOLOv10
    节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。合集:持续火爆!!!《AIGC面试宝典》已圈粉无......