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