#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ИнициироватьНастройкиДинамическихСписков();
СписокДокументовРежимАвтообновления = Истина;
СписокДокументовАмортизацияРежимАвтообновления = Истина;
УстановитьТекстЗапросовДинамическихСписков();
Список.Параметры.УстановитьЗначениеПараметра("ДатаНачалаУчета", ВнеоборотныеАктивыЛокализация.ДатаНачалаУчетаВнеоборотныхАктивов2_4());
СписокДетально.Параметры.УстановитьЗначениеПараметра("ДатаНачалаУчета", ВнеоборотныеАктивыЛокализация.ДатаНачалаУчетаВнеоборотныхАктивов2_4());
Список.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
СписокДетально.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтаФорма);
ВнеоборотныеАктивыЛокализация.ЗаполнитьСоответствиеДокументовЖурналаОС(СоответствиеДокументов);
Если Не Параметры.Свойство("КлючНазначенияФормы")
Или ПустаяСтрока(Параметры.КлючНазначенияФормы) Тогда
КлючНазначенияИспользования = Обработки.ЖурналДокументовОС2_4.КлючНазначенияФормыПоУмолчанию();
КлючНастроек = "";
Иначе
КлючНазначенияИспользования = Параметры.КлючНазначенияФормы;
КлючНастроек = Параметры.КлючНазначенияФормы;
КонецЕсли;
Если Параметры.Свойство("ОтборыФормыСписка") Тогда
ФормыОткрытаПоГиперссылке = Истина;
ОтборТипыДокументов = Параметры.ОтборыФормыСписка.ОтборТипыДокументов;
ОтборХозяйственныеОперации = Параметры.ОтборыФормыСписка.ОтборХозяйственныеОперации;
Если КлючНастроек = "ПомощникПерехода" Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"СозданДляПереходаНаВерсию24",
1,
ВидСравненияКомпоновкиДанных.Равно,,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"СозданДляПереходаНаВерсию24",
1,
ВидСравненияКомпоновкиДанных.Равно,,
Истина);
АвтоЗаголовок = Ложь;
Заголовок = НСтр("ru = 'Документы по ОС, созданные для перехода на учет внеоборотных активов версии 2.4'");
Элементы.ОтборОрганизацияАмортизация.Видимость = Ложь;
Элементы.ОтборОсновноеСредствоАмортизация.Видимость = Ложь;
Элементы.СписокАмортизация.Видимость = Ложь;
Элементы.ГруппаПользовательскиеНастройкиСписокАмортизация.Видимость = Ложь;
Элементы.КОформлению.Видимость = Ложь;
КонецЕсли;
ИначеЕсли Параметры.Свойство("ОбъектЭксплуатации") Тогда
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаДокументыДетально;
ФормыОткрытаПоГиперссылке = Истина;
ОтборОсновноеСредство = Параметры.ОбъектЭксплуатации;
ТипОС = Перечисления.ТипыОС.ОбъектЭксплуатации;
Если ЗначениеЗаполнено(ОтборОсновноеСредство) Тогда
ТипОС = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОтборОсновноеСредство, "ТипОС");
КонецЕсли;
Если ТипОС = Перечисления.ТипыОС.КомпонентАмортизации
ИЛИ ТипОС = Перечисления.ТипыОС.Узел Тогда
ОСВладелец = Справочники.ОбъектыЭксплуатации.ВладелецУзлаКомпонентаАмортизации(ОтборОсновноеСредство);
Иначе
ЗаполнитьОтборПоВладельцуИУзлам();
КонецЕсли;
Элементы.Список.Видимость = Ложь;
Элементы.ОтборОрганизация.Видимость = Ложь;
Элементы.ИнформационнаяНадписьОтбор.Видимость = Ложь;
Элементы.ОтборОсновноеСредство.Видимость = Ложь;
Элементы.ОтборОсновноеСредствоАмортизация.Видимость = Ложь;
Элементы.СписокДетальноОсновноеСредство.Видимость = ЗначениеЗаполнено(ОСВладелец) ИЛИ ОтборПоВладельцуИУзлам.Количество() <> 0;
Элементы.ГруппаПользовательскиеНастройкиСписок.Видимость = Ложь;
Элементы.КОформлению.Видимость = Ложь;
УстановитьТекстЗапросовДинамическихСписков();
АвтоЗаголовок = Ложь;
Если ТипОС = Перечисления.ТипыОС.Узел Тогда
Заголовок = СтрШаблон(НСтр("ru = 'Документы по узлу %1 и его владельцу'"), Строка(ОтборОсновноеСредство));
ИначеЕсли ТипОС = Перечисления.ТипыОС.КомпонентАмортизации Тогда
Заголовок = СтрШаблон(НСтр("ru = 'Документы по компоненту амортизации %1 и его владельцу'"), Строка(ОтборОсновноеСредство));
ИначеЕсли ОтборПоВладельцуИУзлам.Количество() <> 0 Тогда
Заголовок = СтрШаблон(НСтр("ru = 'Документы по основному средству %1 и его узлам и компонентам'"), Строка(ОтборОсновноеСредство));
Иначе
Заголовок = СтрШаблон(НСтр("ru = 'Документы по основному средству %1'"), Строка(ОтборОсновноеСредство));
КонецЕсли;
Иначе
ВосстановитьНастройки();
КонецЕсли;
ДополнительныеПараметры = Новый Структура("МестоРазмещенияДанныхПроверкиРегл", Элементы.СписокГруппаРеглПроверка);
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка, ДополнительныеПараметры);
ЗаполнитьРеквизитыФормыПриСоздании();
НастроитьЭлементыФормыПриСоздании();
ОбщегоНазначенияУТ.ЗаменитьПолеСсылкаКонструкциейВыразитьПоТипамДокументов(Элементы.Список);
ОбщегоНазначенияУТ.ЗаменитьПолеСсылкаКонструкциейВыразитьПоТипамДокументов(Элементы.СписокАмортизация);
ОбщегоНазначенияУТ.СформироватьНадписьОтбор(
ИнформационнаяНадписьОтбор,
ХозяйственныеОперацииИДокументы,
ОтборТипыДокументов,
ОтборХозяйственныеОперации);
Если НЕ НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо() Тогда
Элементы.СписокУУ.Видимость = Ложь;
Элементы.СписокБУ.Видимость = Ложь;
Элементы.СписокДетальноОтражатьВУпрУчете.Видимость = Ложь;
Элементы.СписокДетальноОтражатьВРеглУчете.Видимость = Ложь;
КонецЕсли;
ИспользуемыеТипыДокументов = Новый Массив;
Для каждого ОписаниеОперации Из ХозяйственныеОперацииИДокументы Цикл
ИспользуемыеТипыДокументов.Добавить(Тип("ДокументСсылка." + СтрРазделить(ОписаниеОперации.ПолноеИмяДокумента, ".")[1]));
КонецЦикла;
Для каждого СтрокаДокумент Из СоответствиеДокументов Цикл
ИспользуемыеТипыДокументов.Добавить(Тип("ДокументСсылка." + СтрокаДокумент.СтарыйДокументИмя));
КонецЦикла;
ИспользуемыеТипыДокументовАмортизация = Новый Массив;
Для каждого ОписаниеОперации Из ХозяйственныеОперацииИДокументыАмортизация Цикл
ИспользуемыеТипыДокументовАмортизация.Добавить(Тип("ДокументСсылка." + СтрРазделить(ОписаниеОперации.ПолноеИмяДокумента, ".")[1]));
КонецЦикла;
ПараметрыПриСозданииНаСервере = ОбменСКонтрагентами.ПараметрыПриСозданииНаСервере_ФормаСписка();
ПараметрыПриСозданииНаСервере.Форма = ЭтотОбъект;
ПараметрыПриСозданииНаСервере.МестоРазмещенияКоманд = Элементы.ПодменюЭДО;
ПараметрыПриСозданииНаСервере.КолонкаСостоянияЭДО = Элементы.ПредставлениеСостояния;
ОбменСКонтрагентами.ПриСозданииНаСервере_ФормаСписка(ПараметрыПриСозданииНаСервере);
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = Новый ОписаниеТипов(ИспользуемыеТипыДокументов);
ПараметрыРазмещения.КоманднаяПанель = Элементы.СписокКоманднаяПанель;
ПараметрыРазмещения.ПрефиксГрупп = "Список";
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = Новый ОписаниеТипов(ИспользуемыеТипыДокументов);
ПараметрыРазмещения.КоманднаяПанель = Элементы.СписокДетальноКоманднаяПанель;
ПараметрыРазмещения.ПрефиксГрупп = "СписокДетально";
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
ПараметрыРазмещения.Источники = Новый ОписаниеТипов(ИспользуемыеТипыДокументовАмортизация);
ПараметрыРазмещения.КоманднаяПанель = Элементы.СписокАмортизацияКоманднаяПанель;
ПараметрыРазмещения.ПрефиксГрупп = "СписокАмортизация";
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
ОбменСКонтрагентамиКлиент.ПриОткрытии(ЭтотОбъект);
УстановитьПараметрыОбновленияСписковДокументов(Ложь, 0);
НачатьОбновлениеДанныхВФоне();
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если Не ЗавершениеРаботы Тогда
СохранитьНастройки();
КонецЕсли;
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВСтруктуру(Параметр));
КонецЕсли;
КонецЕсли;
ПараметрыОповещенияЭДО = ОбменСКонтрагентамиКлиент.ПараметрыОповещенияЭДО_ФормаСписка();
ПараметрыОповещенияЭДО.Форма = ЭтотОбъект;
ПараметрыОповещенияЭДО.ИмяДинамическогоСписка = "Список";
ПараметрыОповещенияЭДО.ЕстьОбработчикОбновленияВидимостиСостоянияЭДО = Истина;
ОбменСКонтрагентамиКлиент.ОбработкаОповещения_ФормаСписка(ИмяСобытия, Параметр, Источник, ПараметрыОповещенияЭДО);
Если ИмяСобытия = "Запись_Файл" Тогда
ОбновитьСписки();
ИначеЕсли СтрНайти(ИмяСобытия, "Запись_") <> 0 Тогда
ТребуетсяОбновитьДанныеОС = Ложь;
Для Каждого СтрокаДокумент Из ХозяйственныеОперацииИДокументы Цикл
ИмяСобытияЗаписьДокумента = СтрЗаменить(СтрокаДокумент.ПолноеИмяДокумента, "Документ.", "Запись_");
Если ИмяСобытияЗаписьДокумента = ИмяСобытия Тогда
ТребуетсяОбновитьДанныеОС = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ТребуетсяОбновитьДанныеОС Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("Список", Параметр);
КонецЕсли;
ТребуетсяОбновитьДанныеАмортизация = Ложь;
Для Каждого СтрокаДокумент Из ХозяйственныеОперацииИДокументыАмортизация Цикл
ИмяСобытияЗаписьДокумента = СтрЗаменить(СтрокаДокумент.ПолноеИмяДокумента, "Документ.", "Запись_");
Если ИмяСобытияЗаписьДокумента = ИмяСобытия Тогда
ТребуетсяОбновитьДанныеАмортизация = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ТребуетсяОбновитьДанныеАмортизация Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("СписокАмортизация", Параметр);
КонецЕсли;
КонецЕсли;
Если ИмяСобытия = "Запись_ПринятиеКУчетуОС2_4"
ИЛИ ИмяСобытия = "Запись_СписаниеОС2_4"
ИЛИ ИмяСобытия = "ЗаписьДокументаВЖурналОС" Тогда
ОбновитьДанныеКогдаФормаСтанетАктивной();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОтборОрганизацияПриИзменении(Элемент)
ПриИзмененииОтбора();
НачатьОбновлениеДанныхВФоне();
КонецПроцедуры
&НаКлиенте
Процедура ОтборОсновноеСредствоПриИзменении(Элемент)
ОтборОсновноеСредствоПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ИнформационнаяНадписьОтборОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ДоступныеХозяйственныеОперацииИДокументы", ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы());
ПараметрыФормы.Вставить("КлючНастроек", КлючНазначенияИспользования);
ПараметрыФормы.Вставить("КлючФормы", КлючНазначенияФормыПоУмолчанию());
ОткрытьФорму("Справочник.НастройкиХозяйственныхОпераций.Форма.ФормаУстановкиОтбора",
ПараметрыФормы,,,,,Новый ОписаниеОповещения("УстановитьОтборыПоХозОперациямИДокументам", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура СтраницыПриСменеСтраницы(Элемент, ТекущаяСтраница)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура КОформлениюОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если НавигационнаяСсылкаФорматированнойСтроки = "#ПринятиеКУчетуОС" Тогда
ОткрытьФорму("Документ.ПринятиеКУчетуОС2_4.Форма.ПринятиеКУчетуОС");
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "#СписаниеОС" Тогда
ОткрытьФорму("Документ.СписаниеОС2_4.Форма.СписаниеОСПриВыбытииТМЦ");
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "#ИсправлениеОшибокВУчетеОС" Тогда
ОткрытьФорму("Обработка.ИсправлениеОшибокВУчетеОС.Форма");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
Если Поле = Элементы.ПредставлениеСостояния Тогда
ОбменСКонтрагентамиКлиент.СостояниеЭДОНажатие_ФормаСписка(Элемент.ТекущиеДанные.Ссылка, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Элементы.СписокГруппаСоздатьГенерируемая.ПодчиненныеЭлементы.Количество() <> 0 Тогда
Если Копирование Тогда
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элемент);
ИначеЕсли ОтборТипыДокументов.Количество() = 1 И ОтборХозяйственныеОперации.Количество() = 1 Тогда
СтруктураКоманды = Новый Структура("Имя", Элементы.СписокГруппаСоздатьГенерируемая.ПодчиненныеЭлементы[0].Имя);
Подключаемый_СоздатьДокумент(СтруктураКоманды);
Иначе
Подключаемый_СоздатьДокументЧерезФормуВыбора(Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
Отказ = Истина;
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элемент, Заголовок, ОбработчикЗавершения);
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура СписокПриОбновленииСоставаПользовательскихНастроекНаСервере(Элемент, СтандартнаяОбработка)
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "Список");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокДетально
&НаКлиенте
Процедура СписокДетальноПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Элементы.СписокДетальноГруппаСоздатьГенерируемая.ПодчиненныеЭлементы.Количество() <> 0 Тогда
Если Копирование Тогда
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элемент);
ИначеЕсли ОтборТипыДокументов.Количество() = 1 И ОтборХозяйственныеОперации.Количество() = 1 Тогда
СтруктураКоманды = Новый Структура("Имя", Элементы.СписокДетальноГруппаСоздатьГенерируемая.ПодчиненныеЭлементы[0].Имя);
Подключаемый_СоздатьДокумент(СтруктураКоманды);
Иначе
Подключаемый_СоздатьДокументЧерезФормуВыбора(Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноПередУдалением(Элемент, Отказ)
Отказ = Истина;
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элемент, Заголовок, ОбработчикЗавершения);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокАмортизация
&НаКлиенте
Процедура СписокАмортизацияПриАктивизацииСтроки(Элемент)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
Если Элементы.СписокАмортизацияГруппаСоздатьГенерируемая.ПодчиненныеЭлементы.Количество() <> 0 Тогда
Если Копирование Тогда
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элемент);
ИначеЕсли ОтборТипыДокументов.Количество() = 1 И ОтборХозяйственныеОперации.Количество() = 1 Тогда
СтруктураКоманды = Новый Структура("Имя", Элементы.СписокАмортизацияГруппаСоздатьГенерируемая.ПодчиненныеЭлементы[0].Имя);
Подключаемый_СоздатьДокумент(СтруктураКоманды);
Иначе
Подключаемый_СоздатьДокументЧерезФормуВыбора(Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияПередУдалением(Элемент, Отказ)
Отказ = Истина;
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элемент, Заголовок, ОбработчикЗавершения);
КонецПроцедуры
&НаСервере
Процедура СписокАмортизацияПриОбновленииСоставаПользовательскихНастроекНаСервере(Элемент, СтандартнаяОбработка)
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокАмортизация");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
#Область Список
&НаКлиенте
Процедура СписокУстановитьИнтервал(Команда)
Оповещение = Новый ОписаниеОповещения("УстановитьИнтервалЗавершение", ЭтотОбъект);
ОбщегоНазначенияУтКлиент.РедактироватьПериод(СписокИнтервал,, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СписокСкопировать(Команда)
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура СписокИзменить(Команда)
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура СписокОтменаПроведения(Команда)
ОбщегоНазначенияУТКлиент.ОтменаПроведения(Элементы.Список, Заголовок,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "Список"));
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
КонецПроцедуры
&НаКлиенте
Процедура СписокПровести(Команда)
ОбщегоНазначенияУТКлиент.ПровестиДокументы(Элементы.Список, Заголовок,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "Список"));
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
КонецПроцедуры
&НаКлиенте
Процедура СписокУстановитьСнятьПометкуУдаления(Команда)
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элементы.Список, Заголовок, ОбработчикЗавершения,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "Список"));
КонецПроцедуры
&НаКлиенте
Процедура СписокПроводкиМеждународногоУчета(Команда)
Возврат;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанные(Команда)
ОбновитьДанныеКогдаФормаСтанетАктивной();
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьВремяДокументов(Команда)
ПоказатьВремяДокументов = НЕ ПоказатьВремяДокументов;
Элементы.СписокПоказатьВремяДокументов.Пометка = ПоказатьВремяДокументов;
Элементы.СписокДетальноПоказатьВремяДокументов.Пометка = ПоказатьВремяДокументов;
Список.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
СписокДетально.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
СохранитьНастройки();
КонецПроцедуры
#КонецОбласти
#Область СписокДетально
&НаКлиенте
Процедура СписокДетальноОтменаПроведения(Команда)
ОбщегоНазначенияУТКлиент.ОтменаПроведения(Элементы.СписокДетально, Заголовок);
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноПровести(Команда)
ОбщегоНазначенияУТКлиент.ПровестиДокументы(Элементы.СписокДетально, Заголовок);
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноСкопировать(Команда)
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элементы.СписокДетально);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноУстановитьИнтервал(Команда)
Оповещение = Новый ОписаниеОповещения("УстановитьИнтервалЗавершение", ЭтотОбъект);
ОбщегоНазначенияУтКлиент.РедактироватьПериод(СписокДетальноИнтервал,, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноУстановитьСнятьПометкуУдаления(Команда)
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элементы.СписокДетально, Заголовок, ОбработчикЗавершения);
КонецПроцедуры
&НаКлиенте
Процедура СписокДетальноПроводкиМеждународногоУчета(Команда)
Возврат;
КонецПроцедуры
#КонецОбласти
#Область СписокАмортизация
&НаКлиенте
Процедура СписокАмортизацияОтменаПроведения(Команда)
ОбщегоНазначенияУТКлиент.ОтменаПроведения(Элементы.СписокАмортизация, Заголовок,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "СписокАмортизация"));
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияПровести(Команда)
ОбщегоНазначенияУТКлиент.ПровестиДокументыВФономЗадании(
Элементы.СписокАмортизация, "Документ.АмортизацияОС2_4.Форма.РасчетАмортизации");
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияСкопировать(Команда)
ОбщегоНазначенияУТКлиент.СкопироватьЭлемент(Элементы.СписокАмортизация);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияИзменить(Команда)
ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элементы.СписокАмортизация);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияУстановитьИнтервал(Команда)
Оповещение = Новый ОписаниеОповещения("УстановитьИнтервалЗавершение", ЭтотОбъект);
ОбщегоНазначенияУтКлиент.РедактироватьПериод(СписокАмортизацияИнтервал,, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияУстановитьСнятьПометкуУдаления(Команда)
ОбработчикЗавершения = Новый ОписаниеОповещения("УстановитьСнятьПометкуУдаленияЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаления(Элементы.СписокАмортизация, Заголовок, ОбработчикЗавершения,
РаботаСЖурналамиДокументовКлиент.ПараметрыОбновленияСпискаДокументов(ЭтотОбъект, "СписокАмортизация"));
КонецПроцедуры
&НаКлиенте
Процедура СписокАмортизацияПроводкиМеждународногоУчета(Команда)
Возврат;
КонецПроцедуры
#КонецОбласти
#Область ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_СоздатьДокумент(Команда)
ОбщегоНазначенияУТКлиент.СоздатьДокументЧерезКоманду(Команда.Имя, ОтборыДляСозданияДокумента());
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_СоздатьДокументЧерезФормуВыбора(Команда)
КлючФормы = КлючНазначенияФормыПоУмолчанию();
АдресХозяйственныеОперацииИДокументы = ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы();
ОбщегоНазначенияУТКлиент.СоздатьДокументЧерезФормуВыбора(АдресХозяйственныеОперацииИДокументы,
КлючФормы, КлючНазначенияИспользования, ОтборыДляСозданияДокумента());
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, ТекущийСписок(ЭтаФорма));
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, ТекущийСписок(ЭтаФорма), Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, ТекущийСписок(ЭтаФорма));
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЭДО(Команда)
ДоступныКомандыЭДО = Истина;
ЭтоКомандаТекущиеДелаЭДО = СтрНайти(Команда.Имя, "ТекущиеДелаЭДО");
ЭтоКомандаПроизвольныйДокумент = СтрНайти(Команда.Имя, "ПроизвольныйДокумент");
ЭтоКомандаОтправитьЧерезБизнесСеть = СтрНайти(Команда.Имя, "ОтправитьЧерезБизнесСеть");
Если Не ЭтоКомандаТекущиеДелаЭДО И Не ЭтоКомандаПроизвольныйДокумент Тогда
Если Элементы.Список.ТекущиеДанные <> Неопределено Тогда
ТекущийДокумент = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Элементы.Список.ТекущиеДанные, "Ссылка");
Если ЗначениеЗаполнено(ТекущийДокумент) Тогда
РезультатыПроверки = ЭлектронноеВзаимодействиеУТВызовСервера.ПроверитьНаличиеПараметровЭДПоИсточнику(ТекущийДокумент);
ДоступныКомандыЭДО = РезультатыПроверки.Получить("ЕстьЭДО");
Направление = РезультатыПроверки.Получить("Направление");
Если ЭтоКомандаОтправитьЧерезБизнесСеть И Направление = "Входящий" Тогда
ДоступныКомандыЭДО = Ложь;
КонецЕсли;
КонецЕсли;
Иначе
ДоступныКомандыЭДО = Ложь;
КонецЕсли;
КонецЕсли;
Если Не ДоступныКомандыЭДО Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Данный вид документов не участвует в ЭДО.'"));
Возврат;
КонецЕсли;
ЭлектронноеВзаимодействиеКлиент.ВыполнитьПодключаемуюКомандуЭДО(Команда, ЭтотОбъект, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКомандыЭДО()
ОбменСКонтрагентамиКлиент.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьВидимостьСостоянияЭДО()
ОбменСКонтрагентамиКлиент.ОбработчикОбновленияВидимостьСостоянияЭДО(ЭтотОбъект, Элементы.ПредставлениеСостояния);
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура СписокДокументовОбновить(Команда)
ОбновитьДанныеСпискаДокументовСЗамеромВремени("Список");
КонецПроцедуры
&НаКлиенте
Процедура СписокДокументовАмортизацияОбновить(Команда)
ОбновитьДанныеСпискаДокументовСЗамеромВремени("СписокАмортизация");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ВосстановитьНастройки()
Настройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("Обработка.ЖурналДокументовОС2_4.Форма.ДокументыПоОС", КлючНазначенияИспользования);
Если ТипЗнч(Настройки) = Тип("Структура") Тогда
СписокИнтервал = Настройки.СписокИнтервал;
СписокДетальноИнтервал = Настройки.СписокДетальноИнтервал;
СписокАмортизацияИнтервал = Настройки.СписокАмортизацияИнтервал;
ОтборОрганизация = Настройки.ОтборОрганизация;
ОтборОсновноеСредство = Настройки.ОтборОсновноеСредство;
Настройки.Свойство("ОтборХозяйственныеОперации", ОтборХозяйственныеОперации);
Настройки.Свойство("ОтборТипыДокументов", ОтборТипыДокументов);
Если Настройки.Свойство("СписокДокументовРежимАвтообновления") Тогда
СписокДокументовРежимАвтообновления = Настройки.СписокДокументовРежимАвтообновления;
КонецЕсли;
Если Настройки.Свойство("СписокДокументовАмортизацияРежимАвтообновления") Тогда
СписокДокументовАмортизацияРежимАвтообновления = Настройки.СписокДокументовАмортизацияРежимАвтообновления;
КонецЕсли;
ПоказатьВремяДокументов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Настройки, "ПоказатьВремяДокументов", Ложь);
Элементы.СписокПоказатьВремяДокументов.Пометка = ПоказатьВремяДокументов;
Элементы.СписокДетальноПоказатьВремяДокументов.Пометка = ПоказатьВремяДокументов;
Список.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
СписокДетально.Параметры.УстановитьЗначениеПараметра("ПоказатьВремяДокументов", ПоказатьВремяДокументов);
ЗаполнитьОтборПоВладельцуИУзлам();
УстановитьТекстЗапросовДинамическихСписков();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройки()
Если ФормыОткрытаПоГиперссылке Тогда
Возврат;
КонецЕсли;
ИменаСохраняемыхРеквизитов =
"СписокИнтервал,СписокДетальноИнтервал,СписокАмортизацияИнтервал,
|ОтборОрганизация,
|ОтборОсновноеСредство,
|ОтборХозяйственныеОперации,
|ОтборТипыДокументов,
|ПоказатьВремяДокументов,
|СписокДокументовРежимАвтообновления,
|СписокДокументовАмортизацияРежимАвтообновления";
Настройки = Новый Структура(ИменаСохраняемыхРеквизитов);
ЗаполнитьЗначенияСвойств(Настройки, ЭтаФорма);
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("Обработка.ЖурналДокументовОС2_4.Форма.ДокументыПоОС", КлючНазначенияИспользования, Настройки);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьРеквизитыФормыПриСоздании()
ТаблицаЗначенийДоступно = ИнициализироватьХозяйственныеОперацииИДокументы(
ХозяйственныеОперацииИДокументы.Выгрузить(),
ОтборХозяйственныеОперации,
ОтборТипыДокументов,
КлючНастроек);
ХозяйственныеОперацииИДокументы.Загрузить(ТаблицаЗначенийДоступно);
ТаблицаЗначенийДоступно = ИнициализироватьХозяйственныеОперацииИДокументыАмортизации(
ХозяйственныеОперацииИДокументыАмортизация.Выгрузить(),
ОтборХозяйственныеОперацииАмортизация,
ОтборТипыДокументовАмортизация,
КлючНастроек);
ХозяйственныеОперацииИДокументыАмортизация.Загрузить(ТаблицаЗначенийДоступно);
УстановитьОтборыДинамическогоСписка();
КонецПроцедуры
&НаСервере
Процедура НастроитьЭлементыФормыПриСоздании()
Если Параметры.Свойство("СтруктураБыстрогоОтбора") Тогда
Если Параметры.СтруктураБыстрогоОтбора.Свойство("ПолноеИмяДокумента") Тогда
Отбор = Новый Структура();
Отбор.Вставить("ПолноеИмяДокумента", Параметры.СтруктураБыстрогоОтбора.ПолноеИмяДокумента);
НайденныеСтроки = ХозяйственныеОперацииИДокументы.НайтиСтроки(Отбор);
Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл
НайденнаяСтрока.Отбор = Истина;
КонецЦикла;
КонецЕсли;
КонецЕсли;
НастроитьФормуПоНастройкамХозяйственныхОперацийИДокументов();
КонецПроцедуры
&НаСервере
Процедура НастроитьФормуПоНастройкамХозяйственныхОперацийИДокументов()
ОбщегоНазначенияУТ.ДанныеРабочегоМеста(
ХозяйственныеОперацииИДокументы.Выгрузить(),
КлючНазначенияФормыПоУмолчанию(),
НСтр("ru = 'все'"));
НастроитьКнопкиУправленияДокументами();
КонецПроцедуры
&НаСервере
Процедура УстановитьОтборыДинамическогоСписка()
ОтборТипыДокументовДляОтбора = ДополнитьТипыДокументовДляОтбора(ОтборТипыДокументов);
ОтборХозяйственныеОперацииДляОтбора = ДополнитьХозОперацииДляОтбора(ОтборХозяйственныеОперации);
#Область Список
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"ХозяйственнаяОперация",
ОтборХозяйственныеОперацииДляОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"ТипСсылки",
ОтборТипыДокументовДляОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"Организация",
ОтборОрганизация,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(ОтборОрганизация));
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Список,
"ДополнительнаяЗапись",
Ложь,
ВидСравненияКомпоновкиДанных.Равно,
,
НЕ ЗначениеЗаполнено(ОтборОрганизация));
Список.Параметры.УстановитьЗначениеПараметра("НачалоПериода", СписокИнтервал.ДатаНачала);
Список.Параметры.УстановитьЗначениеПараметра("КонецПериода",
?(ЗначениеЗаполнено(СписокИнтервал.ДатаОкончания),
КонецДня(СписокИнтервал.ДатаОкончания),
КонецДня(Дата(3999, 12, 31))));
Элементы.СписокУстановитьИнтервал.Пометка =
ЗначениеЗаполнено(СписокИнтервал.ДатаНачала) ИЛИ ЗначениеЗаполнено(СписокИнтервал.ДатаОкончания);
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "Список");
#КонецОбласти
#Область СписокДетально
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ХозяйственнаяОперация",
ОтборХозяйственныеОперацииДляОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ТипСсылки",
ОтборТипыДокументовДляОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"Организация",
ОтборОрганизация,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(ОтборОрганизация));
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ДополнительнаяЗапись",
Ложь,
ВидСравненияКомпоновкиДанных.Равно,
,
НЕ ЗначениеЗаполнено(ОтборОрганизация));
Если ЗначениеЗаполнено(ОСВладелец) Тогда
СписокОтбора = Новый СписокЗначений;
СписокОтбора.Добавить(ОтборОсновноеСредство);
СписокОтбора.Добавить(ОСВладелец);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ОсновноеСредство",
СписокОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ИначеЕсли ОтборПоВладельцуИУзлам.Количество() <> 0 Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ОсновноеСредство",
ОтборПоВладельцуИУзлам,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
Иначе
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокДетально,
"ОсновноеСредство",
ОтборОсновноеСредство,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(ОтборОсновноеСредство));
КонецЕсли;
СписокДетально.Параметры.УстановитьЗначениеПараметра("НачалоПериода", СписокДетальноИнтервал.ДатаНачала);
СписокДетально.Параметры.УстановитьЗначениеПараметра("КонецПериода",
?(ЗначениеЗаполнено(СписокДетальноИнтервал.ДатаОкончания),
КонецДня(СписокДетальноИнтервал.ДатаОкончания),
КонецДня(Дата(3999, 12, 31))));
Элементы.СписокДетальноУстановитьИнтервал.Пометка =
ЗначениеЗаполнено(СписокДетальноИнтервал.ДатаНачала) ИЛИ ЗначениеЗаполнено(СписокДетальноИнтервал.ДатаОкончания);
#КонецОбласти
#Область СписокАмортизация
ОтборТипыДокументовДляОтбора = ДополнитьТипыДокументовДляОтбора(ОтборТипыДокументовАмортизация);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокАмортизация,
"ТипСсылки",
ОтборТипыДокументовДляОтбора,
ВидСравненияКомпоновкиДанных.ВСписке,
,
Истина);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
СписокАмортизация,
"Организация",
ОтборОрганизация,
ВидСравненияКомпоновкиДанных.Равно,
,
ЗначениеЗаполнено(ОтборОрганизация));
СписокАмортизация.Параметры.УстановитьЗначениеПараметра("НачалоПериода", СписокАмортизацияИнтервал.ДатаНачала);
СписокАмортизация.Параметры.УстановитьЗначениеПараметра("КонецПериода",
?(ЗначениеЗаполнено(СписокАмортизацияИнтервал.ДатаОкончания),
КонецДня(СписокАмортизацияИнтервал.ДатаОкончания),
КонецДня(Дата(3999, 12, 31))));
Элементы.СписокАмортизацияУстановитьИнтервал.Пометка =
ЗначениеЗаполнено(СписокАмортизацияИнтервал.ДатаНачала) ИЛИ ЗначениеЗаполнено(СписокАмортизацияИнтервал.ДатаОкончания);
РаботаСЖурналамиДокументов.УстановитьВидимостьГруппыНастройкиОбновленияПоУмолчанию(ЭтотОбъект, "СписокАмортизация");
#КонецОбласти
КонецПроцедуры
&НаСервере
Функция ДополнитьТипыДокументовДляОтбора(ОтборТипыДокументовСписка)
Если СоответствиеДокументов.Количество() = 0 Тогда
Возврат ОтборТипыДокументовСписка;
КонецЕсли;
ОтборТипыДокументовКопия = ОтборТипыДокументовСписка.Скопировать();
Для каждого ЭлементКоллекции Из ОтборТипыДокументовСписка Цикл
СтруктураПоиска = Новый Структура("НовыйДокумент", ЭлементКоллекции.Значение);
СписокСтрок = СоответствиеДокументов.НайтиСтроки(СтруктураПоиска);
Для каждого ДанныеСтроки Из СписокСтрок Цикл
ОтборТипыДокументовКопия.Добавить(ДанныеСтроки.СтарыйДокумент);
КонецЦикла;
КонецЦикла;
Возврат ОтборТипыДокументовКопия;
КонецФункции
&НаСервере
Функция ДополнитьХозОперацииДляОтбора(ОтборХозяйственныеОперации)
ОтборХозяйственныеОперацииКопия = ОтборХозяйственныеОперации.Скопировать();
Если ОтборХозяйственныеОперацииКопия.НайтиПоЗначению(Перечисления.ХозяйственныеОперации.РеализацияВнеоборотныхАктивов) <> Неопределено Тогда
ОтборХозяйственныеОперацииКопия.Добавить(Перечисления.ХозяйственныеОперации.РеализацияКлиенту);
КонецЕсли;
Если ОтборХозяйственныеОперацииКопия.НайтиПоЗначению(Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав) <> Неопределено Тогда
ОтборХозяйственныеОперацииКопия.Добавить(Перечисления.ХозяйственныеОперации.РеализацияБезПереходаПраваСобственности);
КонецЕсли;
Если ОтборХозяйственныеОперацииКопия.НайтиПоЗначению(Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде) <> Неопределено Тогда
ОтборХозяйственныеОперацииКопия.Добавить(Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде);
КонецЕсли;
Возврат ОтборХозяйственныеОперацииКопия;
КонецФункции
&НаСервере
Процедура УстановитьТекстЗапросовДинамическихСписков()
ТекстЗапроса =
"ВЫБРАТЬ
| РеестрДокументовПереопределяемый.Ссылка КАК Ссылка,
| РеестрДокументовПереопределяемый.Организация КАК Организация,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.Подразделение КАК Подразделение,
| РеестрДокументовПереопределяемый.Ответственный КАК Ответственный,
| РеестрДокументовПереопределяемый.Дополнительно КАК Дополнительно,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| ВЫБОР
| КОГДА РеестрДокументовПереопределяемый.Проведен
| ТОГДА 0
| КОГДА РеестрДокументовПереопределяемый.ПометкаУдаления
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК НестандартнаяКартинка,
| РеестрДокументовПереопределяемый.ДополнительнаяЗапись КАК ДополнительнаяЗапись,
| РеестрДокументовПереопределяемый.ТипСсылки КАК ТипСсылки,
| ЕСТЬNULL(ДокументыПоОСПереопределяемый.ОтражатьВУпрУчете, ЛОЖЬ) КАК ОтражатьВУпрУчете,
| ЕСТЬNULL(ДокументыПоОСПереопределяемый.ОтражатьВРеглУчете, ЛОЖЬ) КАК ОтражатьВРеглУчете,
| &ПоказатьВремяДокументов КАК ПоказатьВремяДокументов,
| &СтатусПроверки КАК СтатусПроверки,
| ВЫРАЗИТЬ(&ИндикаторПроверки КАК БУЛЕВО) КАК ИндикаторПроверки,
| ТИПЗНАЧЕНИЯ(РеестрДокументовПереопределяемый.Ссылка) КАК ТипСсылкиДокумента,
| ВЫБОР
| КОГДА ДокументыПоОСПереопределяемый.ОтражатьВУпрУчете
| И РеестрДокументовПереопределяемый.Проведен
| ТОГДА 1
| КОГДА ДокументыПоОСПереопределяемый.ОтражатьВУпрУчете
| И НЕ РеестрДокументовПереопределяемый.Проведен
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ КАК ОтражатьВУпрУчетеКартинка,
| ВЫБОР
| КОГДА ДокументыПоОСПереопределяемый.ОтражатьВРеглУчете
| И РеестрДокументовПереопределяемый.Проведен
| ТОГДА 1
| КОГДА ДокументыПоОСПереопределяемый.ОтражатьВРеглУчете
| И НЕ РеестрДокументовПереопределяемый.Проведен
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ КАК ОтражатьВРеглУчетеКартинка,
| ВЫБОР
| КОГДА РеестрДокументовПереопределяемый.ДатаДокументаИБ < &ДатаНачалаУчета
| И (РеестрДокументовПереопределяемый.Ссылка ССЫЛКА Документ.ВводОстатковВнеоборотныхАктивов2_4
| ИЛИ РеестрДокументовПереопределяемый.Ссылка ССЫЛКА Документ.ИзменениеПараметровОС2_4)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК СозданДляПереходаНаВерсию24,
| ВЫБОР
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы ЕСТЬ NULL
| ТОГДА 0
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК ЕстьФайлы,
| СостоянияЭДПереопределяемый.ПредставлениеСостояния КАК ПредставлениеСостояния,
| РеестрДокументовПереопределяемый.ИдентификаторЗаписи КАК ИдентификаторЗаписи,
| ЕСТЬNULL(ДокументыПоОСПереопределяемый.СобытиеОС, ЗНАЧЕНИЕ(Справочник.СобытияОС.ПустаяСсылка)) КАК СобытиеОС
|
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовПереопределяемый
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыПоОС КАК ДокументыПоОСПереопределяемый
| ПО (ДокументыПоОСПереопределяемый.ТипСсылки = РеестрДокументовПереопределяемый.ТипСсылки)
| И (ДокументыПоОСПереопределяемый.ХозяйственнаяОперация = РеестрДокументовПереопределяемый.ХозяйственнаяОперация)
| И (ДокументыПоОСПереопределяемый.НомерЗаписи = 0)
| И (ДокументыПоОСПереопределяемый.ДополнительнаяЗапись = ЛОЖЬ)
| И (ДокументыПоОСПереопределяемый.Ссылка = РеестрДокументовПереопределяемый.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайловПереопределяемый
| ПО РеестрДокументовПереопределяемый.Ссылка = НаличиеФайловПереопределяемый.ОбъектСФайлами
| {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияПоОбъектамУчетаЭДО КАК СостоянияЭДПереопределяемый
| ПО СостоянияЭДПереопределяемый.СсылкаНаОбъект = РеестрДокументовПереопределяемый.Ссылка}
|{ГДЕ
| РеестрДокументовПереопределяемый.Ссылка.* КАК Ссылка,
| РеестрДокументовПереопределяемый.Организация.* КАК Организация,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.Подразделение.* КАК Подразделение,
| РеестрДокументовПереопределяемый.Ответственный.* КАК Ответственный,
| РеестрДокументовПереопределяемый.Дополнительно КАК Дополнительно,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| (РеестрДокументовПереопределяемый.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериода)
| }";
ВнеоборотныеАктивыЛокализация.ДополнитьТекстЗапросаЖурналаОС(ТекстЗапроса);
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СвойстваСписка);
Если ОтборОсновноеСредство.Пустая() Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| РеестрДокументовПереопределяемый.ТипСсылки КАК ТипСсылки,
| ТИПЗНАЧЕНИЯ(РеестрДокументовПереопределяемый.Ссылка) КАК ТипСсылкиДокумента,
| РеестрДокументовПереопределяемый.Ссылка КАК Ссылка,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.Организация КАК Организация,
| ЕСТЬNULL(АмортизацияОС2_4Переопределяемый.НомерПакета, 0) КАК НомерПакета,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Ответственный КАК Ответственный,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.ИдентификаторЗаписи КАК ИдентификаторЗаписи,
| ВЫБОР
| КОГДА РеестрДокументовПереопределяемый.Проведен
| ТОГДА 0
| КОГДА РеестрДокументовПереопределяемый.ПометкаУдаления
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК НестандартнаяКартинка,
| ВЫБОР
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы ЕСТЬ NULL
| ТОГДА 0
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК ЕстьФайлы
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовПереопределяемый
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АмортизацияОС2_4 КАК АмортизацияОС2_4Переопределяемый
| ПО (АмортизацияОС2_4Переопределяемый.Ссылка = РеестрДокументовПереопределяемый.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайловПереопределяемый
| ПО РеестрДокументовПереопределяемый.Ссылка = НаличиеФайловПереопределяемый.ОбъектСФайлами
|{ГДЕ
| РеестрДокументовПереопределяемый.Ссылка.* КАК Ссылка,
| РеестрДокументовПереопределяемый.Организация.* КАК Организация,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.Подразделение.* КАК Подразделение,
| РеестрДокументовПереопределяемый.Ответственный.* КАК Ответственный,
| РеестрДокументовПереопределяемый.Дополнительно КАК Дополнительно,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| (РеестрДокументовПереопределяемый.ДатаДокументаИБ >= &НачалоПериода
| И РеестрДокументовПереопределяемый.ДатаДокументаИБ <= &КонецПериода)}";
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокАмортизация, СвойстваСписка);
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| РеестрДокументовПереопределяемый.ТипСсылки КАК ТипСсылки,
| ТИПЗНАЧЕНИЯ(РеестрДокументовПереопределяемый.Ссылка) КАК ТипСсылкиДокумента,
| РеестрДокументовПереопределяемый.Ссылка КАК Ссылка,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.Организация КАК Организация,
| ЕСТЬNULL(АмортизацияОС2_4Переопределяемый.НомерПакета, 0) КАК НомерПакета,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Ответственный КАК Ответственный,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.ИдентификаторЗаписи КАК ИдентификаторЗаписи,
| ВЫБОР
| КОГДА РеестрДокументовПереопределяемый.Проведен
| ТОГДА 0
| КОГДА РеестрДокументовПереопределяемый.ПометкаУдаления
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК НестандартнаяКартинка,
| ВЫБОР
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы ЕСТЬ NULL
| ТОГДА 0
| КОГДА НаличиеФайловПереопределяемый.ЕстьФайлы
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК ЕстьФайлы
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовПереопределяемый
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АмортизацияОС2_4 КАК АмортизацияОС2_4Переопределяемый
| ПО (АмортизацияОС2_4Переопределяемый.Ссылка = РеестрДокументовПереопределяемый.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайловПереопределяемый
| ПО РеестрДокументовПереопределяемый.Ссылка = НаличиеФайловПереопределяемый.ОбъектСФайлами
|ГДЕ
| РеестрДокументовПереопределяемый.Ссылка В
| (ВЫБРАТЬ
| РегистрАмортизацияОС.Регистратор
| ИЗ
| РегистрНакопления.АмортизацияОС КАК РегистрАмортизацияОС
| ГДЕ
| РегистрАмортизацияОС.ОсновноеСредство = &ОсновноеСредство)
|{ГДЕ
| РеестрДокументовПереопределяемый.Ссылка.* КАК Ссылка,
| РеестрДокументовПереопределяемый.Организация.* КАК Организация,
| РеестрДокументовПереопределяемый.ДатаДокументаИБ КАК Дата,
| РеестрДокументовПереопределяемый.НомерДокументаИБ КАК Номер,
| РеестрДокументовПереопределяемый.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| РеестрДокументовПереопределяемый.Подразделение.* КАК Подразделение,
| РеестрДокументовПереопределяемый.Ответственный.* КАК Ответственный,
| РеестрДокументовПереопределяемый.Дополнительно КАК Дополнительно,
| РеестрДокументовПереопределяемый.Комментарий КАК Комментарий,
| РеестрДокументовПереопределяемый.Проведен КАК Проведен,
| РеестрДокументовПереопределяемый.ПометкаУдаления КАК ПометкаУдаления,
| (РеестрДокументовПереопределяемый.ДатаДокументаИБ >= &НачалоПериода
| И РеестрДокументовПереопределяемый.ДатаДокументаИБ <= &КонецПериода)}";
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
СвойстваСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокАмортизация, СвойстваСписка);
СписокАмортизация.Параметры.УстановитьЗначениеПараметра("ОсновноеСредство", ОтборОсновноеСредство);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОтборОсновноеСредствоПриИзмененииНаСервере()
ЗаполнитьОтборПоВладельцуИУзлам();
УстановитьТекстЗапросовДинамическихСписков();
ПриИзмененииОтбора();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция КлючНазначенияФормыПоУмолчанию()
Возврат "ДокументыОС";
КонецФункции
&НаСервере
Процедура ПриИзмененииОтбора()
СохранитьНастройки();
УстановитьОтборыДинамическогоСписка();
КонецПроцедуры
&НаСервере
Процедура НастроитьКнопкиУправленияДокументами()
СтруктураПараметров = ОбщегоНазначенияУТ.СтруктураПараметровНастройкиКнопокУправленияДокументами();
СтруктураПараметров.Форма = ЭтаФорма;
СтруктураПараметров.ИмяГруппыСоздать = "СписокГруппаСоздатьГенерируемая";
СтруктураПараметров.ИмяГруппыСоздатьКонтекст = "СписокГруппаСоздатьГенерируемаяКонтекст";
СтруктураПараметров.ИмяКнопкиСкопировать = "СписокСкопировать";
СтруктураПараметров.ИмяКнопкиСкопироватьКонтекстноеМеню = "СписокСкопироватьКонтекст";
СтруктураПараметров.ИмяКнопкиИзменить = "СписокИзменить";
СтруктураПараметров.ИмяКнопкиИзменитьКонтекстноеМеню = "СписокИзменитьКонтекст";
СтруктураПараметров.ИмяКнопкиПровести = "СписокПровести";
СтруктураПараметров.ИмяКнопкиПровестиКонтекстноеМеню = "СписокПровестиКонтекст";
СтруктураПараметров.ИмяКнопкиОтменаПроведения = "СписокОтменаПроведения";
СтруктураПараметров.ИмяКнопкиОтменаПроведенияКонтекстноеМеню = "СписокОтменаПроведенияКонтекст";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаления = "СписокУстановитьПометкуУдаления";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаленияКонтекстноеМеню = "СписокУстановитьПометкуУдаленияКонтекст";
ОбщегоНазначенияУТ.НастроитьКнопкиУправленияДокументами(СтруктураПараметров);
СтруктураПараметров = ОбщегоНазначенияУТ.СтруктураПараметровНастройкиКнопокУправленияДокументами();
СтруктураПараметров.Форма = ЭтаФорма;
СтруктураПараметров.ИмяГруппыСоздать = "СписокДетальноГруппаСоздатьГенерируемая";
СтруктураПараметров.ИмяГруппыСоздатьКонтекст = "СписокДетальноГруппаСоздатьГенерируемаяКонтекст";
СтруктураПараметров.ИмяКнопкиСкопировать = "СписокДетальноСкопировать";
СтруктураПараметров.ИмяКнопкиСкопироватьКонтекстноеМеню = "СписокДетальноСкопироватьКонтекст";
СтруктураПараметров.ИмяКнопкиИзменить = "СписокДетальноИзменить";
СтруктураПараметров.ИмяКнопкиИзменитьКонтекстноеМеню = "СписокДетальноИзменитьКонтекст";
СтруктураПараметров.ИмяКнопкиПровести = "СписокДетальноПровести";
СтруктураПараметров.ИмяКнопкиПровестиКонтекстноеМеню = "СписокДетальноПровестиКонтекст";
СтруктураПараметров.ИмяКнопкиОтменаПроведения = "СписокДетальноОтменаПроведения";
СтруктураПараметров.ИмяКнопкиОтменаПроведенияКонтекстноеМеню = "СписокДетальноОтменаПроведенияКонтекст";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаления = "СписокДетальноУстановитьПометкуУдаления";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаленияКонтекстноеМеню = "СписокДетальноУстановитьПометкуУдаленияКонтекст";
СтруктураПараметров.ПрефиксЭлементов = "СписокДетально";
ОбщегоНазначенияУТ.НастроитьКнопкиУправленияДокументами(СтруктураПараметров);
СтруктураПараметров = ОбщегоНазначенияУТ.СтруктураПараметровНастройкиКнопокУправленияДокументами();
СтруктураПараметров.Форма = ЭтаФорма;
СтруктураПараметров.ИмяГруппыСоздать = "СписокАмортизацияГруппаСоздатьГенерируемая";
СтруктураПараметров.ИмяГруппыСоздатьКонтекст = "СписокАмортизацияГруппаСоздатьГенерируемаяКонтекст";
СтруктураПараметров.ИмяКнопкиСкопировать = "СписокАмортизацияСкопировать";
СтруктураПараметров.ИмяКнопкиСкопироватьКонтекстноеМеню = "СписокАмортизацияСкопироватьКонтекст";
СтруктураПараметров.ИмяКнопкиИзменить = "СписокАмортизацияИзменить";
СтруктураПараметров.ИмяКнопкиИзменитьКонтекстноеМеню = "СписокАмортизацияИзменитьКонтекст";
СтруктураПараметров.ИмяКнопкиПровести = "СписокАмортизацияПровести";
СтруктураПараметров.ИмяКнопкиПровестиКонтекстноеМеню = "СписокАмортизацияПровестиКонтекст";
СтруктураПараметров.ИмяКнопкиОтменаПроведения = "СписокАмортизацияОтменаПроведения";
СтруктураПараметров.ИмяКнопкиОтменаПроведенияКонтекстноеМеню = "СписокАмортизацияОтменаПроведенияКонтекст";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаления = "СписокАмортизацияУстановитьПометкуУдаления";
СтруктураПараметров.ИмяКнопкиУстановитьПометкуУдаленияКонтекстноеМеню = "СписокАмортизацияУстановитьПометкуУдаленияКонтекст";
СтруктураПараметров.ПрефиксЭлементов = "СписокАмортизация";
СтруктураПараметров.ИмяТаблицыХозяйственныхОперацийИДокументов = "ХозяйственныеОперацииИДокументыАмортизация";
ОбщегоНазначенияУТ.НастроитьКнопкиУправленияДокументами(СтруктураПараметров);
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
ВнеоборотныеАктивыСлужебный.УстановитьУсловноеОформлениеПоляДата(
ЭтотОбъект, "Список.Дата", "СписокДата", "ПоказатьВремяДокументов");
ВнеоборотныеАктивыСлужебный.УстановитьУсловноеОформлениеПоляДата(
ЭтотОбъект, "СписокДетально.Дата", "СписокДетальноДата", "ПоказатьВремяДокументов");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьОтборыПоХозОперациямИДокументам(ВыбранноеЗначение, ДополнительныеПараметры) Экспорт
Если ВыбранноеЗначение = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ВыбранноеЗначение) = Тип("Строка") Тогда
АдресДоступныхХозяйственныхОперацийИДокументов = ВыбранноеЗначение;
ОтборОперацияТипОбработкаВыбораСервер(АдресДоступныхХозяйственныхОперацийИДокументов);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОтборОперацияТипОбработкаВыбораСервер(АдресДоступныхХозяйственныхОперацийИДокументов)
ТаблицаХозяйственныеОперацииИДокументы = ПолучитьИзВременногоХранилища(АдресДоступныхХозяйственныхОперацийИДокументов);
ХозяйственныеОперацииИДокументы.Загрузить(ТаблицаХозяйственныеОперацииИДокументы);
ОбщегоНазначенияУТ.ЗаполнитьОтборыПоТаблицеХозОперацийИТиповДокументов(
ТаблицаХозяйственныеОперацииИДокументы, ОтборХозяйственныеОперации, ОтборТипыДокументов);
НастроитьФормуПоНастройкамХозяйственныхОперацийИДокументов();
ПриИзмененииОтбора();
ОбщегоНазначенияУТ.ЗаменитьПолеСсылкаКонструкциейВыразитьПоТипамДокументов(Элементы.Список);
ОбщегоНазначенияУТ.ЗаменитьПолеСсылкаКонструкциейВыразитьПоТипамДокументов(Элементы.СписокАмортизация);
ОбщегоНазначенияУТ.СформироватьНадписьОтбор(
ИнформационнаяНадписьОтбор, ХозяйственныеОперацииИДокументы, ОтборТипыДокументов, ОтборХозяйственныеОперации);
КонецПроцедуры
&НаСервере
Функция ПоместитьВоВременноеХранилищеХозяйственныеОперацииИДокументы()
Возврат ПоместитьВоВременноеХранилище(ХозяйственныеОперацииИДокументы.Выгрузить(), УникальныйИдентификатор);
КонецФункции
&НаКлиенте
Процедура УстановитьИнтервалЗавершение(ВыбранноеЗначение, ДополнительныеПараметры) Экспорт
Если ВыбранноеЗначение = Неопределено Тогда
Возврат;
КонецЕсли;
ПриИзмененииОтбора();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ТекущийСписок(Форма)
Если Форма.Элементы.Страницы.ТекущаяСтраница = Форма.Элементы.СтраницаДокументыДетально Тогда
Возврат Форма.Элементы.СписокДетально;
ИначеЕсли Форма.Элементы.Страницы.ТекущаяСтраница = Форма.Элементы.СтраницаАмортизация Тогда
Возврат Форма.Элементы.СписокАмортизация;
Иначе
Возврат Форма.Элементы.Список;
КонецЕсли;
КонецФункции
&НаСервереБезКонтекста
Функция ИнициализироватьХозяйственныеОперацииИДокументы(ХозяйственныеОперацииИДокументы, ОтборХозяйственныеОперации, ОтборТипыДокументов, КлючНазначенияИспользования, ДокументыКОформлению = Ложь)
ВнеоборотныеАктивыСлужебный.ИнициализироватьХозяйственныеОперацииИДокументыВнеоборотныхАктивов(ХозяйственныеОперацииИДокументы);
Если ПолучитьФункциональнуюОпцию("ИспользоватьОтгрузкуБезПереходаПраваСобственности2_0") Тогда
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияОСсОтложеннымПереходомПрав;
Строка.ПолноеИмяДокумента = Метаданные.Документы.РеализацияУслугПрочихАктивов.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'реализация услуг и прочих активов'");
Строка.ДобавитьКнопкуСоздать = Истина;
КонецЕсли;
Если ПолучитьФункциональнуюОпцию("ИспользуетсяПередачаВАрендуСубарендуПоФСБУ25") Тогда
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияУслугПоАренде;
Строка.ПолноеИмяДокумента = Метаданные.Документы.РеализацияУслугПрочихАктивов.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'реализация услуг и прочих активов'");
Строка.ДобавитьКнопкуСоздать = Истина;
КонецЕсли;
#Область ПринятиеКУчетуОС
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'принятие к учету ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПринятиеКУчетуОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'принятие к учету ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область ПринятиеКУчетуУзловКомпонентовАмортизации
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуУзловКомпонентовАмортизации;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПринятиеКУчетуУзловКомпонентовАмортизации.ПолноеИмя();
Строка.КлючНазначенияИспользования = "ПринятиеКУчетуУзловКомпонентовАмортизации";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'принятие к учету узлов и компонентов амортизации'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область СписаниеОС
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СписаниеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.СписаниеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Списание ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СписаниеОСЧастичное;
Строка.ПолноеИмяДокумента = Метаданные.Документы.СписаниеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Частичное списание ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.СписаниеУзловКомпонентовАмортизации;
Строка.ПолноеИмяДокумента = Метаданные.Документы.СписаниеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = "СписаниеОС";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Полное списание узлов и компонентов'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область ПеремещениеОС
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПеремещениеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПеремещениеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'перемещение ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПеремещениеУзлов;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПеремещениеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = "ПеремещениеУзлов";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'перемещение ОС-узлов'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область Аренда
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗаключениеДоговораАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ЗаключениеДоговораАренды.ПолноеИмя();
Строка.КлючНазначенияИспользования = "ЗаключениеДоговораАренды";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'заключение договоров аренды'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеАрендованныхОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПоступлениеАрендованныхОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'поступление арендованных ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыбытиеАрендованныхОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВыбытиеАрендованныхОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПрекращениеДоговораАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПрекращениеДоговораАренды.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ДосрочноеПрекращениеДоговораАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПрекращениеДоговораАренды.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыкупАрендованныхОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВыкупАрендованныхОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ДосрочныйВыкупАрендованныхОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВыкупАрендованныхОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИзменениеУсловийДоговораАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ИзменениеУсловийДоговораАренды.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИзменениеУсловийПередачиВАренду;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ИзменениеУсловийПередачиВАренду.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПередачаОСВАренду;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПередачаОСВАренду2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'передача ОС в аренду'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОСИзАренды;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВозвратОСИзАренды2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'возврат ОС из аренды'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область Прочее
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИзменениеПараметровОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ИзменениеПараметровОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'изменение параметров ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.МодернизацияОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.МодернизацияОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'модернизация ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПереоценкаОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПереоценкаОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'переоценка ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПодготовкаКПередачеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПодготовкаКПередачеОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'подготовка к передаче ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НаработкаОбъектовЭксплуатации;
Строка.ПолноеИмяДокумента = Метаданные.Документы.НаработкаОбъектовЭксплуатации.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'наработка ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РазукомплектацияОСПолная;
Строка.ПолноеИмяДокумента = Метаданные.Документы.РазукомплектацияОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'разукомплектация ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РазукомплектацияОСЧастичная;
Строка.ПолноеИмяДокумента = Метаданные.Документы.РазукомплектацияОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'разукомплектация ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВыделениеУзловКомпонентовАмортизации;
Строка.ПолноеИмяДокумента = Метаданные.Документы.РазукомплектацияОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = "РазукомплектацияОС";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'разукомплектация ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОбъединениеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ОбъединениеОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПрисоединениеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ОбъединениеОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаСтоимостиИАмортизацииОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.КорректировкаСтоимостиИАмортизацииОС.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ДобавитьКнопкуСоздать = Истина;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОприходованиеПриВыбытииОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ПрочееОприходованиеТоваров.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'оприходование материалов при выбытии ОС'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область ВводОстатков
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковОсновныхСредств;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков основных средств'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковУзловКомпонентовАмортизации;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковУзловКомпонентовАмортизации.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков узлов, компонентов амортизации'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВложенийВоВнеоборотныеАктивы;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков вложений во внеоборотные активы'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАрендованныхОСНаБалансе;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков арендованных ОС (на балансе)'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПереданныхВАрендуПредметовЛизингаНаБалансе;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков переданных в аренду предметов лизинга на балансе'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПредметовЛизингаЗаБалансом;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков предметов лизинга за балансом'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПереданныхВАрендуОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков переданных в аренду основных средств'");
Строка.ДобавитьКнопкуСоздать = Ложь;
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАрендованныхОСЗаБалансом;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ВводОстатковВнеоборотныхАктивов2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Ввод начальных остатков арендованных ОС (за балансом)'");
Строка.ДобавитьКнопкуСоздать = Ложь;
#КонецОбласти
#Область Обесценение
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОбесценениеОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.ОбесценениеВНА.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Обесценение внеоборотных активов'");
Строка.ДобавитьКнопкуСоздать = Истина;
#КонецОбласти
#Область Резервы
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НачислениеСписаниеРезервовПредстоящихРасходов;
Строка.ПолноеИмяДокумента = Метаданные.Документы.НачислениеСписаниеРезервовПредстоящихРасходов.ПолноеИмя();
Строка.КлючНазначенияИспользования = КлючНазначенияИспользования;
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Резервы по ликвидационным обязательствам'");
Строка.ДобавитьКнопкуСоздать = Ложь;
#КонецОбласти
ВнеоборотныеАктивыЛокализация.ДополнитьХозяйственныеОперацииИДокументыОС(ХозяйственныеОперацииИДокументы, КлючНазначенияИспользования);
ТаблицаЗначенийДоступно = ОбщегоНазначенияУТ.ДоступныеХозяйственныеОперацииИДокументы(
ХозяйственныеОперацииИДокументы,
ОтборХозяйственныеОперации,
ОтборТипыДокументов,
КлючНазначенияИспользования);
Возврат ТаблицаЗначенийДоступно;
КонецФункции
&НаСервереБезКонтекста
Функция ИнициализироватьХозяйственныеОперацииИДокументыАмортизации(ХозяйственныеОперацииИДокументы, ОтборХозяйственныеОперации, ОтборТипыДокументов, КлючНазначенияИспользования)
Строка = ХозяйственныеОперацииИДокументы.Добавить();
Строка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.АмортизацияОС;
Строка.ПолноеИмяДокумента = Метаданные.Документы.АмортизацияОС2_4.ПолноеИмя();
Строка.КлючНазначенияИспользования = "АмортизацияОС";
Строка.ЗаголовокРабочегоМеста = НСтр("ru = 'Амортизация'");
Строка.ДобавитьКнопкуСоздать = Истина;
Если КлючНазначенияИспользования = КлючНазначенияФормыПоУмолчанию() Тогда
КлючНастроек = "";
Иначе
КлючНастроек = КлючНазначенияИспользования;
КонецЕсли;
ТаблицаЗначенийДоступно = ОбщегоНазначенияУТ.ДоступныеХозяйственныеОперацииИДокументы(
ХозяйственныеОперацииИДокументы,
ОтборХозяйственныеОперации,
ОтборТипыДокументов,
КлючНастроек);
Возврат ТаблицаЗначенийДоступно;
КонецФункции
&НаКлиенте
Процедура ОбновитьДанныеКогдаФормаСтанетАктивной()
ПодключитьОбработчикОжидания("Подключаемый_ОбновитьДанныеКогдаФормаСтанетАктивной", 0.8, Истина);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьДанныеКогдаФормаСтанетАктивной()
Если ВводДоступен() Тогда
ОбновитьСписки();
НачатьОбновлениеДанныхВФоне();
Иначе
ОбновитьДанныеКогдаФормаСтанетАктивной();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСписки()
Если Элементы.Список.Видимость Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("Список");
КонецЕсли;
Если Элементы.СписокДетально.Видимость Тогда
Элементы.СписокДетально.Обновить();
КонецЕсли;
Если Элементы.СписокАмортизация.Видимость Тогда
ОбновитьСписокДокументовСобытиеОбработкаОповещения("СписокАмортизация");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ОтборыДляСозданияДокумента()
СтруктураОтборы = Новый Структура;
Если ЗначениеЗаполнено(ОтборОрганизация) Тогда
СтруктураОтборы.Вставить("Организация", ОтборОрганизация);
КонецЕсли;
Если Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаДокументыДетально
И ЗначениеЗаполнено(ОтборОсновноеСредство) Тогда
СтруктураОтборы.Вставить("ОсновноеСредство", ОтборОсновноеСредство);
КонецЕсли;
Возврат СтруктураОтборы;
КонецФункции
&НаСервере
Процедура ЗаполнитьОтборПоВладельцуИУзлам()
ОтборПоВладельцуИУзлам.Очистить();
Если НЕ ЗначениеЗаполнено(ОтборОсновноеСредство) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
| УзлыКомпонентыАмортизации.УзелКомпонент КАК УзелКомпонент
|ИЗ
| РегистрСведений.УзлыКомпонентыАмортизации КАК УзлыКомпонентыАмортизации
|ГДЕ
| УзлыКомпонентыАмортизации.ОсновноеСредство = &ОсновноеСредство
| И УзлыКомпонентыАмортизации.Активность
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ОсновноеСредство", ОтборОсновноеСредство);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат;
КонецЕсли;
ОтборПоВладельцуИУзлам.ЗагрузитьЗначения(Результат.Выгрузить().ВыгрузитьКолонку("УзелКомпонент"));
ОтборПоВладельцуИУзлам.Добавить(ОтборОсновноеСредство);
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСнятьПометкуУдаленияЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
КонецЕсли;
КонецПроцедуры
#Область ШтрихкодыИТорговоеОборудование
&НаСервере
Функция ДанныеПоШтрихКодуПечатнойФормы(Штрихкод, ИмяСписка = "")
ЕстьОсновнаяТаблицаСписка = РаботаСЖурналамиДокументов.ЕстьОсновнаяТаблицаСписка(ЭтотОбъект, ИмяСписка);
ДанныеПоШтрихКоду = ОбщегоНазначенияУТ.ДанныеПоШтрихКодуПечатнойФормы(Штрихкод, ХозяйственныеОперацииИДокументы.Выгрузить(), ЕстьОсновнаяТаблицаСписка);
Возврат ДанныеПоШтрихКоду;
КонецФункции
&НаКлиенте
Процедура ОбработатьШтрихкоды(Данные)
Состояние(НСтр("ru = 'Выполняется поиск документа по штрихкоду...'"));
ДанныеПоШтрихКоду = ДанныеПоШтрихКодуПечатнойФормы(Данные.Штрихкод, "Список");
ОбщегоНазначенияУТКлиент.ОбработатьШтрихкоды(Данные.Штрихкод, ДанныеПоШтрихКоду, ЭтаФорма, "Список");
КонецПроцедуры
#КонецОбласти
#Область ГиперссылкаКОформлению
&НаКлиенте
Процедура НачатьОбновлениеДанныхВФоне()
ДлительнаяОперация = НачатьОбновлениеДанныхВФонеНаСервере();
ОповещениеОЗавершении = Новый ОписаниеОповещения("ОбновлениеДанныхВФонеЗавершение", ЭтотОбъект);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаСервере
Функция НачатьОбновлениеДанныхВФонеНаСервере()
ПараметрыФункции = Новый Структура;
ПараметрыФункции.Вставить("Организация", ОтборОрганизация);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
ДлительнаяОперация = ДлительныеОперации.ВыполнитьФункцию(
ПараметрыВыполнения, "Обработки.ЖурналДокументовОС2_4.ДанныеРабочегоМеста", ПараметрыФункции);
Если ДлительнаяОперация.Статус = "Выполняется" Тогда
ТекстИдетОбновлениеДанных = НСтр("ru = 'К оформлению: <идет обновление данных>'");
КОформлению = Новый ФорматированнаяСтрока(ТекстИдетОбновлениеДанных);
КонецЕсли;
Возврат ДлительнаяОперация;
КонецФункции
&НаКлиенте
Процедура ОбновлениеДанныхВФонеЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.Статус = "Ошибка" Тогда
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
КонецЕсли;
ОбновлениеДанныхВФонеЗавершениеНаСервере(Результат.АдресРезультата);
КонецПроцедуры
&НаСервере
Процедура ОбновлениеДанныхВФонеЗавершениеНаСервере(Знач АдресРезультата)
Результат = ПолучитьИзВременногоХранилища(АдресРезультата);
Если ЗначениеЗаполнено(Результат) Тогда
КОформлению = Новый ФорматированнаяСтрока(Результат);
Элементы.КОформлению.Видимость = Элементы.Список.Видимость;
Элементы.КОформлениюСтраницаДетально.Видимость = Истина;
Иначе
Элементы.КОформлению.Видимость = Ложь;
Элементы.КОформлениюСтраницаДетально.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область НастройкиДинамическихСписков
&НаСервере
Процедура ИнициироватьНастройкиДинамическихСписков()
ПараметрыСписковДокументов = Новый Массив;
СтруктураПараметровСписка = РаботаСЖурналамиДокументов.СтруктураФормированияНаФормеГруппыПользовательскихНастроекДинамическогоСписка();
СтруктураПараметровСписка.ИмяСписка = "Список";
СтруктураПараметровСписка.ГруппаРазмещенияНастройки = Элементы.ГруппаНастройкиСпискаДокументов;
СтруктураПараметровСписка.ИмяРеквизитаРежимАвтообновления = "СписокДокументовРежимАвтообновления";
СтруктураПараметровСписка.ИмяКомандыОбновленияСписка = Команды.СписокДокументовОбновить.Имя;
ПараметрыСписковДокументов.Добавить(СтруктураПараметровСписка);
СтруктураПараметровСписка = РаботаСЖурналамиДокументов.СтруктураФормированияНаФормеГруппыПользовательскихНастроекДинамическогоСписка();
СтруктураПараметровСписка.ИмяСписка = "СписокАмортизация";
СтруктураПараметровСписка.ГруппаРазмещенияНастройки = Элементы.ГруппаНастройкиСпискаДокументовАмортизация;
СтруктураПараметровСписка.ИмяРеквизитаРежимАвтообновления = "СписокДокументовАмортизацияРежимАвтообновления";
СтруктураПараметровСписка.ИмяКомандыОбновленияСписка = Команды.СписокДокументовАмортизацияОбновить.Имя;
ПараметрыСписковДокументов.Добавить(СтруктураПараметровСписка);
РаботаСЖурналамиДокументов.ИнициироватьНастройкиДинамическихСписков(ЭтотОбъект, ПараметрыСписковДокументов);
КонецПроцедуры
&НаКлиенте
Процедура ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка)
ДлительноеОбновление = РаботаСЖурналамиДокументовКлиент.ВремяОбновленияСпискаПревышаетДопутимое(ЭтотОбъект,
ИмяСписка);
Если ДлительноеОбновление Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Истина);
СтруктураНастроекКомпоновкиДанных = ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", СтруктураНастроекКомпоновкиДанных.НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", СтруктураНастроекКомпоновкиДанных.СтруктураПользовательскихНастроек);
Иначе
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Ложь);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", Новый НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", Новый Структура);
КонецЕсли;
РаботаСЖурналамиДокументовКлиент.ДокументыОтображениеГруппыПользовательскихОтборовИНастроек(ЭтотОбъект, ИмяСписка);
КонецПроцедуры
&НаСервере
Функция ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка)
ИмяЭлемента = РаботаСЖурналамиДокументов.ЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ИмяЭлементаСписка");
ЭлементФормыСписок = Элементы[ИмяЭлемента];
НастройкиКомпоновкиДанных = ЭлементФормыСписок.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("НастройкиКомпоновкиДанных", НастройкиКомпоновкиДанных);
СписокПолейСоставногоТипа = РаботаСЖурналамиДокументов.ЗначениеНастройкиСпискаДокументов(ЭтотОбъект,
ИмяСписка, "СписокПолейСоставногоТипа");
СтруктураПользовательскихНастроек = РаботаСЖурналамиДокументов.ПроверитьПользовательскиеНастройкиДинамическогоСписка(
НастройкиКомпоновкиДанных, СписокПолейСоставногоТипа);
СтруктураВозврата.Вставить("СтруктураПользовательскихНастроек", СтруктураПользовательскихНастроек);
Возврат СтруктураВозврата;
КонецФункции
&НаКлиенте
Процедура УстановитьПараметрыОбновленияСписковДокументов(ДанныеУстарели, ДлительностьОбновления = Неопределено)
ИмяНастройки = "СписокДокументовКэшНастроек";
ИмяСписка = "";
Для Каждого НастройкаСписокДокументов Из ЭтотОбъект[ИмяНастройки] Цикл
ИмяСписка = НастройкаСписокДокументов.Ключ;
РаботаСЖурналамиДокументовКлиент.УстановитьПараметрыОбновленияСпискаДокументов(ЭтотОбъект, ИмяСписка, ДанныеУстарели,
ДлительностьОбновления);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьДанныеСпискаДокументовСЗамеромВремени(ИмяСписка, УчитыватьПараметрАвтообновления = Ложь)
Если Не УчитыватьПараметрАвтообновления Тогда
ТребуетсяОбновлениеСписка = Истина;
Иначе
ТребуетсяОбновлениеСписка = РаботаСЖурналамиДокументовКлиент.ЗначениеНастройкиАвтообновленияСпискаДокументов(
ЭтотОбъект, ИмяСписка);
Если Не ТребуетсяОбновлениеСписка Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьПризнакОтображенияНеактуальныхДанныхВСписке(ЭтотОбъект, ИмяСписка);
КонецЕсли;
КонецЕсли;
Если ТребуетсяОбновлениеСписка Тогда
РаботаСЖурналамиДокументовКлиент.ОбновитьДанныеСпискаДокументовСЗамеромВремени(ЭтотОбъект, ИмяСписка);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСписокДокументовСобытиеОбработкаОповещения(ИмяСписка, Параметр = Неопределено)
РаботаСЖурналамиДокументовКлиент.ОбновитьСписокДокументовСобытиеОбработкаОповещения(ЭтотОбъект, ИмяСписка, Параметр);
ОтображениеГруппыПользовательскихОтборовИНастроек(ИмяСписка);
КонецПроцедуры
&НаКлиенте
Процедура СписокДокументовОбработкаСобытияЭлементаФормы(Элемент)
ДействиеСписка = РаботаСЖурналамиДокументовКлиент.ИмяСпискаДокументовПоИмениЭлементаФормы(ЭтотОбъект, Элемент.Имя);
Если ДействиеСписка.ИмяСписка = "" Тогда
Возврат;
КонецЕсли;
ИмяСписка = ДействиеСписка.ИмяСписка;
Действие = ДействиеСписка.Действие;
Если Действие = "Отборы" Или Действие = "Порядок" Или Действие = "УсловноеОформление" Тогда
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"ПровереныНастройкиКомпоновкиДанных", Истина);
СтруктураНастроекКомпоновкиДанных = ПолучитьИсполняемыеНастройкиКомпоновкиДанных(ИмяСписка);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"НастройкиКомпоновкиДанных", СтруктураНастроекКомпоновкиДанных.НастройкиКомпоновкиДанных);
РаботаСЖурналамиДокументовКлиент.УстановитьЗначениеНастройкиСпискаДокументов(ЭтотОбъект, ИмяСписка,
"СтруктураПользовательскихНастроек", СтруктураНастроекКомпоновкиДанных.СтруктураПользовательскихНастроек);
КонецЕсли;
Если Действие = "Отборы" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьПользовательскиеОтборыВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "Порядок" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьНастройкиСортировкиВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "УсловноеОформление" Тогда
РаботаСЖурналамиДокументовКлиент.ИсправитьНастройкиУсловногоОформленияВСпискеДокументов(ЭтотОбъект, ИмяСписка);
ИначеЕсли Действие = "Обновление" Тогда
ОбновитьДанныеСпискаДокументовСЗамеромВремени(ИмяСписка);
ИначеЕсли Действие = "УскорениеОбновленияСписка" Тогда
РаботаСЖурналамиДокументовКлиент.СохранитьНастройкуПроизводительныйРежимОбновленияСписка(ЭтотОбъект, ИмяСписка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти