Учетная политика бухгалтерского учета / Форма записи / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	КлючЗаписи = Неопределено;
	ИмяРегистра = Метаданные.РегистрыСведений.УчетнаяПолитикаБухУчета.Имя;
	ТолькоПросмотр = НЕ ПравоДоступа("Изменение", Метаданные.РегистрыСведений.УчетнаяПолитикаБухУчета);
	
	Организация = Параметры.Организация;
	Элементы.Организация.Видимость = НЕ ЗначениеЗаполнено(Организация);
	Заголовок = Заголовок + " " + Строка(Организация);
	
	ЭтоФормаЗаписи = Параметры.Свойство("Ключ", КлючЗаписи);
	Если Параметры.Свойство("ЗначениеКопирования") И ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
		СкопироватьЗаписьРегистра(Параметры.ЗначениеКопирования);
	Иначе
		ПрочитатьЗаписьРегистра(КлючЗаписи);
	КонецЕсли;
	
	НастроитьПодсказкиВариантыУчетаОтложенногоНалога(
		Элементы.ВариантУчетаОтложенногоНалогаБалансовыйМетод.РасширеннаяПодсказка.Заголовок,
		Элементы.ВариантУчетаОтложенногоНалогаБалансовыйМетодСУчетомРазниц.РасширеннаяПодсказка.Заголовок,
		Элементы.ВариантУчетаОтложенногоНалогаЗатратныйМетод.РасширеннаяПодсказка.Заголовок,
		ТекущаяДатаСеанса());
		
	ПараметрыВыбораСтатейИАналитик = СписокПараметровВыбораСтатейИАналитик();
	ДоходыИРасходыСервер.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
	Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьВнеоборотныеАктивы2_4") Тогда
		Элементы.ДекорацияПорядокНачисленияАмортизацииОС.Видимость = Ложь;
		Элементы.ДекорацияПорядокНачисленияАмортизацииАренда.Видимость = Ложь;
		Элементы.ДекорацияПорядокНачисленияАмортизацииНМА.Видимость = Ложь;
	КонецЕсли;
	
	Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьПроизводствоНаСтороне") Тогда
		Элементы.УчетПродукцииПереработчикаНа20Счете.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	УчетРасходовПоИсследованиямИРазработкамКлиент.УстановитьПараметрыВыбораСтатьиРасхода(Элементы.СтатьяРасходовПоИсследованиям);
	
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	
	СписокПроверяемыхПолейРегистра = ПроверяемыеПоляРегистра();
	МассивПроверяемыхПолей = СписокПроверяемыхПолейРегистра.ВыгрузитьЗначения();
	
	ПараметрыВыбораСтатейИАналитик = СписокПараметровВыбораСтатейИАналитик();
	ДоходыИРасходыСервер.ОбработкаПроверкиЗаполнения(Запись, Отказ, МассивПроверяемыхПолей, ПараметрыВыбораСтатейИАналитик);
	
	Для Каждого ПроверяемыйРеквизит Из МассивПроверяемыхПолей Цикл
		Если Не ЗначениеЗаполнено(Запись[ПроверяемыйРеквизит]) Тогда
			ЭлементСписка = СписокПроверяемыхПолейРегистра.НайтиПоЗначению(ПроверяемыйРеквизит);
			ТекстСообщения = СтрШаблон(НСтр("ru = 'Поле ""%1"" не заполнено'"), ЭлементСписка.Представление);
			ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Запись." + ПроверяемыйРеквизит, , Отказ);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
	
	Если Модифицированность И ЗавершениеРаботы Тогда
		Отказ = Истина;
		Возврат;
	КонецЕсли;
	
	Если Модифицированность Тогда
		
		Отказ = Истина;
		ЗадатьВопросФормаМодифицирована("ВопросПередЗакрытиемЗавершение");
		
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

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

&НаКлиенте
Процедура ДатаИзмененияПриИзмененииЗавершение(Ответ, ДополнительныеПараметры) Экспорт
	
	Если Ответ = КодВозвратаДиалога.Нет Тогда
		ПрочитатьЗаписьРегистраПриИзменииРеквизита(,ДатаИзменения);
	ИначеЕсли Ответ = КодВозвратаДиалога.Да Тогда
		ПрочитатьЗаписьРегистраПриИзменииРеквизита(,ДатаИзменения, Истина);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
	Организация = Запись.Организация;
	ПрочитатьЗаписьРегистраПриИзменииРеквизита(,ДатаИзменения);
КонецПроцедуры

&НаКлиенте
Процедура ОписаниеИсторииОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Если НавигационнаяСсылкаФорматированнойСтроки = "ИсторияИзменений" Тогда
		Если Модифицированность Тогда
			ЗадатьВопросФормаМодифицирована("ОткрытьИсториюИзмененийПродолжение");
		Иначе
			ОткрытьИсториюИзменений();
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ВариантУчетаОтложенногоНалогаПриИзменении(Элемент)
	УстановитьВидимостьЭлементов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовДляСписанияМалоценныхТМЦПриИзменении(Элемент)

	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);

КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовДляСписанияМалоценныхТМЦНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаСписанияМалоценныхТМЦАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаСписанияМалоценныхТМЦОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АналитикаСписанияМалоценныхТМЦНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура СписыватьСтоимостьМалоценныхТМЦНаРасходыПриИзменении(Элемент)
	
	СписыватьСтоимостьМалоценныхТМЦНаРасходыПриИзмененииНаСервере();
	
КонецПроцедуры

&НаКлиенте
Процедура НастроитьСчетаУчетаНоменклатуры(Команда)
	//++ НЕ УТ
	ОткрытьФорму("Обработка.НастройкаОтраженияДокументовВРеглУчете.Форма.ФормаНастройки", , ЭтотОбъект);
	//-- НЕ УТ
	Возврат; // В УТ обработчик пустой
КонецПроцедуры

&НаКлиенте
Процедура НастроитьГруппировкуАктивов(Команда)
	//++ НЕ УТ
	ОткрытьФорму("Справочник.ПравилаГруппировкиАктивовОбязательств.Форма.ФормаСписка", , ЭтотОбъект);
	//-- НЕ УТ
	Возврат; // В УТ обработчик пустой
КонецПроцедуры

&НаКлиенте
Процедура НастройкаЗаполненияБухОтчетностиОткрытие(Элемент, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	ПараметрыФормы = Новый Структура("НастройкаЗаполненияОтчетности", Запись.НастройкаЗаполненияБухОтчетности);
	ОткрытьФорму("Справочник.НастройкиЗаполненияБухОтчетности.Форма.НастройкиЗаполненияОтчетности", ПараметрыФормы);
	
КонецПроцедуры

#Область ВнеоборотныеАктивы

&НаКлиенте
Процедура ЗаписьУчетНИОКРПоФСБУ26ПриИзменении(Элемент)
	
	УчетНИОКРПоФСБУ26ПриИзмененииНаСервере();
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьПрименяетсяФСБУ14ПриИзменении(Элемент)
	
	Если Запись.ПрименяетсяФСБУ14 Тогда
		Запись.ПорядокНачисленияАмортизацииНМА = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету");
		Запись.МетодПереоценкиНМА = ПредопределенноеЗначение("Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета");
	Иначе
		Запись.ПорядокНачисленияАмортизацииНМА = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца");
		Запись.МетодПереоценкиНМА = ПредопределенноеЗначение("Перечисление.МетодыПереоценкиВНА.ПустаяСсылка");
	КонецЕсли;
	
	УстановитьВидимостьЭлементов(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьПрименяетсяФСБУ6ПриИзменении(Элемент)
	
	Если Запись.ПрименяетсяФСБУ6 Тогда
		Запись.ПорядокНачисленияАмортизацииОС = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету");
		Запись.ПорядокНачисленияАмортизацииАренда = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету");
		Запись.ПорядокНачисленияАмортизацииАренда = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СДатыПринятияКУчету");
		Запись.МетодПереоценкиОС = ПредопределенноеЗначение("Перечисление.МетодыПереоценкиВНА.МетодПропорциональногоПересчета");
	Иначе
		Запись.ПорядокНачисленияАмортизацииОС = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца");
		Запись.ПорядокНачисленияАмортизацииАренда = ПредопределенноеЗначение("Перечисление.ПорядокНачисленияАмортизации.СоСледующегоМесяца");
		Запись.МетодПереоценкиОС = ПредопределенноеЗначение("Перечисление.МетодыПереоценкиВНА.ПустаяСсылка");
	КонецЕсли;
	
	УстановитьВидимостьЭлементов(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьСтатьяРасходовПоИсследованиямПриИзменении(Элемент)

	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);

КонецПроцедуры

&НаКлиенте
Процедура ЗаписьСтатьяРасходовПоИсследованиямНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьАналитикаРасходовПоИсследованиямАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьАналитикаРасходовПоИсследованиямОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписьАналитикаРасходовПоИсследованиямНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда)
	Если ЗаписатьИзменения(Истина) Тогда
		Закрыть();
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Записать(Команда)
	ЗаписатьИзменения();
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьВариантУчетаОтложенногоНалога(Команда)
	ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(НалогНаПрибыльБухгалтерскийУчетКлиентСервер.ГиперссылкаОписаниеМетодовУчета());
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура ПрочитатьЗаписьРегистра(КлючЗаписи = Неопределено, ПериодЗаписи = Неопределено, СоздатьНовую = Ложь)
	НастройкиНалоговУчетныхПолитик.ПрочитатьЗаписьРегистра(ЭтотОбъект, 
		ИмяРегистра,
		Организация,
		СоздатьНовую,
		КлючЗаписи,
		ПериодЗаписи);
	СистемаНалогообложения = НастройкиНалоговУчетныхПолитикПовтИсп.СистемаНалогообложенияОрганизации(Организация, ДатаИзменения);
	ПрименяетсяУСН = СистемаНалогообложения = Перечисления.СистемыНалогообложения.Упрощенная;
	УстановитьВидимостьЭлементов(ЭтотОбъект);
	
	ПараметрыВыбораСтатейИАналитик = СписокПараметровВыбораСтатейИАналитик();
	ДоходыИРасходыСервер.ПриИзмененииПараметровВыбораСтатей(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
КонецПроцедуры

&НаКлиенте
Процедура ПрочитатьЗаписьРегистраПриИзменииРеквизита(КлючЗаписи = Неопределено, ПериодЗаписи = Неопределено, СоздатьНовую = Ложь)
	Если НЕ Копирование Тогда
		ПрочитатьЗаписьРегистра(КлючЗаписи, ПериодЗаписи, СоздатьНовую);
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура СкопироватьЗаписьРегистра(ЗначениеКопирования)
	НастройкиНалоговУчетныхПолитик.СкопироватьУчетнуюПолитику(ЭтотОбъект, ЗначениеКопирования, ИмяРегистра);
	УстановитьВидимостьЭлементов(ЭтотОбъект);
	Копирование = Истина;
	Модифицированность = Истина;
	
	ПараметрыВыбораСтатейИАналитик = СписокПараметровВыбораСтатейИАналитик();
	ДоходыИРасходыСервер.ПриИзмененииПараметровВыбораСтатей(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
КонецПроцедуры

&НаКлиенте
Процедура ОповеститьПослеЗаписи()
	
	ПараметрыОповещения = Новый Структура("Организация, Период", Запись.Организация, Запись.Период);
	ИмяСобытия = "Запись_" + ИмяРегистра;
	Оповестить(ИмяСобытия, ПараметрыОповещения);
	
КонецПроцедуры

&НаСервере
Функция ЗаписатьИзмененияНаСервере(Закрытие = Ложь)
	ЗаписьУспешна = НастройкиНалоговУчетныхПолитик.ЗаписатьИзменениеЗаписейРегистра(ЭтотОбъект, Закрытие);
	Возврат ЗаписьУспешна;
КонецФункции

&НаКлиенте
Функция ЗаписатьИзменения(Закрытие = Ложь)
	ОчиститьСообщения();
	ЗаписьУспешна = ЗаписатьИзмененияНаСервере(Закрытие);
	Если ЗаписьУспешна Тогда
		ОповеститьПослеЗаписи();
	КонецЕсли;
	Возврат ЗаписьУспешна;
КонецФункции

&НаКлиенте
Процедура ЗадатьВопросФормаМодифицирована(ИмяОповещения)
	
	ТекстВопроса = НСтр("ru = 'Данные были изменены. Сохранить изменения?'");
	Оповещение = Новый ОписаниеОповещения(ИмяОповещения, ЭтотОбъект);
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНетОтмена);
	
КонецПроцедуры

&НаКлиенте
Процедура ВопросПередЗакрытиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	Если Результат = КодВозвратаДиалога.Нет Тогда
		
		Модифицированность = Ложь;
		Закрыть();
		
	ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда
		Если НЕ ЗаписатьИзменения(Истина) Тогда
			Возврат;
		КонецЕсли;
		Модифицированность = Ложь;
		Закрыть();
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьИсториюИзменений()
	ОткрытьФорму("РегистрСведений.УчетнаяПолитикаБухУчета.Форма.РедактированиеИстории",
		Новый Структура("ТолькоПросмотр, Организация", ТолькоПросмотр, Организация),
		ЭтотОбъект,,,,
		Новый ОписаниеОповещения("ОткрытьИсториюИзмененийЗавершение", ЭтотОбъект));
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьИсториюИзмененийПродолжение(Результат, ДополнительныеПараметры) Экспорт
	Если Результат = КодВозвратаДиалога.Нет Тогда
		ОткрытьИсториюИзменений();
	ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда
		Если НЕ ЗаписатьИзменения(Ложь) Тогда
			Возврат;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьИсториюИзмененийЗавершение(Результат, ДополнительныеПараметры) Экспорт
	Если ЗначениеЗаполнено(Результат) Тогда
		ПрочитатьЗаписьРегистра(Результат);
	КонецЕсли;
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьЭлементов(Форма)
	
	Запись = Форма.Запись;

	Форма.Элементы.ВидРазницПБУ18РезервовПоСомнительнымДолгам.Доступность =
		НалогНаПрибыльБухгалтерскийУчетКлиентСервер.ВедетсяУчетПостоянныхИВременныхРазниц(Запись.ВариантУчетаОтложенногоНалога);
	
	Форма.Элементы.ГруппаПрименяетсяПБУ18.Видимость = НЕ Форма.ПрименяетсяУСН;
	
	Форма.Элементы.ЗаписьМетодПереоценкиОС1.Доступность = Запись.ПрименяетсяФСБУ6;
	Форма.Элементы.ЗаписьМетодПереоценкиОС2.Доступность = Запись.ПрименяетсяФСБУ6;

	Форма.Элементы.ЗаписьМетодПереоценкиНМА1.Доступность = Запись.ПрименяетсяФСБУ14;
	Форма.Элементы.ЗаписьМетодПереоценкиНМА2.Доступность = Запись.ПрименяетсяФСБУ14;
	
	Форма.Элементы.ИспользоватьСчет40.Видимость = Запись.Период < РеглУчетКлиентСервер.НачалоПримененияФСБУ5_2019();

	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииОССДатыПринятияКУчету.Доступность = Запись.ПрименяетсяФСБУ6;
	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииОССоСледующегоМесяца.Доступность = Запись.ПрименяетсяФСБУ6;

	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииАрендаСДатыПринятияКУчету.Доступность = Запись.ПрименяетсяФСБУ6;
	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииАрендаСоСледующегоМесяца.Доступность = Запись.ПрименяетсяФСБУ6;

	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииНМАСДатыПринятияКУчету.Доступность = Запись.ПрименяетсяФСБУ14;
	Форма.Элементы.ЗаписьПорядокНачисленияАмортизацииНМАСоСледующегоМесяца.Доступность = Запись.ПрименяетсяФСБУ14;

	Форма.ТолькоПросмотр = Форма.ТолькоПросмотр Или Форма.ОбособленноеПодразделение;
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьПодсказкиВариантыУчетаОтложенногоНалога(ПодсказкаБалансовыйМетод, ПодсказкаПостоянныеРазницы, ПодсказкаЗатратныйМетод, Период)
	
	// Для вариантов балансового метода
	Если НалогНаПрибыльБухгалтерскийУчетКлиентСервер.Приказ236нОбязателен(Период) Тогда
		ОсобенностиПрименения = "";
	Иначе
		
		ОсобенностиПрименения = НСтр("ru = 'Учет ведется в соответствии с изменениями в ПБУ 18, предусмотренными Приказом Минфина от 20.11.2018 №236н.
	                                 |Решение о применении этих изменений до 2020 года подлежит раскрытию в финансовой отчетности организации.'");
	КонецЕсли;
	
	// - Балансовый метод
	ОписаниеМетода = НСтр("ru = 'Простой и надежный способ учета, основанный на Рекомендации БМЦ ""Порядок учета налога на прибыль"".'");
	
	НастроитьПодсказкуВариантУчетаОтложенногоНалога(
		ПодсказкаБалансовыйМетод,
		ОписаниеМетода,
		ОсобенностиПрименения);
		
	// - Балансовый метод с постоянными и временными разницами
	ОписаниеМетода = НСтр("ru = 'Требует отражать в учете информацию о постоянных и временных разницах в стоимости активов и обязательств.'");
	
	НастроитьПодсказкуВариантУчетаОтложенногоНалога(
		ПодсказкаПостоянныеРазницы,
		ОписаниеМетода,
		ОсобенностиПрименения);
		
	// Затратный метод
	Если НалогНаПрибыльБухгалтерскийУчетКлиентСервер.Приказ236нОбязателен(Период) Тогда
		ОсобенностиПрименения = НСтр("ru = 'Метод не следует использовать, когда результаты его применения будут существенно отличаться от балансового метода.
                                      |Например, в организациях с обособленными подразделениями, прибыль которых облагается по различным ставкам налога.'");
	Иначе
		ОсобенностиПрименения = "";
	КонецЕсли;
	
	ОписаниеМетода = НСтр("ru = 'Требует детально прослеживать движение постоянных и временных разниц в стоимости активов, обязательств, доходов и расходов.'");
	
	НастроитьПодсказкуВариантУчетаОтложенногоНалога(
		ПодсказкаЗатратныйМетод,
		ОписаниеМетода,
		ОсобенностиПрименения);
		
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьПодсказкуВариантУчетаОтложенногоНалога(Подсказка, ОписаниеМетода, ОсобенностиПрименения)
	
	ЭлементыТекста = Новый Массив;
	
	ЭлементыТекста.Добавить(ОписаниеМетода);
	
	Если Не ПустаяСтрока(ОсобенностиПрименения) Тогда
		ЭлементыТекста.Добавить(ОсобенностиПрименения);
	КонецЕсли;
	
	Подробности = Новый ФорматированнаяСтрока(
		НСтр("ru = 'Подробнее'"),
		, // Шрифт по умолчанию
		, // Цвет текста по умолчанию
		, // Цвет фона по умолчанию
		НалогНаПрибыльБухгалтерскийУчетКлиентСервер.ГиперссылкаОписаниеМетодовУчета());
		
	ЭлементыТекста.Добавить(Подробности);
	
	// Разделители строк
	Для Индекс = 0 По ЭлементыТекста.ВГраница() - 1 Цикл
		ЭлементыТекста[Индекс] = ЭлементыТекста[Индекс] + Символы.ПС + Символы.ПС;
	КонецЦикла;
	
	Подсказка = Новый ФорматированнаяСтрока(ЭлементыТекста);
	
КонецПроцедуры

&НаСервере
Функция ПроверяемыеПоляРегистра()
	
	СписокПроверяемыхПолей = Новый СписокЗначений;

	СписокПроверяемыхПолей.Добавить(
			"СтатьяРасходовПоИсследованиям",
			 НСтр("ru='Статья списания расходов по исследованиям'"));
			 
	СписокПроверяемыхПолей.Добавить(
			"АналитикаРасходовПоИсследованиям",
			 НСтр("ru='Аналитика списания расходов по исследованиям'"));
	
	СписокПроверяемыхПолей.Добавить(
			"СтатьяРасходовДляСписанияМалоценныхТМЦ",
			 НСтр("ru='Статья расходов для списания малоценных ТМЦ'"));
			 
	СписокПроверяемыхПолей.Добавить(
			"АналитикаСписанияМалоценныхТМЦ",
			 НСтр("ru='Аналитика списания малоценных ТМЦ'"));
	
	Возврат СписокПроверяемыхПолей;
	
КонецФункции

&НаСервере
Процедура УчетНИОКРПоФСБУ26ПриИзмененииНаСервере()
	
	ДоходыИРасходыСервер.ПриИзмененииПараметровВыбораСтатей(ЭтотОбъект, ПараметрыВыбораРасходовПоИсследованиям());
	
КонецПроцедуры

&НаСервере
Процедура СписыватьСтоимостьМалоценныхТМЦНаРасходыПриИзмененииНаСервере()
	
	ДоходыИРасходыСервер.ПриИзмененииПараметровВыбораСтатей(ЭтотОбъект, ПараметрыВыбораМалоценныхТМЦ());
	
	Элементы.НастроитьСчетаУчетаНоменклатуры.Доступность = Запись.СписыватьСтоимостьМалоценныхТМЦНаРасходы;
	
КонецПроцедуры

&НаСервере
Функция ПараметрыВыбораСтатейИАналитик(Статья, АналитикаРасходов, ДоступностьПоОперации)
	
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Запись";
	ПараметрыВыбора.Статья = Статья;
	
	ПараметрыВыбора.ДоступностьПоОперации = ДоступностьПоОперации;
	ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Ложь;
	
	ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
	ПараметрыВыбора.АналитикаРасходов = АналитикаРасходов;
	
	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить(Статья);
	ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить(АналитикаРасходов);
	
	Возврат ПараметрыВыбора;
	
КонецФункции

&НаСервере
Функция ПараметрыВыбораРасходовПоИсследованиям()
	
	Возврат ПараметрыВыбораСтатейИАналитик(
		"СтатьяРасходовПоИсследованиям",
		"АналитикаРасходовПоИсследованиям",
		Запись.УчетНИОКРПоФСБУ26);
	
КонецФункции

&НаСервере
Функция ПараметрыВыбораМалоценныхТМЦ()
	
	Возврат ПараметрыВыбораСтатейИАналитик(
		"СтатьяРасходовДляСписанияМалоценныхТМЦ",
		"АналитикаСписанияМалоценныхТМЦ",
		Запись.СписыватьСтоимостьМалоценныхТМЦНаРасходы);
	
КонецФункции

&НаСервере
Функция СписокПараметровВыбораСтатейИАналитик()
			
	СписокПараметровВыбора = Новый Массив;
	СписокПараметровВыбора.Добавить(ПараметрыВыбораРасходовПоИсследованиям());
	СписокПараметровВыбора.Добавить(ПараметрыВыбораМалоценныхТМЦ());
	
	Возврат СписокПараметровВыбора;
	
КонецФункции

#КонецОбласти

Связанные материалы