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