профиль
Скрипты
Разработка

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

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

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

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

Нравится

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

В профиль можно сохранить информацию следующим образом:
[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

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