Значение, которое устанавливается при нажатии на множественное значение во время возникновения события ОбработкаФормированияКоманд.
Полное описание, параметры и ограничения
ИсточникКомандПоляВвода.МножественноеЗначение (InputFieldCommandSource.MultipleValue)
ИсточникКомандПоляВвода (InputFieldCommandSource)
МножественноеЗначение (MultipleValue)
Доступен, начиная с версии 8.3.23.
Описание:
Значение, которое устанавливается при нажатии на множественное значение во время возникновения события ОбработкаФормированияКоманд.
Использование в версии:
Доступен, начиная с версии 8.3.23.
Методическая информация
Практические примеры
Добавить свою команду в меню множественного ввода: МножественноеЗначение
Поле связано с подготовленным своим списком ссылок. Параметры события передаёт платформа после настоящего действия пользователя, а не неизвестный вызывающий код.
Где и как запускать
Модуль своей управляемой формы: клиентские события поля Книги и экспортный callback, серверная подготовка отдельно.
Подготовка
В своей учебной конфигурации создайте справочник УчебныеКарточки: код Строка 10, наименование 100. Вручную создайте УЧЕБ-КНИГ / Учебная книга и УЧЕБ-ТЕТР / Учебная тетрадь; нужны только свои данные.
У своей обработки создайте управляемую форму, реквизит Книги типа СписокЗначений и поле ввода Книги, путь данных Книги. Это множественные значения, не строка с названиями через запятую.
Добавьте Статус Строка 200. Подготовительный блок назначьте ПриСозданииНаСервере. Основной клиентский обработчик назначьте указанному событию поля Книги через редактор.
Тонкий / толстый / веб-клиент. Обработчики поля получают начальный параметр Элемент; не добавляйте его событиям самой формы.
МножественноеЗначение: нажмите правой кнопкой на отдельной своей книге; ОбластьВвода: в свободной области ввода того же поля. Идентификатор значения не является его позицией.
&НаКлиенте
Процедура КнигиОбработкаФормированияКоманд(Элемент, ПараметрыКоманд, Команды)
Если ПараметрыКоманд.Источник <> ИсточникКомандПоляВвода.МножественноеЗначение Тогда
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ПоказатьУчебнуюПамятку", ЭтотОбъект);
Памятка = Новый ОписаниеКомандыПоляВвода(Оповещение, "Сколько своих книг");
Команды.Добавить(Памятка);
Сообщить("Добавлена своя команда без замены стандартного меню");
КонецПроцедурыТа же форма: собственные ссылки и настоящий множественный ввод
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Книги.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.УчебныеКарточки");
Книга = Справочники.УчебныеКарточки.НайтиПоКоду("УЧЕБ-КНИГ");
Тетрадь = Справочники.УчебныеКарточки.НайтиПоКоду("УЧЕБ-ТЕТР");
АдресКниги = ПолучитьНавигационнуюСсылку(Книга);
ПредставлениеКниги = Новый ФорматированнаяСтрока("Учебная книга", , , , АдресКниги);
Книги.Добавить(Книга, ПредставлениеКниги);
Книги.Добавить(Тетрадь, "Учебная тетрадь");
Элементы.Книги.РасширенноеРедактированиеМножественныхЗначений = Истина;
Элементы.Книги.РазрешитьВводПустыхМножественныхЗначений = Истина;
Элементы.Книги.РазрешитьДублированиеМножественныхЗначений = Ложь;
Статус = "Подготовлены две собственные ссылки";
КонецПроцедурыТа же форма: экспортный callback своей команды, один параметр
&НаКлиенте
Процедура ПоказатьУчебнуюПамятку(ДополнительныеПараметры) Экспорт
Статус = "В собственном списке книг: " + Строка(Книги.Количество());
Сообщить(Статус);
КонецПроцедурыРазбор по шагам
Подготовьте две свои карточки и заполните СписокЗначений в этой форме.
Назначьте обработчик событию поля, сохранив сигнатуру редактора.
Выполните указанное действие над своей книгой и сравните результат со стандартным поведением.
Как проверить результат
Вызовите меню и нажмите Сколько своих книг: показано фактическое количество элементов своего списка.
Callback получает только ДополнительныеПараметры, не Команда и не Элемент. Существующие команды не удаляются.
Ожидаемый результат
Событие и команда связаны с собственным множественным полем и воспроизводимым действием.
На что обратить внимание
Идентификатор элемента не совпадает с его индексом; после удаления / вставки это особенно важно.
Создание команды меню не означает её выполнение. Чужие справочники и данные для этого опыта не нужны.
BSL здесь не исполнялся; результат в клиенте 1С требует ручной проверки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.