Сохранить значения контролов в профиль

Добрый день.
Задача: Есть следующий Workspace, в нем есть фильтры
1
которые применяются к Dataset'у самого раздела.
Как можно значения данных фильтров и признак их включения сохранить в профиле пользователя?

P.S Стандартную функциональность FilterBuilder'a и сохранения в динамические группы в данной задаче применить нельзя.

Конфигурация Terrasoft 3.3.2.157
Бинарные файлы Terrasoft 3.3.2.268

Нравится

1 комментарий

В профиль можно сохранить информацию следующим образом:

	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);

а загрузить следующим образом

        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', '');
 

Подробнее информацию по функциям работы с объектом XMLStorage можно посмотреть в SDK

Показать все комментарии