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