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