[K/3Cloud] 关于单据转换的问题】的更多相关文章

1. 单据转换,是否支持重复下推,支持新增下推和更新下推? 答:支持重复下推,是否允许下推受以下因素: 1).源分录是否是有效状态(源单单头状态会自动影响分录,下同),例如已审核.未关闭.未作废: 2).源分录的此路线组,还有剩余的可用量(路线组指状态追踪表中源状态到目标状态的迁移组): 3).如果允许超额,不超过超额控制量: 4).单据转换的配置中,符合其过滤条件: 5).单据插件的自定义控制: 2. 单据转换功能可支持单据头到单据头,是否支持单据体到单据头的下推? 答:支持,在字段映射时指定…
1.BOSIDE制作单据,支持动态表单,单据,基础资料,报表等域模型. 2.添加列,和原来单据体一样. 3.设置主键列名,父级主键字段名,行类型字段名,节点图片字段名(没有可以为空)   4.运行时展示:   5.数据库数据结构,其中FEntryID,FParentID,FRowType是必须的. 6.行类型配置FRowType的枚举如下: /// <summary> /// 应用到RowType字段上,支持多种状态组合. /// </summary> public enum EN…
1.针对显示行数限制: 模仿现在很流行的"查看更多"的模式,动态加载数据. 我相信这一点建议别人也提过,还请总部对此开展头脑风暴,因为在实际使用中客户总是不理解为何要限制行数,解释为了性能考虑依旧不解. 2.针对数据导出建议: 导出的数据源可以另外弹出个过滤界面或者过滤导出向导,引导客户进行导出,数据源从数据库取数.作为导出功能的一个补充. 通过专业人员的分析,现给出以下说明和解决方案: 问题1:首先限制行数确实是性能考虑,目前登陆列表界面默认加载2000行数据,这也是综合考虑后给出的…
1.下推事件及顺序 //初始化变量 OnInitVariable(InitVariableEventArgs e) //解析字段映射关系,并构建查询参数.这里可以加入你想要的额外的字段 OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e) //构建列表中选择数据行的In语句 OnInSelectedRow(InSelectedRowEventArgs e) //解析选单条件策略 OnParseFilter(ParseFilterEve…
概念: 创建一个业务单据转换插件,在单据转换的各个时点干预单据转换的相关逻辑控制. 示例: 新建一个类,继承自单据转换插件基类Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.AbstractConvertPlugIn. using Kingdee.BOS; using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.Pl…
Entity, EntryEntity, SubEntryEntity 这三个对象具有继承关系:Entity 是实体基类,用于定义各种实体的公共属性:EntryEntity 是单据体实体类,从Entity派生,增加了单据体的一些特性:SubEntryEntity 是子单据体实体类,从EntryEntity派生,增加了子单据体的一些特性: BusinessInfo.GetEntity()方法,返回的是Entity类型,此类已经包含了实体的ORM属性定义,利用此类,完全就可以到单据数据包中获取到数据…
大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目录中的website整个目录到另外一个开发目录中,例如:D:\K3Cloud4DEV\Website 2)如果你的操作系统是32位的,那么第2个步骤可以省略,如果你的系统是64位的,那么请找个32位的系统安装一下K/3Cloud,然后将安装目录下website\bin目录中所有o*.dll组件拷贝并…
现在菜单点击事件既可以挂操作又可以挂服务,那到底是应该挂操作还是服务呢? 有个需求是要求一个动作可以在两个时点被触发 1.单据由下推或选单生成的时候: 2.点击单据界面功能菜单: 这样是不是需要做一个服务端服务适应单据转换,还要再做一个操作响应菜单点击? 在往菜单上挂内容的时候服务也可以选到,操作也可以选到,到底应该用哪个? 这里指的服务是表单服务,在Web层. 这个需求建议你这样做: 1.定义一个DoNothing操作(自定义操作),上面挂个服务端插件,你的业务逻辑写到插件里 EndOpera…
之前有些人对这块有些疑问,比如: 1.选单操作是否和下推基本一样,都是公用同一套单据转换规则,只不过下推是源单推目标单,选单是目标单去选择源单,最终操作结果一样? 2,我想实现选单的时候,选单列表先通过插件过滤..是否支持这做法?..插件应该挂在哪个地方...重写哪个事件? 其实是一样的,选单会拿单据界面已经录入的部分字段对源单数据进行过滤,至于哪些字段参与过滤可以在单据转换规则上设置.配置在单据转换路线的插件策略上,派生AbstractConvertPlugIn类,可以看到有一些可重载的方法.…
有时,你可能想设置整列的精度,可以在插件中完成. 设置方法如下 : this.View.GetFieldEditor<DecimalFieldEditor>("FAmount", -1).Decimal = 2; 其中FAmount为单据体(或单据头)中的一个字段,如果要设置整列,则把第二个参数行号设置为-1.…
整单复制:先执行CopyData(获得数据包),在执行AfterCreateNewData(可处理数据包),不会执行AfterCreateNewEntryRow 单据新增:先执行AfterCreateNewEntryRow(处理数据包),在执行AfterCreateNewData,最后加载界面组织信息 注意: AfterCreateNewEntryRow函数里面,界面上字段值的信息全部不可用,因为数据加载在该函数之后:…
概念 创建一个业务单据插件,处理单据的相关控制逻辑. 示例 新建一个类,继承自单据插件基类Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn. using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.Metadata; using System; using System.Collections.Gener…
列表插件重写void ListRowDoubleClick(ListRowDoubleClickArgs e)事件,在事件中处理具体逻辑,具体代码如下 public override void ListRowDoubleClick(Core.List.PlugIn.Args.ListRowDoubleClickArgs e) { base.ListRowDoubleClick(e); BillShowParameter param = new BillShowParameter(); param…
有时候可能应为别的原因可能一不小心更改了数据库的密码,导致K/3 Cloud管理中心和单据打不开. 这个时候其实只要在注册一下就能解决了,在浏览器中输入http://192.168.25.35:8000/Silverlight/CMC.aspx 用这个地址重新注册就可以了.…
1.打开已有表单XML,找到FormAppearance的Menu节点,按Ctrl+C复制 <Appearances> <FormAppearance ElementType="500" ElementStyle="1"> <ElementType>500</ElementType> <LayoutKey>_Default</LayoutKey> <ShowMenu>1</Sh…
使用场景: 动态表单里面挂了个单据的序时薄,序时薄有菜单,但是把序时薄的工具栏隐藏了.新增,修改全部动态表单自己写.删除和过滤我想间接调用下隐藏的序时薄的删除和过滤按钮的操作.在插件里如何实现? 答: this.View.GetView(currentBillTabList).InvokeFormOperation("Filter"); this.View.SendDynamicFormAction(this.View.GetView(currentBillTabList));…
DynamicFormShowParameter参数的CustomParams参数列表只支持string类型的参数,对于复杂参数的传递需要通过单据View对象的共享Session来完成,如: 在调用界面调用目标界面之前将参数值加入共享Session this.View.Session[key] = value; this.View.ShowForm(param, CallbackFunc); 在目标界面中取用并及时清除 this.View.ParentFormView.Session.TryGe…
通常的编程中,我们习惯: btnOK.Enabled = true; 这个样子就会将按钮变成有效,反之亦然.但在ERP的表单中,其某个按钮或字段其有效性及其复杂,例如一个表格中某个数量单元格其有效性是这么写的: this.View.GetEditor("FAmount",1).Enabled = 物料填了吗 && 单据是可编辑 && 单据非只读打开 && 有权限编辑 && 有此字段编辑权限; 当然,实际情况会更复杂,而我们…
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. /// <summary> /// 库存查询 /// </summary> private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"]; object…
概念: 定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验.继承自校验器抽象对象AbstractValidator. 示例: 新建一个类,继承自AbstractValidator. 通常重写方法: Validate using Kingdee.BOS; using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn; usin…
在K3Cloud登录后的门户首页增加一个页签,如增加一个[BBS论坛] 2013-7-30 11:18:51 上传 下载附件 (84.81 KB)  增加页签 可以这么来做: 进入BOS IDE ,找到名称为主控台经典版,唯一标识为BOS_MainConsoleSutra 的动态表单: 为它写一个继承自AbstractDynamicFormPlugIn的表单插件,可能你会发现这个单据是只读的不能挂插件,在单据上右击,选择扩展单据就OK了: 在方法 public override void Aft…
基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下: K/3 Cloud 支持移动审批,支持安卓和IOS. 关于申请试用: 1.打开浏览器,进入mcloud网站(http://mCloud.kingdee.com),注册用户. 2.注册完毕,通过邮箱激活企业号后,登录mcloud,打开页签"企业信息管理"输入你的服务器的互联网上的地址,点击保存,然后下载企业授权key文件. 3.在应用管理 - 所有产品中,选择K/3工作流,点击…
现在除了K/3 Cloud v2.0的正式版之外,后续又发布了SP1和SP2补丁包.改善了一些问题和BUG,有些人之前可能之前装了SP1,有的可能没装过.在这里我说明一下: 不管装没装过补丁直接打SP2就好,SP2已包含了SP1. 之前是2.0,直接装SP2即可: 之前是2.0+sp1,也直接装SP2即可: 之前是2.0+sp1+补丁,也直接装SP2即可: SP2下载地址:http://open.kingdee.com/K3Cloud/CDPPortal/App.aspx?id=104019…
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"]; object materialId = this.View.Model.GetPKValue(); List&l…
新建一个类,继承自动态表单抽象插件类AbstractBillPlugIn,重写PreOpenForm. /// <summary> /// 销售订单 单据维护界面插件 /// </summary> public class SaleOrderEdit : AbstractBillPlugIn { // // Summary: // 动态表单打开前事件 // // Parameters: // e: // 动态表单打开前事件参数 public override void PreOpe…
2011-11-16 又学一招,集合转化临时表的方法: var sql = string.Format(@"select b.FENTRYID,a.{2} from {0} a inner join {1} b on a.FID = b.FID inner join table(strSplit(@FENTRYID, ',')) on b.FENTRYID = FENTRYID", ksql遇到Table(strSplit("xxxx",','))会把它转换成临时表…
private DynamicObject sourceBill = null;        object fid;        //获取源单数据(选单)        public override void OnGetDrawSourceData(BOS.Core.Metadata.ConvertElement.PlugIn.Args.GetDrawSourceDataEventArgs e)        {            base.OnGetDrawSourceData(e)…
在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. 例如: 在动态表单的按钮事件中调用此方法 //确定按钮事件 private void SaveClaimerAndDate() { string errMsg = Check(); if (!string.IsNullOrWhiteSpace(errMsg)) { this.View.ShowErr…
大家可以在表单插件EntityBlockPasting事件中自己处理,然后将cancel设置为true.以下代码可以参考一下,插件代码中需要将其中一些属性或方法修改,例如this.BusinessInfo替换为this.View.BusinessInfo,UpdateValue替换为this.View.Model.SetValue,this.StyleManager替换为((IDynamicFormView)this.View).StyleManager /// <summary> /// 块…
分页报表首先需要实现的方法就是GetList,这个方法用来获得分页的条件. 其他的就和其他报表类似了. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.Report; using System.Data; using Kingdee.BOS.App.Da…