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

файл

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

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

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ФормироватьРезервыПоСомнительнымДолгамНУПриИзменении(Элемент)
	Если НЕ Запись.ФормироватьРезервыПоСомнительнымДолгамНУ Тогда
		Запись.ПериодичностьРезервовПоСомнительнымДолгамНУ = Неопределено;	
	КонецЕсли;
	УстановитьСвойстваЭлементов(ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ВключатьВСоставНалоговыхРасходовАрендныеПлатежиПриИзменении(Элемент)
	УстановитьСвойстваЭлементов(ЭтаФорма);
КонецПроцедуры

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

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

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

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

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

	ИмяРеквизита = СтрЗаменить(Элемент.Имя, "Запись", "");
	ЗначениеРеквизита = Запись[ИмяРеквизита];

	ДатаНачалаПрименения67ФЗНачалоВыбораЗавершение(ЗначениеРеквизита, ИмяРеквизита);
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура ЗаписатьИЗакрыть(Команда)
	ЗадатьВопросПередСохранениемЗакрытием(Истина, Истина, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура Записать(Команда)
	ЗадатьВопросПередСохранениемЗакрытием(Истина, Ложь, Ложь);
КонецПроцедуры

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

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

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

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

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

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

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

&НаСервере
Процедура ПолучитьПараметрыСистемыНалогообложенияИУчетнойПолитики()

	ПараметрыСистемыНалогообложения = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикНаДату(
			"НастройкиСистемыНалогообложения",
			Запись.Организация,
			КонецГода(ДатаИзменения),
			Истина);
	СистемаНалогообложения = ПараметрыСистемыНалогообложения.СистемаНалогообложения;
	ПрименяетсяЕНВД = ПараметрыСистемыНалогообложения.ПрименяетсяЕНВД;
	
	ПараметрыУчетнойПолитики = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикНаДату(
			"УчетнаяПолитикаБухУчета",
			Запись.Организация,
			КонецГода(ДатаИзменения),
			Истина);
	ВедетсяУчетПостоянныхИВременныхРазниц = ПараметрыУчетнойПолитики <> Неопределено И ПараметрыУчетнойПолитики.ВедетсяУчетПостоянныхИВременныхРазниц;
	
	Если ДатаИзменения >= '20230101' Тогда
		Если Запись.ДатаНезависимогоПризнанияДоходовРасходов = '00010101' Тогда
			Запись.ДатаНезависимогоПризнанияДоходовРасходов = '20221201';
			Элементы.ЗаписьДатаНезависимогоПризнанияДоходовРасходов.Видимость = Ложь;
		Иначе
			Запись.ДатаНезависимогоПризнанияДоходовРасходов = '20221201';
			Элементы.ЗаписьДатаНезависимогоПризнанияДоходовРасходов.Видимость = Ложь;
		КонецЕсли;
		
	ИначеЕсли ДатаИзменения < '20230101' Тогда 
		Элементы.ЗаписьДатаНезависимогоПризнанияДоходовРасходов.Видимость = Истина;
	КонецЕсли;
	
	Организации = Новый Массив;
	Организации.Добавить(Запись.Организация);
	
	ПараметрыУчетнойПолитики = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикПоОрганизациям(
			"ПрименениеРегиональныхИНВ",
			Организации,
			КонецГода(ДатаИзменения),
			Ложь);
	СтруктураПоиска = Новый Структура("ПрименяетсяРегиональныйИНВ", Истина);
	КоличествоНастроекРИНВ = ПараметрыУчетнойПолитики.НайтиСтроки(СтруктураПоиска).Количество();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Модифицированность = Истина;
	
КонецПроцедуры

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

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

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