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