gifts2017

Сохрание таблицы (дерева) значений в ХранилищеЗначения/восстановление из ХранилищеЗначения c возможностью произвольной обработки данных

Опубликовал Илья Жернаков (Shef_zeon) в раздел Программирование - Практика программирования

Таблица (дерево) значений - это не сохраняемый в базе данных объект. Но иногда возникает необходимость сохранить ТЗ или ДЗ между сеансами работы. Можно воспользоваться функцией ЗначениеВФайл() (сохраняет любое сериализуемое значение в файл). Чтоб сохранить несколько ТЗ или ДЗ в хранилищезначения необходимо добавить их в массив.

Собственно, сам код

 

перем хранилище;

Процедура ВыгрузитьНажатие(Элемент)

          пер=ЭлементыФормы.ТабличноеПоле1.Значение.Скопировать();

          масив = Новый Массив;

          масив.Добавить(пер);

          хранилище = Новый ХранилищеЗначения(масив,Новый СжатиеДанных(9));

КонецПроцедуры

Процедура ЗагрузитьНажатие(Элемент)

если хранилище<>Неопределено тогда

зна = хранилище.Получить();

ЭлементыФормы.ТабличноеПоле2.Значение = зна[0];

ЭлементыФормы.ТабличноеПоле2.СоздатьКолонки();

иначе

сообщить("ХранилищеЗначения не заполнено");

КонецЕсли;

КонецПроцедуры

 

Процедура ПриОткрытии()

строкатч=ЭлементыФормы.ТабличноеПоле1.Значение.Добавить();

строкатч[0]="123";

строкатч[1]="456";

строкатч[2]="789";

КонецПроцедуры

Не рекомендуется хранить в реквизитах типа ХранилищеЗначения ссылки на другие объекты базы данных.
    В системе не поддерживается ссылочная целостность по объектам, сохраненным в базе данных в полях типа ХранилищеЗначения. Это означает, что при попытке удаления, например, элементов справочников система не контролирует ссылки на эти элементы, сохраненные в ХранилищеЗначения.


Скачать файлы

Наименование Файл Версия Размер
ХранилищеТЗ.epf 26
.epf 6,91Kb
12.10.11
26
.epf 6,91Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Ivon (Ivon) 12.10.11 17:33
Я, наверное, что-то неправильно делаю. Уже 2 года сохраняю таблицы и деревья в хранилище и все достается из хранилища правильно.
2. Станислав Викторович (mailwood) 26.01.12 14:33