首页 > 其他分享 >金蝶云星空批改单据体字段

金蝶云星空批改单据体字段

时间:2024-12-04 11:10:05浏览次数:2  
标签:Core 金蝶 BOS Kingdee 批改 单据 import 体字段

#引入clr运行库 import clr #添加对cloud插件开发的常用组件的引用 clr.AddReference('System') clr.AddReference('System.Data') clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee.BOS.Core') clr.AddReference('Kingdee.BOS.App') clr.AddReference('Kingdee.BOS.ServiceHelper') clr.AddReference('Newtonsoft.Json') #导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入) from Kingdee.BOS import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core.Metadata.ElementMetadata import* from Kingdee.BOS.Core.DynamicForm import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import * from Kingdee.BOS.Core.List import* from Kingdee.BOS.Core.List.PlugIn import * from Kingdee.BOS.Core.SqlBuilder import * from Kingdee.BOS.Core.Metadata import * from System import * from System.Data import * from Kingdee.BOS.App.Data import * from System.Collections.Generic import List from Kingdee.BOS.ServiceHelper import * from Newtonsoft.Json import JsonConvert from Newtonsoft.Json.Linq import * from Kingdee.BOS.JSON import*
BukEditFormId="TXBE_BulkEditFldInput";#批改字段录入动态表单界面标识 BukEditBarItemKey="TXBE_tbBukEdit";#单据列表自定义的批改菜单标识 notAllowStatus=["123123123123123123123123123123"];#不允许批改的单据状态,例如,已审核(C)不允许批改,批改执行时,自动忽略该状态的单据,不进行批改操作 BulkEditFlds=["FWorkShopId1"];#需要批改的字段集合 def getEntityType(entityType):     if(entityType==ElementType.ELEMENTTYPE_BILLHEAD):#单据头         return "单据头";     elif(entityType==ElementType.ELEMENTTYPE_SUBBILLHEAD):#子单据头         return "子单据头";     elif(entityType==ElementType.ELEMENTTYPE_BILLBODY):#单据体         return "单据体";     else:         return ""; def ChildFromClosed(obj):     if (obj.ReturnData == None):         return;     msg=("批改完成:{0}").format(obj.ReturnData);     this.View.ShowMessage(msg);     this.View.Refresh();     #this.ListView.RefreshSelectRows(this.ListView.SelectedRowsInfo);#只刷新选中行,但是会把表头字段刷新出来 #弹出动态表单子页面的方法 def ShowListEditForm(ListData):     global BukEditFormId,BulkEditFlds,notAllowStatus;     enumList=List[EnumItem]();     warningMsgList=[];     for fldKey in BulkEditFlds:         fld=this.View.BillBusinessInfo.GetField(fldKey);         if(fld is None):             err=("设定需要字段标识[{0}],在当前单据不存在,请检查!").format(fldKey);             this.View.ShowWarnningMessage(err);             return;         fldType=fld.GetType().Name;         fldEntity=fld.Entity;         fldEntityKey=fldEntity.Key;#所属实体的标识         fldEntityProName=fldEntity.EntryName;#所属实体对应的ORM实体属性标识         fldEntityEleType=getEntityType(fldEntity.ElementType);         entityName=fld.Entity.Name;         fldName=("{0}.{1}").format(entityName,fld.Name);         #子单据体不支持         if(fldEntity.GetType().Name=="SubEntryEntity" or fldEntity.GetType().BaseType.Name=="SubEntryEntity"):             msg=("字段[{0},{1}],是子单据体[{2},{3}]中的字段,暂不支持子单据体字段批量修改,批改界面不会显示该字段!").format(fldKey,fldName,fldEntityKey,entityName);             warningMsgList.append(msg);             continue;         if(fldEntityEleType in ["单据体"]):             if(ListData[0].EntryEntityKey<>fldEntityKey):                 msg=("字段[{0},{1}],是单据体字段,列表必须显示该单据体[{2},{3}],才能批改单据体字段,批改界面不会显示该字段!").format(fldKey,fldName,fldEntityKey,entityName);                 warningMsgList.append(msg);                 #this.View.ShowWarnningMessage(msg);                 continue;         enumItem = EnumItem();         enumItem.Caption=LocaleValue(fldName,2052);         enumItem.EnumId=fldKey;         enumItem.Value=fldKey;         enumList.Add(enumItem);     if(len(warningMsgList)>0):         this.View.ShowWarnningMessage("\r\n".join(warningMsgList));     dynamicFormShowParameter=DynamicFormShowParameter();     guid = str(Guid.NewGuid());     dynamicFormShowParameter.PageId=guid;     dynamicFormShowParameter.FormId=BukEditFormId;#动态表单子页面FormID       dynamicFormShowParameter.CustomComplexParams.Add("ListData", ListData);#将构建好的参数传入子页面     dynamicFormShowParameter.CustomComplexParams.Add("FldList", enumList);     dynamicFormShowParameter.CustomComplexParams.Add("notAllowStatus", notAllowStatus);     this.View.ShowForm(dynamicFormShowParameter, Action[FormResult](ChildFromClosed));#弹出动态表单
    #列表菜单点击后事件,列表菜单点击完成后触发 #使用时一定要判断菜单标识!!! #自定义菜单功能实现建议在此事件中完成 def AfterBarItemClick(e):     global BukEditBarItemKey;     key=e.BarItemKey.ToUpperInvariant();     if(key==BukEditBarItemKey.ToUpperInvariant()):         selectedRowsInfo=this.ListView.SelectedRowsInfo;#列表勾选的数据集         billIDs=selectedRowsInfo.GetPrimaryKeyValues();         #entryIDs=selectedRowsInfo.GetEntryPrimaryKeyValues();         if (billIDs.Length<= 0):             this.View.ShowWarnningMessage("未选择任何行!");             return;         #msg=("选中了[{0}]个单据,[{1}]条明细!").format(billIDs.Length,entryIDs.Length);         #this.View.ShowMessage(msg);         ShowListEditForm(selectedRowsInfo);

需要修改的地方: BukEditBarItemKey字段修改为按钮对应的标识(按钮加在列表菜单中) BulkEditFlds 字段中存放需要修改的字段标识 修改完成后将插件注册到列表插件中

 

标签:Core,金蝶,BOS,Kingdee,批改,单据,import,体字段
From: https://www.cnblogs.com/woshinige/p/18585880

相关文章

  • 金蝶云星空与新宝平台数据集成提升生产效率
    金蝶云星空与新宝平台数据集成提升生产效率金蝶云星空与新宝-产业链协同平台的数据集成案例分享在现代制造业中,数据的高效流动和精准对接是实现智能化生产的重要基础。本文将聚焦于一个具体的系统对接集成案例:如何通过轻易云数据集成平台,将金蝶云星空中的生产订单数据无缝......
  • 实现旺店通与金蝶系统无缝集成的高效方案
    实现旺店通与金蝶系统无缝集成的高效方案旺店通销售出库单-金蝶直接调拨单【202305】集成方案在企业信息化管理中,数据的高效流动和精准对接是提升业务效率的关键。本文将分享一个实际案例:如何通过轻易云数据集成平台,将旺店通·旗舰奇门的数据无缝集成到金蝶云星空系统中,实......
  • 高效数据集成:CU不良品出库单与金蝶系统的完美对接
    CU不良品其他出库单-金蝶其他出库单集成案例分享在企业的日常运营中,数据的高效流转和准确对接至关重要。本文将聚焦于一个具体的系统对接集成案例:如何将易仓平台中的CU不良品其他出库单数据无缝集成到金蝶云星空系统中。为了实现这一目标,我们采用了轻易云数据集成平台,通过其强大......
  • 高效数据集成:销售退货单从旺店通到金蝶
    销售退货单旺店通→金蝶:高效数据集成案例分享在企业信息化管理中,销售退货单的准确处理和及时更新至关重要。本文将聚焦于如何通过轻易云数据集成平台,实现旺店通·企业奇门与金蝶云星空之间的无缝对接,具体方案为“销售退货单旺店通→金蝶”。为了确保数据集成过程的高效性和可靠......
  • 金蝶云星空——采购订单新变更单
    目录0.背景1.从采购订单查询相关的数据2.创建采购订单新变更单的JSON格式参数3.关于新变更单未生效版本的查询4.其他说明0.背景采购订单新变更单,不是通过下推创建的,而是通过业务操作-->修改变更进行创建的注意:若是采购订单中:业务查询按钮下没有:变更查询,则需要到“采购管......
  • 钉钉样机归还申请数据无缝集成到金蝶云星空
    钉钉样机归还申请数据无缝集成到金蝶云星空钉钉数据集成到金蝶云星空:Done-钉钉-样机归还申请——>金蝶-其他出库单在企业信息化管理中,数据的高效流转和精准对接是提升业务效率的关键。本文将分享一个具体的系统对接集成案例,即如何通过轻易云数据集成平台,将钉钉中的“样机归......
  • 高效数据集成:旺店通转金蝶云星空案例分析
    旺店通·企业奇门数据集成到金蝶云星空的技术案例分享在现代企业的运营过程中,数据的高效流转和精准对接是提升业务效率的重要环节。本文将重点介绍如何通过轻易云数据集成平台,将旺店通·企业奇门的数据无缝集成到金蝶云星空系统中,实现其他入库单的高效管理。本次集成方案命名为......
  • 金蝶Kingdee Wise ERP 12.3物理机迁移到Hyper-V(Windows Server 2008)
    一、系统迁移详细操作步骤1.数据虚拟化:使用Disk2vhd工具转换磁盘格式为VHD下载Disk2vhd工具:访问Sysinternals官方网站下载Disk2vhd工具,下载地址为:Disk2vhd下载链接。安装并打开Disk2vhd:解压下载的Disk2vhd.zip文件,运行Disk2vhd.exe程序。选择源磁盘并转换为VHD:在Dis......
  • 钉钉数据如何高效集成到金蝶云星空系统
    钉钉数据集成到金蝶云星空的技术案例分享在企业日常运营中,办公用品采购流程的高效管理至关重要。为了实现这一目标,我们采用了轻易云数据集成平台,将钉钉中的采购申请单数据无缝对接到金蝶云星空系统中。本次案例将详细解析【办公用品采购】采购申请单对接==>钉钉—金蝶的具体实施......
  • 基于SSM的作业批改系统+LW示例参考
    1.项目介绍功能模块:管理员(学生管理、教师管理、作业信息管理、作业提交管理、作业批改管理等)、学生(个人信息管理、作业提交、作业查看等)、教师(个人中心、作业创建、作业批改等)技术选型:SSM、vue、等测试环境:idea2024,mysql5.7,maven3,tomcat8,jdk1.8,navicat2.项目部署通过navi......