AML problem using action='update' (in order to modify an item without changing generation)
Hi I am facing a problem with an AML expression. <AML> <Item action='update' type='myItem' where="[myItem]._title='myItemName' and [myItem].generation='1' "> <myItemProperty> <Item type="myItemProperty" action="get" select="id"> <keyed_name>myItemPropertyName</keyed_name> </Item> </myItemProperty> </AML> That AML works with edit but it changes the generation... I get that error whatever my item is locked or unlocked... <SOAP-ENV:Envelope xmlns:SOAP-ENV="">schemas.xmlsoap.org/.../"> <SOAP-ENV:Body> <SOAP-ENV:Fault xmlns:af="">www.aras.com/InnovatorFault"> <faultcode>SOAP-ENV:Server.ItemIsNotLockedException</faultcode> <faultstring><![CDATA[Aras.Server.Core.ItemIsNotLockedException]]></faultstring> <detail> <af:legacy_detail><![CDATA[Aras.Server.Core.ItemIsNotLockedException]]></af:legacy_detail> <af:exception message="Aras.Server.Core.ItemIsNotLockedException" type="Aras.Server.Core.ItemIsNotLockedException" /> <af:item type="myItem" id="5CC09554029A4E76AD0601C9F8C2AC33" /> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Any idea ? Best regards, Hadrien11KViews0likes2Commentsapply PE_createNewRevision from client method
hello, My initial goal is to have a confirm pop up when using the action to create a new revision.(for parts) I have an action that run a simple client method like this: if(confirm("creation of new major revision")) { //here i want to launch the PE_CreateNewRevision } I've tried with applyMethod but the method doesn't seem to apply on the part instance. Any help on understanding this is much appreciated. thanks lucasSolved6.1KViews0likes10CommentsAction on part itemtype
Hi, i need to set up a functionality upon on clicking Action in Part item, it should create three parts for me with three different X class values and three documents with three different X class values has to be create . Example: Action on Part item PART A has to be created with X class 'ABC' Document A has to be created with X class '123' Document A has to be linked to PART A(Files to the document item will be added by user later) PART B has to be created with X class 'DEF' Document B has to be created with X class '456' Document B has to be linked to PART B(Files to the document item will be added by user later) PART C has to be created with X class 'XYZ Document C has to be created with X class '789' Document C has to be linked to PART C(Files to the document item will be added by user later) When ever i trigger this action, above process has to happen. Any Suggestions how to implement this ?5.5KViews0likes1CommentHow can I pass additional event parameters in CUI elements?
Hi community, does anybody know, if it´s possible to pass additional event parameters in CUI elements? Example: I have three CUI menu buttons that do a more or less comparable job. The corresponding Methods just differ in a few lines of code. So I would prefer to use just one unified Method for the three CUI elements. But right now I cannot determine, which of the three buttons acutally triggers the Method. Is it somehow possible to add event parameters to the button item itself? Can I perhaps use the additional data field somehow for this purpose? Or is there a Method that shows me the orignator of the Method call? As alternative, it would also be ok to use standard Actions for this job. But as far as I know, I cannot pass even information in Item Actions. Just ItemType Actions allow us to use the "Body" property. Thanks for any help! AngelaSolved5.3KViews0likes2CommentsGet the Context Action Name in the Method
Hi All, I have Multiple Server Side Item Actions Configured on the Part Item , I want the logic/functionality to be performed by each action to be controlled by the same method . In which case , is there a way to pass the Invoking action name to the Method so that based on the value I can chose the function to be performed. For the above action , I want to get the action name "plm_Test" while invoking the method on the Item. This would greatly help me in avoiding creating Multiple Methods for each Action. Thanks.5.2KViews0likes7CommentsHow to Run already existing Action from a relationship
I have this action which runs fine on an itemtype1, I want to use the same action to be triggered when i am on another itemtype2 but itemtype1 is in a relationship. Currently im getting an error when i click that action from the relationship,3.6KViews0likes3CommentsImplementing User Options like Choose CM Options
I am working on a user option dialog where they can pick and choose some values[logged_in_group to start with] I have created placeholder properties in Core_GlobalLayout for this. Get_IdentityMembership_Details and Get_AllGroups_Details works fine, GetStoredValueForGroup(The users that do not have a preference created for their identity, I am mapping to World) works too. But I have 2 issues : - The dropdown in my UI Form is not resizing based on values added, its defined as static inside a Group Box, with x and y co-ordinates as 0,0. But without Group Box too I could not make it hold to a fixed width. CSS for the dropdown: {$this field rule} .sys_f_label_container { width: 110px; } {$this field rule} { margin: 5px 0px 5px 0px; } {$this field rule} select { width: 110px; } - After user selects the value, I am not able to capture it. I have a ChooseUserOptionsDialog.prototype.SaveUISelection function, but how to capture the value coming from UI here? ================================= Below is the code for this form onLoad ChooseUserOptionsDialog = function () { var inn = new Innovator(); var userid = inn.getUserID(); var logged_in_group = getFieldComponentByName("logged_in_group"); var listGroupsDropDown = []; document.isEditMode = true; var body = "<sessionuser>" + userid + "</sessionuser>"; var res = aras.applyMethod("Get_IdentityMembership_Details",body); var resItem = aras.IomInnovator.newItem(); // Create a new empty item resItem.loadAML(res); // and then load in the string returned from aras.applyMethod if (resItem.isError()) { aras.AlertError(resItem); return null; } if (resItem.getItemCount() <= 0) { //let user choose any group if he does not belong to any group var resu = aras.applyMethod("Get_AllGroups_Details"); resItem.loadAML(resu); //and then load in the string returned from aras.applyMethod if (resItem.isError()) { aras.AlertError(resItem); return null; } } var storedValue = this.GetStoredValueForGroup(userid);//gets existing value from db var index = 0; if (resItem.getItemCount() === 0) { //do something for no return } else { for (var i=0;i<resItem.getItemCount();i++) { var currentItem = resItem.getItemByIndex(i); listGroupsDropDown.push({label: currentItem.getProperty("keyed_name"), value: currentItem.getProperty("id")}); if (currentItem.getProperty("id") === storedValue) { index = i; } } }de logged_in_group.component.setState({ list: listGroupsDropDown, value : listGroupsDropDown[index].value }); }; ================================ Below is the code for Ok button ChooseUserOptionsDialog.prototype.ApplyChanges = function ChooseUserOptionsDialog_ApplyChanges() { this.SaveUISelection(); top.main.tree.updateTree(); parent.args.dialog.close(); }; ChooseUserOptionsDialog.prototype.SaveUISelection = function ChooseUserOptionsDialog_SaveUISelection() { debugger; var inn = new Innovator(); var userid = inn.getUserID(); var groupComponent = getFieldComponentByName("logged_in_group", ""); var userSelectionGroup = groupComponent.value;//Value not getting retrived var body = "<sessionuser>" + userid + "</sessionuser>"; body = body+ "<usergroup>" + userSelectionGroup + "</usergroup>"; var res = aras.applyMethod("Set_UpdateUserPreference",body); var resItem = aras.IomInnovator.newItem(); // Create a new empty item resItem.loadAML(res); // and then load in the string returned from aras.applyMethod if (resItem.isError()) { aras.AlertError(resItem); return null; } };3.6KViews0likes2Comments