#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
СписокТипов = Список.КомпоновщикНастроек.Настройки.Выбор.ДоступныеПоляВыбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Ссылка")).Тип;
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = СписокТипов;
ПараметрыРазмещения.КоманднаяПанель = Элементы.ФормаКоманднаяПанель;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
СкидкиНаценки = Параметры.СкидкиНаценки.Скопировать();
Заголовок = Заголовок + ": " + Строка(Параметры.Документ);
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы,
"ГруппаСоздать",
"Видимость",
ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Справочники.СкидкиНаценки));
СкидкиНаценкиСервер.ДобавитьКомандыСозданияНовыхСкидокНаценок(ЭтотОбъект, Элементы.ГруппаСоздать);
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Элемент.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если Элемент.ТекущиеДанные.ЭтоГруппа Тогда
Возврат;
КонецЕсли;
РезультатПоиска = СкидкиНаценки.НайтиПоЗначению(Элемент.ТекущиеДанные.Ссылка);
Если РезультатПоиска = Неопределено Тогда
СкидкиНаценки.Добавить(Элемент.ТекущиеДанные.Ссылка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиВДокумент(Команда)
Если СкидкиНаценки.Количество() = 0 Тогда
Ответ = Неопределено;
ПоказатьВопрос(Новый ОписаниеОповещения("ПеренестиВДокументЗавершение", ЭтотОбъект), НСтр("ru = 'Не подобрано ни одной скидки (наценки). Закрыть?'"), РежимДиалогаВопрос.ДаНет);
Возврат;
КонецЕсли;
Закрыть(СкидкиНаценки);
КонецПроцедуры
&НаКлиенте
Процедура ПеренестиВДокументЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Ответ = РезультатВопроса;
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
Закрыть(СкидкиНаценки);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуДобавленияСкидкиНаценки(Команда)
СкидкиНаценкиКлиент.ОбработатьКомандуДобавленияСкидкиНаценки(
ЭтотОбъект,
Команда,
Элементы.Список.ТекущаяСтрока);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
#КонецОбласти