PLM二开·关于上传文档后处理自定义扩展字段

【应用场景】
文档新增是可以默认创建人和创建时间,但是文档导入后,自定义的创建日期和创建人没法触发。
【案例演示】
文档导入后处理自定义创建日期和创建人字段
【实现步骤】
如果你刚接触PLM二开,你可能需要参考:
如何编写二开插件配置等请参考:二次开发扩展程序开发之插件模式https://vip.kingdee.com/article/83591896433330944?productLineId=1
其他星空PLM开发指南也可以参考 【汇总】星空PLM二开指南(持续更新)https://vip.kingdee.com/article/329914697153905408?productLineId=1&isKnowledge=2
更多详细的金蝶云星空BOS二次开发指南:https://vip.kingdee.com/article/94751030918525696?productLineId=1&isKnowledge=2
<1>编写表单插件,添加引用:

<2>新增自定义类,继承PLM动态表单插件AbstractPLMDynamicFormPlugIn。 重写AfterBarItemClick事件,上传文档后将物理文件加到缓存。代码如下:
namespace ISV.DocumentObjectBill.ServicePlugIn
{
[Description("上传文档插件")]
public class ImportDocumentBill : AbstractPLMDynamicFormPlugIn
{
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
switch (e.BarItemKey)
{
//上传文档
case "btnUploadFile":
Kingdee.BOS.Core.Metadata.EntityElement.Entity entity = PLMView.CurrentView.BusinessInfo.GetEntity("FEntity");
var fileIds = this.PLMView.CurrentView.Model.GetEntityDataObject(entity).Select(x => x["FileId"].ToString()).ToList(); ;
PLMCacheUtil.SetCache(this.PLMContext, "PLM_UploadFileIds", fileIds);
break;
}
base.AfterBarItemClick(e);
}
}
}
<3>新增自定义类,继承PLM列表插件AbstractPLMListPlugIn。 重写BeforeDoOperation事件,上传文档成功后会刷新文档库,此时给自定义字段赋值。代码如下:
namespace ISV.DocumentObjectBill.ServicePlugIn
{
[Description("处理自定义扩展字段插件")]
public class HandleCustomParamsForm : AbstractPLMListPlugIn
{
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
string Operation = e.Operation.FormOperation.Operation;
if (Operation.ToUpper() == "REFRESH")
{
var fileIds = PLMCacheUtil.GetCache(this.PLMContext, "PLM_UploadFileIds") as List<string>;
if (fileIds != null && fileIds.Count > 0)
{
var docIds = GetDocIDByPhyFieldList(this.PLMContext, fileIds).Select(x => Convert.ToInt64(x["FID"])).ToArray();
var docDyns = DomainObjectManager.AutoLoad(PLMContext, docIds);
if (docDyns != null)
{
foreach (var doc in docDyns)
{
doc["F_PLM_CreatorId_Id"] = Convert.ToInt64(doc["F_PLM_CreatorId_Id"]) == 0 ? PLMContext.BOSContext.UserId : doc["F_PLM_CreatorId_Id"];//初始创
PLM二开·关于上传文档后处理自定义扩展字段
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



