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

Методы · LoadValues

Загружает список значений значениями из переданного массива. При этом все прежние элементы списка удаляются.

Синтаксис

ЗагрузитьЗначения(<МассивЗначений>)

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

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

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

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

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

Доступен, начиная с версии 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С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.