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