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