Добрый день.
Задача: Есть следующий Workspace, в нем есть фильтры

которые применяются к Dataset'у самого раздела.
Как можно значения данных фильтров и признак их включения сохранить в профиле пользователя?
P.S Стандартную функциональность FilterBuilder'a и сохранения в динамические группы в данной задаче применить нельзя.
Конфигурация Terrasoft 3.3.2.157
Бинарные файлы Terrasoft 3.3.2.268
Нравится
В профиль можно сохранить информацию следующим образом:
[javascript]
var XMLStorage = GetNewXMLStorage();
var Node;
XMLStorage.Clear();
XMLStorage.InitRootNode('PeriodTree');
Node = XMLStorage.RootNode;
var ExpandList = GroupsWindow.Attributes('ExpandList');
Node.SetAttributeAsStr('Filter1Value', edtFilter1.Value,'');
Node.SetAttributeAsStr('Filter1Enabled', edtFilter1.IsEnabled,'');
var Key = Connector.CurrentUser.ContactID + '__MyKey';
var USI =WorkspaceDataset.USI;
Services.SaveItemProfileStorage(USI, Key, XMLStorage);
[/javascript]
а загрузить следующим образом
[javascript]
var Node;
grdData.CollapseAll();
var Key = Connector.CurrentUser.ContactID + '__MyKey';
var USI = WorkspaceDataset.USI;
var XMLStorage = Services.GetItemProfileStorage(USI, Key);
if (!XMLStorage) {
return;
}
XMLStorage.InitRootNode('PeriodTree');
Node = XMLStorage.RootNode;
edtFilter1.IsEnabled = Node.GetAttributeAsStr('Filter1Enabled', '');
edtFilter1.Value = Node.GetAttributeAsStr('Filter1Value', '');
[/javascript]
Подробнее информацию по функциям работы с объектом XMLStorage можно посмотреть в SDK