在Activity添加后再为添加path,这样权限会自动添加。手工设置权限将无效(applySQL除外)。
更新缓存 在页面中填写值完毕后通过此方法更新缓存中的值,否则依然为原数据 handleItemChange(字段id,字段值);
打开某个对象的方法: function showorkflowprocess() {
var itemNd = top.aras.getItemById(\对象类名称\对象类id\ var myLock =false;
top.aras.uiShowItemEx(itemNd,
top.aras.getPreferenceItemProperty(\top.aras.getVariable('TearOff') == 'true'); }
隐藏Pr页签中的Files页签: top.hideIssueTabs=function(){
if(!parent.relationships||!parent.relationships.relTabbarReady||parent.relationships.relTabbar.GetTabOrder(\ {
setTimeout(\ return; }
var tabbar=parent.relationships.relTabbar;
var tabID=tabbar.getTabId(\得到Files的tabId
if(tabID!=\将Visible设置为false };
setTimeout(\
快速获取数据库连接字符串的方法:建一个后缀名为udl的文件 ///项目模板的存储 Project Template的存储:
project_template.wbs_id=wbs_element.id project_template.wbs_id=sub_wbs.source_id sub_wbs.related_id=wbs_element.id
wbs_element和Activity2的对应关系为WBS_Activity2
打开workflow签核页需要传递的参数: 1 var params=new Object(); params.aras=top.aras;
params.activity=top.aras.getItemById(\ params.wflName=wflName; ///workflow process的名称 params.wflId=workflowProcessID; ///workflow process的id params.assignmentId=assignmentId;///activity assignment的id params.itemId=itemId; ///item的id
showModalDialogWithDelay(\dialogHeight:400px; dialogWidth:700px; status:1; help:0', true); 打开Project签核页需要传递的参数: var params=new Array(); params[0]=window;
params[1]=activityID; ///activity2的ID
showModalDialog('../../Solutions/Project/scripts/ActivityCompletionWorksheet/ACWDialog.html', params, 'dialogHeight: 320px; dialogWidth:400px; status:1; help:0; resizable:1', true);
javascript获取对象类关系:
top.aras.getItemRelationShips(\Inbasket中workflow activities的数据来自Activity 和Activity Assignment. Inbasket中Project Activities的数据来自Activity2 和Activity2 Assignment. 当前状态(Pending-Active-Complate)由Activity2.state字段标识。
activity2的date_start_sched,date_due_sched分别表示计划开始时间和计划结束时间。 9.2版本下notification_control在中文模式下报错:
修改aras\\Innovator\\Innovator\\Client\\javascript\%user_notifications.js中 if (!notification_control) { return;
throw new Error(1, \ }
这不是最好的办法,只是暂时不报错 ///获取网格中的选中对象
mainTreeApplet=parent.tree.treeApplet;
var selectedRowId = mainTreeApplet.getSelectedId();
熟悉[STAThread]
javascript操作gridApplet:
gridApplet.cells(relationshipID,'列数').GetValue()获取某行某列的值
gridApplet.cells(relationshipID,'列数').setEditType(1)将单元格设置为编辑状态 javascirpt禁用元素:disabled=true ,设置元素为只读:readOnly=true(注意大小写) Javascript 获取时间日期的各种格式 var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 myDate.getUTCYear() ///获取格林威治年份 1-12 myDate.getUTCMonth() ///获取格林威治月份 0-11 myDate.getUTCDate() //获取当前日(1-31)
var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间
Date.parse(datestring) -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳)
关于Federated Date的几篇文章:
http://www.aras.com/community/wikis/kb/further-example-of-federated-data.aspx
ItemType可换版与InBasket的显示:
ApplicationForm设置为可换版时,不能在InBasket中显示(9.2)。其他版本无此问题。 关于外部数据类型的理解: 参考地址:
http://www.aras.com/Community/wikis/kb/further-example-of-federated-data.aspx
http://www.aras.com/Community/wikis/kb/how-to-use-federation.aspx 外部数据类型表示数据从外部数据库获取,基本思路为: 1 定义某属性为外部数据类型;
2 在该对象类ServerEvents的OnGet事件中,根据对应关系从外部数据库读取数据;并将其设置到对应属性。
页面aras的一些使用方法:
top.aras.applyAML()(此方法返回字符串)或Aras.IOM.Innovator.applyAML(此方法返回Item对象)
top.aras.applyItem(aml)
top.aras.createXMLDocument()创建xml文档对象 aras.getItemProperty(ItemType,Property) aras.getItemById(ItemType,id)
top.aras.getItem(typeName,\aras.clearStatusMessage(statusId)清空状态信息 aras.getUserID()得到当前用户ID aras.getLoggedUserItem()
aras.isLockedByUser(itemid)判断对象是否被当前用户锁定 aras.removeFromCache(itemid) aras.AlertError()弹出错误信息 aras.AlertSuccess()弹出成功信息
top.aras.getDotNetDatePattern(\
top.aras.convertFromNeutral(dtstr,\var inn=top.aras.newIOMInnovator();
top.aras.getScriptsURL() ///获取到client/scripts/的路径
系统从模板生成Project Tree的方法为:onCreateNewProject
查找时尽量精确的查找办法:采用可唯一确定对象的查找办法,或多添加一些已确定的搜索条件
客制页面searchDialog1.html的使用: