Сформировать список выбора УчебныеХарактеристики

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

Список формируется из собственных сохранённых ссылок либо настоящих значений своего перечисления. Подпись и выбираемое значение хранятся раздельно.

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

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

Подготовка

  1. Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланВидовХарактеристик УчебныеХарактеристики; не добавляйте эти учебные объекты в рабочую базу.

  2. Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.

  3. У плана видов характеристик разрешите тип значения Число. Новый элемент получает ТипЗначения = Новый ОписаниеТипов("Число").

  4. Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.

  5. Основной обработчик разместите в модуле менеджера УчебныеХарактеристики, без клиентских директив. Он вызывается платформой; его не надо вызывать вручную.

  6. Обновите учебную базу и выполните проверочный блок в теле серверной процедуры своей учебной обработки. Обязательные ключи Отбор и СтрокаПоиска передаются явно; Неопределено означает быстрый выбор, не текстовый поиск.

  7. Обработчик переопределяет только показанный частный режим. Строковый поиск, иной состав отбора и явно запрошенный выбор групп остаются стандартными. Это не универсальный поисковый алгоритм и не настройка прав доступа.

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    Если Параметры.СтрокаПоиска <> Неопределено Или Параметры.Отбор.Количество() <> 1 Тогда
        Возврат;
    КонецЕсли;
    Если Не Параметры.Отбор.Свойство("Комментарий", Комментарий) Или Комментарий <> "Учебный пример" Тогда
        Возврат;
    КонецЕсли;
    Если Параметры.Свойство("ВыборГруппИЭлементов", РежимВыбора) И РежимВыбора <> ИспользованиеГруппИЭлементов.Элементы Тогда
        Возврат;
    КонецЕсли;
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 20 Данные.Ссылка, ПРЕДСТАВЛЕНИЕ(Данные.Ссылка) КАК Подпись
    |ИЗ ПланВидовХарактеристик.УчебныеХарактеристики КАК Данные
    |ГДЕ Данные.Комментарий = &Комментарий И НЕ Данные.ПометкаУдаления
    |УПОРЯДОЧИТЬ ПО Подпись";
    Запрос.УстановитьПараметр("Комментарий", Комментарий);
    ДанныеВыбора = Новый СписокЗначений;
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.Подпись);
    КонецЦикла;
    СтандартнаяОбработка = Ложь;
КонецПроцедуры
Серверная процедура: собственный источник и настоящий вызов менеджера
Объект = ПланыВидовХарактеристик.УчебныеХарактеристики.СоздатьЭлемент();
Объект.Наименование = "Учебная карточка";
Объект.ТипЗначения = Новый ОписаниеТипов("Число");
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.Записать();
Отбор = Новый Структура("Комментарий", "Учебный пример");
Параметры = Новый Структура("Отбор,СтрокаПоиска", Отбор, Неопределено);
Варианты = ПланыВидовХарактеристик.УчебныеХарактеристики.ПолучитьДанныеВыбора(Параметры);
Для Каждого Вариант Из Варианты Цикл
    Сообщить(Вариант.Представление + ": " + Строка(Вариант.Значение));
КонецЦикла;

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

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

  2. СписокЗначений содержит реальные выбираемые значения и их представления; у ссылочных объектов значения читаются запросом из подготовленных своих данных.

  3. Только после формирования списка СтандартнаяОбработка = Ложь запрещает повторное стандартное заполнение.

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

  1. После подготовки сохранённого собственного объекта список содержит его ссылку и представление. Повторные запуски могут добавить новые свои карточки; список ограничен 20 строками, не обещает ровно одну.

  2. Передайте непустую СтрокаПоиска или иной отбор: собственная ветка не выполняется. Результат стандартного поиска зависит от обычных настроек ввода по строке.

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

Реальный вызов ПолучитьДанныеВыбора запускает платформенный обработчик собственного менеджера.

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

  1. Не заменяйте ссылки строками наименований: представление не является идентификатором объекта.

  2. Дополнительные условия отбора не отбрасываются молча: при отличающемся составе работает стандартная обработка.

  3. Создание и запись учебных объектов показаны в подготовке / дополнительном коде и не выполняются браузером справочника.

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

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

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

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

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