Множественный выбор (1Cv82)

Материал из КинтВики
Перейти к: навигация, поиск


Что нужно для организации множественного выбора (или подбора)

  • Установить свойство "РежимВыбора" для нужной таблицы формы, например:
ЭтаФорма.Элементы.СписокПроцессов.РежимВыбора = Истина
  • Установить свойство формы "ЗакрыватьПриВыборе" в ложь:
ЭтаФорма.ЗакрыватьПриВыборе = Ложь;
  • Желательно установить свойство формы "РежимОткрытияОкна"
форма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;


Пример

Вызывающая форма:

  • нужно установить обработчик события формы "ОбработкаВыбора"


<source lang=1c> &НаКлиенте Процедура ДобавитьСвязаннуюЗадачуВыполнить() Если НЕ ЗаписатьНовыйПроцесс("Для добавления связанных задач необходимо записать задачу.") Тогда Возврат; КонецЕсли; ВыбратьЗадачуДляУстановкиСвязи("ДобавитьСвязаннуюЗадачу"); КонецПроцедуры


&НаКлиенте Процедура ВыбратьЗадачуДляУстановкиСвязи(НазначениеВыбора) Если Объект.Ссылка.Пустая() Тогда Возврат; КонецЕсли; стПараметры = Новый Структура("РежимМножественногоВыбора,НазначениеВыбора", Истина, НазначениеВыбора); //**** форма = ПолучитьФорму("Обработка.ЖурналПроцессов.Форма.ЖурналВсехПроцессов", стПараметры, ЭтаФорма, Новый УникальныйИдентификатор); форма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; форма.Открыть(); КонецПроцедуры


&НаКлиенте Процедура ОбработкаВыбора(РезультатВыбора, ИсточникВыбора) Перем НазначениеВыбора; Если ИсточникВыбора.Параметры.Свойство("НазначениеВыбора", НазначениеВыбора) Тогда Если НазначениеВыбора = "ДобавитьСвязаннуюЗадачу" Тогда УстановитьДвустороннююСвязь(Объект.Ссылка, РезультатВыбора); ОбновитьСписокСвязанныхЗадач(); ИначеЕсли НазначениеВыбора = "ДобавитьПодчиненнуюЗадачу" Тогда УстановитьПодчинение(Объект.Ссылка, РезультатВыбора); ОбновитьСписокСвязанныхЗадач(); ИначеЕсли НазначениеВыбора = "ДобавитьЗадачуВладельца" Тогда УстановитьПодчинение(РезультатВыбора, Объект.Ссылка); ОбновитьСписокСвязанныхЗадач(); КонецЕсли; КонецЕсли; КонецПроцедуры </source>

Вызываемая форма:

<source lang=1c> &НаКлиенте Процедура ПриОткрытии(Отказ) Если ЭтаФорма.Параметры.РежимВыбора Тогда ЭтаФорма.Элементы.СписокПроцессов.РежимВыбора = Истина; ЭтаФорма.ЗакрыватьПриЗакрытииВладельца = Истина; ЭтаФорма.ЗакрыватьПриВыборе = Истина; ИначеЕсли ЭтаФорма.Параметры.Свойство("РежимМножественногоВыбора") И ЭтаФорма.Параметры.РежимМножественногоВыбора Тогда ЭтаФорма.Элементы.СписокПроцессов.РежимВыбора = Истина; ЭтаФорма.ЗакрыватьПриЗакрытииВладельца = Истина; ЭтаФорма.ЗакрыватьПриВыборе = Ложь; КонецЕсли; </source>

См. также

пример