[K/3Cloud]K3Cloud的移动审批方面】的更多相关文章

基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下: K/3 Cloud 支持移动审批,支持安卓和IOS. 关于申请试用: 1.打开浏览器,进入mcloud网站(http://mCloud.kingdee.com),注册用户. 2.注册完毕,通过邮箱激活企业号后,登录mcloud,打开页签"企业信息管理"输入你的服务器的互联网上的地址,点击保存,然后下载企业授权key文件. 3.在应用管理 - 所有产品中,选择K/3工作流,点击…
有时候我们的表单可能很简单,只是一个简单交互的表单,但有可能还是要劳师动众的给它建个工程写个插件,是不是很不爽?例如我有如下一个表单: 功能很简单就是选个业务对象,收集绑定几个字段名,然后确定返回一个对象而已.我不想写插件,因为K3Cloud是基于.net 4.0的,它对动态语言有了支持,于是我选择使用python来实现这个简单逻辑,以下是我的py插件,有注释,小伙伴们应该读得懂: #引入clr运行库 import clr #添加对cloud插件开发的常用组件的引用 clr.AddReferen…
大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目录中的website整个目录到另外一个开发目录中,例如:D:\K3Cloud4DEV\Website 2)如果你的操作系统是32位的,那么第2个步骤可以省略,如果你的系统是64位的,那么请找个32位的系统安装一下K/3Cloud,然后将安装目录下website\bin目录中所有o*.dll组件拷贝并…
按照图上的操作即可解决不可提交的问题,但如果应用服务器是部署在域环境下,应该不会出错,这是微软support上说的…
过自定义页签动态添加一些内容,比如网页链接.图片等. 如果是动态的增加链接,可以参考一下代码,然后在ButtonClick事件里面对链接进行处理. public override void AfterBindData(EventArgs e) { base.AfterBindData(e); List<PortalInforationContract> showInfos = GetInfo()//从数据库中读出要动态显示的内容; if (showInfos == null) { return…
现在除了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…
概念 创建一个业务单据插件,处理单据的相关控制逻辑. 示例 新建一个类,继承自单据插件基类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…
概念: 创建一个业务单据转换插件,在单据转换的各个时点干预单据转换的相关逻辑控制. 示例: 新建一个类,继承自单据转换插件基类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…
概念: 定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验.继承自校验器抽象对象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…
有时候可能应为别的原因可能一不小心更改了数据库的密码,导致K/3 Cloud管理中心和单据打不开. 这个时候其实只要在注册一下就能解决了,在浏览器中输入http://192.168.25.35:8000/Silverlight/CMC.aspx 用这个地址重新注册就可以了.…
第一步:安装Cloud1.0,创建管理中心,创建业务数据中心,备份管理数据库和业务数据库,并且备份安装目录: 第二步:卸载Cloud1.0,清理安装目录,安装Cloud2.0,创建管理中心,创建业务数据中心: 第三步:使用1.0的kingdee站点管理工具(k3cloud\Tools\SiteManager下运行Kingdee.K3.Management.Website.Console应用程序)创建1.0的管理站点,业务站点和Chickonce站点. 创建业务站点:虚拟目录挂在默认的web si…
自从下载了sp1后,就迫不急待的试用下,看看反馈的几个关键bug是否修复,可惜sp1安装后发现业务站点下的组件一个都没有被更新,这指定是有问题了,这真是让哥百思不得其解,真后悔在研发时没仔细研究下部署原理,现在出来后没有源码是一筹莫展呀. 这2天手边紧急事情也搞得差不多了,于是重新回来研究下,从百宝箱里拿出了终级武器.net reflector,一边生成pdb,一边重启iis,准备干活,生成后pdb后,再attach w3wp.exe和Kingdee.Tools.PackageTool.UI.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…
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));…
现在菜单点击事件既可以挂操作又可以挂服务,那到底是应该挂操作还是服务呢? 有个需求是要求一个动作可以在两个时点被触发 1.单据由下推或选单生成的时候: 2.点击单据界面功能菜单: 这样是不是需要做一个服务端服务适应单据转换,还要再做一个操作响应菜单点击? 在往菜单上挂内容的时候服务也可以选到,操作也可以选到,到底应该用哪个? 这里指的服务是表单服务,在Web层. 这个需求建议你这样做: 1.定义一个DoNothing操作(自定义操作),上面挂个服务端插件,你的业务逻辑写到插件里 EndOpera…
DynamicFormShowParameter参数的CustomParams参数列表只支持string类型的参数,对于复杂参数的传递需要通过单据View对象的共享Session来完成,如: 在调用界面调用目标界面之前将参数值加入共享Session this.View.Session[key] = value; this.View.ShowForm(param, CallbackFunc); 在目标界面中取用并及时清除 this.View.ParentFormView.Session.TryGe…
因为辅助资料其实是一种特殊的基础资料,其赋值方法跟基础资料类似 this.Model.SetItemValueByNumber("FAssistant1", "America", 0); 如果要在新增时赋值,则将代码写在AfterCreateEntityData事件中.…
this.GetControl<TabControl>(key).SelectedIndex=目标Index Ps:如下方式隐藏页签: this.View.GetControl("FTab1_P").Visible = false; 要触发TabItemSelectedChange事件,还要设置下 this.View.GetControl<TabControl>("FBillList").SetFireSelChanged(true); 控制…
通常的编程中,我们习惯: btnOK.Enabled = true; 这个样子就会将按钮变成有效,反之亦然.但在ERP的表单中,其某个按钮或字段其有效性及其复杂,例如一个表格中某个数量单元格其有效性是这么写的: this.View.GetEditor("FAmount",1).Enabled = 物料填了吗 && 单据是可编辑 && 单据非只读打开 && 有权限编辑 && 有此字段编辑权限; 当然,实际情况会更复杂,而我们…
1. 单据转换,是否支持重复下推,支持新增下推和更新下推? 答:支持重复下推,是否允许下推受以下因素: 1).源分录是否是有效状态(源单单头状态会自动影响分录,下同),例如已审核.未关闭.未作废: 2).源分录的此路线组,还有剩余的可用量(路线组指状态追踪表中源状态到目标状态的迁移组): 3).如果允许超额,不超过超额控制量: 4).单据转换的配置中,符合其过滤条件: 5).单据插件的自定义控制: 2. 单据转换功能可支持单据头到单据头,是否支持单据体到单据头的下推? 答:支持,在字段映射时指定…
新增行:执行AfterCreateNewEntryRow,这个函数里面对一些数据进行处理(比如字段给上默认值): 复制行:复制行过程中希望这些字段能够得到我修改行信息后的数据,如果不处理,执行到AfterCreateNewEntryRow,你修改的数据信息就会被给默认值的代码冲掉: 处理:AfterCopyRow里面添加一个全局Bool控制参数BoolCopyRow=false,在执行AfterCreateNewEntryRow,执行在赋默认值操作之前做BoolCopyRow判断是否给赋默认值,…
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. /// <summary> /// 库存查询 /// </summary> private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"]; object…
1.下推事件及顺序 //初始化变量 OnInitVariable(InitVariableEventArgs e) //解析字段映射关系,并构建查询参数.这里可以加入你想要的额外的字段 OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e) //构建列表中选择数据行的In语句 OnInSelectedRow(InSelectedRowEventArgs e) //解析选单条件策略 OnParseFilter(ParseFilterEve…
有时,你可能想设置整列的精度,可以在插件中完成. 设置方法如下 : this.View.GetFieldEditor<DecimalFieldEditor>("FAmount", -1).Decimal = 2; 其中FAmount为单据体(或单据头)中的一个字段,如果要设置整列,则把第二个参数行号设置为-1.…
整单复制:先执行CopyData(获得数据包),在执行AfterCreateNewData(可处理数据包),不会执行AfterCreateNewEntryRow 单据新增:先执行AfterCreateNewEntryRow(处理数据包),在执行AfterCreateNewData,最后加载界面组织信息 注意: AfterCreateNewEntryRow函数里面,界面上字段值的信息全部不可用,因为数据加载在该函数之后:…
Control ctl = this.GetControl(fieldKey); FieldEditor editCtl = ctl as FieldEditor; if (editCtl != null) { editCtl.MustInput = mustInput; } 使用视图类获得指定字段对应的控件,并设置控件的MustInput属性.…