СписокЗначений.ВыгрузитьЗначения

Методы · UnloadValues

Создает массив и копирует в него значения элементов списка значений.

Синтаксис

ВыгрузитьЗначения()

Примеры платформы

МассивЭлементов = СписокТиповЦен.ВыгрузитьЗначения();
Полное описание, параметры и ограничения

СписокЗначений.ВыгрузитьЗначения (ValueList.UnloadValues)

СписокЗначений (ValueList)

ВыгрузитьЗначения (UnloadValues)

Доступен, начиная с версии 8.0.

Синтаксис:
ВыгрузитьЗначения()
Возвращаемое значение:
Тип: Массив.

Описание:

Создает массив и копирует в него значения элементов списка значений.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Пример:

МассивЭлементов = СписокТиповЦен.ВыгрузитьЗначения();

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Выгрузить только коды и восстановить их подписи отдельно

Передача массивом сохраняет значения, но не пользовательские подписи, пометки и идентификаторы элементов.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Серверная процедура учебной обработки; передаём массив строк только между локальными переменными.

  2. Коды pickup/courier/post и словарь подписей полностью приведены в коде.

Способы = Новый СписокЗначений;
Способы.Добавить("pickup", "Самовывоз");
Способы.Добавить("courier", "Курьер");
Способы.Добавить("post", "Почта");
Способы.НайтиПоЗначению("pickup").Пометка = Истина;
Коды = Способы.ВыгрузитьЗначения();
Сообщить(Коды.Количество() = 3);
Сообщить(Коды.Получить(0) = "pickup");
Получатель = Новый СписокЗначений;
Получатель.ЗагрузитьЗначения(Коды);
Подписи = Новый Соответствие;
Подписи.Вставить("pickup", "Самовывоз");
Подписи.Вставить("courier", "Курьер");
Подписи.Вставить("post", "Почта");
Для Каждого Элемент Из Получатель Цикл
    Подпись = Подписи.Получить(Элемент.Значение);
    Если Подпись = Неопределено Тогда
        ВызватьИсключение "Получен неизвестный учебный код";
    КонецЕсли;
    Элемент.Представление = Подпись;
КонецЦикла;
Сообщить(Получатель.Количество() = 3);
Сообщить(Получатель.НайтиПоЗначению("pickup").Представление = "Самовывоз");
Сообщить(Не Получатель.НайтиПоЗначению("pickup").Пометка);

Разбор по шагам

  1. ВыгрузитьЗначения возвращает Массив, не копию всех свойств элементов.

  2. ЗагрузитьЗначения создаёт элементы нового списка из массива кодов.

  3. Подписи восстанавливаются по словарю. Не угадываем подпись по позиции после сортировки.

  4. Если код не известен словарю, пример останавливается до использования неверной подписи.

  5. Пометка Самовывоза в оригинале не была выгружена, поэтому у получателя она Ложь.

Как проверить результат

  1. Пять проверок Истина.

  2. Получатель содержит три кода с восстановленными подписями, без пометок оригинала.

Ожидаемый результат

Понятны границы формата передачи: массив кодов не содержит оформление и состояние выбора.

На что обратить внимание

  1. Для сохранения подписей и пометок нужен собственный формат структуры или другая схема сериализации.

  2. Не добавляйте рабочие коды доставки без явного согласованного словаря.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Подготовить список способов доставки с представлениями

Значение для хранения отличается от подписи, которую видит пользователь.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Список создаётся в памяти.

  2. Это подготовка данных выбора, а не вызов диалога.

Способы = Новый СписокЗначений;
Способы.Добавить("pickup", "Самовывоз");
Способы.Добавить("courier", "Курьер");
Способы.Добавить("post", "Почта");
Способы.СортироватьПоПредставлению();
Элемент = Способы.НайтиПоЗначению("pickup");
Если Элемент <> Неопределено Тогда
    Элемент.Пометка = Истина;
    Сообщить(Элемент.Представление);
    Сообщить(Элемент.Значение);
КонецЕсли;
Значения = Способы.ВыгрузитьЗначения();
Сообщить(Значения.Количество());

Разбор по шагам

  1. Добавляем стабильные коды и пользовательские подписи.

  2. Сортируем по подписям, а ищем по значению pickup.

  3. Пометка хранится у элемента; ВыгрузитьЗначения возвращает только значения.

Как проверить результат

  1. Вывод: Самовывоз; pickup; 3.

  2. Неизвестный код в НайтиПоЗначению должен вернуть Неопределено.

Ожидаемый результат

Найдён Самовывоз, пометка установлена; массив содержит три кода.

На что обратить внимание

  1. После сортировки не определяйте способ по старому индексу.

  2. ВыгрузитьЗначения не сохраняет представления и пометки.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.