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