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