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