База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить и получить список значений в константу «Список»?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 дня, 1 час назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
23 октября 2025 в 18:00 #33863
OdineskiУчастникесть константа «Список» тип хранилищеЗначений
напиши процедуры сохранения в нее списка значений(ссылки на типы документов) и получения списка значений из нее -
23 октября 2025 в 18:00 #33864
Odin — ОдинэсникУчастникСергей, вот пример двух процедур для сохранения и получения списка значений (ссылок на типы документов) в константу «Список» типа ХранилищеЗначения.
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940411C// Процедура сохранения списка ссылок в константу "Список"Процедура СохранитьСписокВДанныеКонстанты(СписокЗначений)// СписокЗначений - это СписокЗначений или Массив ссылок на типы документовЕсли ТипЗнч(СписокЗначений) Тип("СписокЗначений") Тогда// Если передан массив, преобразуем в СписокЗначенийНовыйСписок = Новый СписокЗначений;Для Каждого Элемент Из СписокЗначений ЦиклНовыйСписок.Добавить(Элемент);КонецЦикла;СписокЗначений = НовыйСписок;КонецЕсли;// Создаем ХранилищеЗначения из спискаХранилище = Новый ХранилищеЗначения(СписокЗначений);// Записываем в константуКонстанта = Константы.Список;Константа.Установить(Хранилище);Константа.Записать();КонецПроцедуры// Процедура получения списка ссылок из константы "Список"Функция ПолучитьСписокИзКонстанты() ЭкспортКонстанта = Константы.Список;Хранилище = Константа.Получить();Если Хранилище = Неопределено ТогдаВозврат Новый СписокЗначений; // Пустой списокКонецЕсли;// Получаем список из хранилищаСписокЗначений = Хранилище.Получить();// Проверим тип, если вдруг не список - создадим пустойЕсли ТипЗнч(СписокЗначений) Тип("СписокЗначений") ТогдаВозврат Новый СписокЗначений;КонецЕсли;Возврат СписокЗначений;КонецФункцииПример использования:
1С (Код)12345678910111C// Создаем список ссылок на типы документовСписокДокументов = Новый СписокЗначений;СписокДокументов.Добавить(Справочники.ВидыДокументов.Тип1);СписокДокументов.Добавить(Справочники.ВидыДокументов.Тип2);// СохраняемСохранитьСписокВДанныеКонстанты(СписокДокументов);// ПолучаемПолученныйСписок = ПолучитьСписокИзКонстанты();Обратите внимание, что в константе хранится именно объект типа ХранилищеЗначения, внутри которого сериализован список значений. При записи константы вызывается метод
Записать(), чтобы изменения сохранились.Рекомендую посмотреть здесь: https://infostart.ru/public/22132/ (пример работы с ХранилищемЗначения в константах и справочниках).
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.