Skip to main content

Create Organization hierarchy Chart in axapta

These are method to create organization hierarchy chart in Axapta


 public class FormRun extends ObjectRun  
 {  
 CCFormTreeDatasource treeDatasource;  
 }  
 void InsertinTemp()  
 {  
 TmpOrganizationChart2 TmpOrganizationChart2_1;  
 _OrganizationChart2 _OrganizationChart2_1;  
 ;  
 /*hile select _OrganizationChart2_1  
 {  
 while select forupdate TmpOrganizationChart2_1 where TmpOrganizationChart2_1.WareHouseCode==_OrganizationChart2_1.WareHouseCode  
 {  
 TmpOrganizationChart2_1.delete();  
 }  
 }*/  
 Delete_from TmpOrganizationChart2_1;  
 While select _OrganizationChart2_1  
 {  
 TmpOrganizationChart2_1.WareHouseCode=_OrganizationChart2_1.WareHouseCode;  
 TmpOrganizationChart2_1.ParentWareHouseCode=_OrganizationChart2_1.ParentWareHouseCode;  
 TmpOrganizationChart2_1.Office_type=_OrganizationChart2_1.Office_type;  
 TmpOrganizationChart2_1.Name=InventLocation::find(_OrganizationChart2_1.WareHouseCode).Name;  
 TmpOrganizationChart2_1.insert();  
 }  
 }  
 public void init()  
 {  
 super();  
 // this.query().dataSourceNo(1).clearDynalinks();  
 element.InsertinTemp();  
 }  
 int task(int p1)  
 {  
 int ret;  
 ;  
 ret = super(p1);  
 if (p1 == 288) // Enter  
 element.exit();  
 Return ret;  
 }  
 public void run()  
 {  
 FormControl hostControl;  
 ;  
 super();  
 // initialize tree  
 this.InitTree();  
 // if this form was called as lookup, then expand tree at value of calling host control  
 hostControl = element.selectTarget();  
 if (hostControl)  
 this.ExpandAndSelect( hostControl.valueStr() );  
 }  
 void exit()  
 {  
 ;  
 // on exit, return data of currently selected node  
 element.closeSelect(treedatasource.selectedData());  
 }  
 int ExpandAndSelectRec(str 10 ChildId)  
 {  
 int node;  
 Irrigation_OrganizationChart2 table;  
 str IdTree;  
 ;  
 // recursively search for parent Ids to be expanded first  
 select firstonly table where table.WareHouseCode == ChildId;  
 if (table) {  
 node = this.ExpandAndSelectRec(table.ParentWareHouseCode);  
 // expand found node  
 tree.expand(node, FormTreeExpand::EXPAND);  
 // search for my node starting from parent  
 IdTree = tree.getItem(node).data();  
 while (ChildId != IdTree)  
 {  
 node = tree.getNextVisible(node);  
 IdTree = tree.getItem(node).data();  
 }  
 } else {  
 // if no parent was found, then we reached the root node  
 node = tree.getRoot();  
 }  
 // select and return found node  
 tree.select(node);  
 return node;  
 }  
 void ExpandAndSelect(str ChildId)  
 {  
 tree.lockWindowUpdate(true);  
 this.ExpandAndSelectRec(ChildId);  
 tree.lockWindowUpdate(false);  
 }  
 void InitTree()  
 {  
 treeDatasource = new CCFormTreeDatasource(TmpOrganizationChart2_DS,tree,  
 fieldnum(TmpOrganizationChart2,WarehouseCode),  
 fieldnum(TmpOrganizationChart2,ParentWarehouseCode),  
 fieldnum(TmpOrganizationChart2,Name),  
 true, false  
 );  
 treeDatasource.initRoot("Organization",'',0);  
 }  
 //Methods under treeview tabpage  
 public void pageActivated()  
 {  
 ;  
 this.ViewTreeView();  
 super();  
 }  
 public int mouseDblClick(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)  
 {  
 int ret;  
 ret = super(_x, _y, _button, _Ctrl, _Shift);  
 return ret;  
 }  
 public int mouseUp(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)  
 {  
 int ret;  
 ret = super(_x, _y, _button, _Ctrl, _Shift);  
 return ret;  
 }  
 Methods under Tree  
 boolean expanding(int idx, FormTreeExpand action, anytype data)  
 {  
 boolean ret;  
 ;  
 ret = super(idx, action, data);  
 treeDatasource.expanding(idx, action, data); // expand node  
 Return ret;  
 }  
 public void selectionChanged(FormTreeItem _OldItem, FormTreeItem _NewItem, FormTreeSelect _how)  
 {  
 super(_OldItem, _NewItem, _how);  
 }  

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole