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

Учебные задачи

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

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

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

Подготовка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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