Table HierarchyTreeTable and smmActivities contain activities and subactivities data.
In class HierarchTreeTable, method insertNode and insertRoot called from Form Hierarchy:write(), here is the node insertion:
ttsbegin;
hierarchyTreeTable.clear();
hierarchyTreeTable.HierarchyId = _hierarchyId;
hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
hierarchyTreeTable.SiblingNumber = HierarchyTreeTable::nextSiblingNum(_hierarchyId, _parentElementNumber);
hierarchyTreeTable.ParentElementNumber = _parentElementNumber;
hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
hierarchyTreeTable.Name = strLTrim(_name);
hierarchyTreeTable.Path = HierarchyTreeTable::findElementNumber(_hierarchyId, _parentElementNumber).Path + hierarchyTreeTable.ParentElementNumber + #sharp;
hierarchy=Hierarchy::find(_hierarchyId);
smmActivities.clear();
smmActivities.setActivityNum();
smmActivities.Purpose =hierarchyTreeTable.Name;
smmActivities.IsTemplate =hierarchy.IsTemplate;
if (Hierarchy::isHierarchyTypeCRM(hierarchy.HierarchyType))
{
common = HierarchyLinkTable::findAssociation(hierarchyTreeTable.HierarchyId, Hierarchy::hierarchyType2tableId(hierarchy.HierarchyType));
smmActivities.initFromCommon(common);
}
smmActivities.insert();
hierarchyTreeTable.RefRecId = smmActivities.RecId;
hierarchyTreeTable.insert();
ttscommit;
Root Insertion:
ttsbegin;
hierarchyTreeTable.clear();
hierarchyTreeTable.HierarchyId = _hierarchyId;
hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
hierarchyTreeTable.SiblingNumber = 0;
hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
hierarchyTreeTable.Name = strLTrim(_name);
if (isConfigurationkeyEnabled(configurationKeyNum(Project3)))
{
hierarchyTreeTable.psaLevelName = strLTrim(_name);
hierarchyTreeTable.psaLevelDescription = ProjTable::find(strLTrim(_name)).Name;
hierarchyTreeTable.psaNameLink = strLTrim(_name);
hierarchyTreeTable.psaHierarchyLevelType = PSAHierarchyLevelType::Root;
}
hierarchyTreeTable.insert();
ttscommit;
In class HierarchTreeTable, method insertNode and insertRoot called from Form Hierarchy:write(), here is the node insertion:
ttsbegin;
hierarchyTreeTable.clear();
hierarchyTreeTable.HierarchyId = _hierarchyId;
hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
hierarchyTreeTable.SiblingNumber = HierarchyTreeTable::nextSiblingNum(_hierarchyId, _parentElementNumber);
hierarchyTreeTable.ParentElementNumber = _parentElementNumber;
hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
hierarchyTreeTable.Name = strLTrim(_name);
hierarchyTreeTable.Path = HierarchyTreeTable::findElementNumber(_hierarchyId, _parentElementNumber).Path + hierarchyTreeTable.ParentElementNumber + #sharp;
hierarchy=Hierarchy::find(_hierarchyId);
smmActivities.clear();
smmActivities.setActivityNum();
smmActivities.Purpose =hierarchyTreeTable.Name;
smmActivities.IsTemplate =hierarchy.IsTemplate;
if (Hierarchy::isHierarchyTypeCRM(hierarchy.HierarchyType))
{
common = HierarchyLinkTable::findAssociation(hierarchyTreeTable.HierarchyId, Hierarchy::hierarchyType2tableId(hierarchy.HierarchyType));
smmActivities.initFromCommon(common);
}
smmActivities.insert();
hierarchyTreeTable.RefRecId = smmActivities.RecId;
hierarchyTreeTable.insert();
ttscommit;
Root Insertion:
ttsbegin;
hierarchyTreeTable.clear();
hierarchyTreeTable.HierarchyId = _hierarchyId;
hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
hierarchyTreeTable.SiblingNumber = 0;
hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
hierarchyTreeTable.Name = strLTrim(_name);
if (isConfigurationkeyEnabled(configurationKeyNum(Project3)))
{
hierarchyTreeTable.psaLevelName = strLTrim(_name);
hierarchyTreeTable.psaLevelDescription = ProjTable::find(strLTrim(_name)).Name;
hierarchyTreeTable.psaNameLink = strLTrim(_name);
hierarchyTreeTable.psaHierarchyLevelType = PSAHierarchyLevelType::Root;
}
hierarchyTreeTable.insert();
ttscommit;
No comments:
Post a Comment