Параметры начисления земельного налога / Модуль менеджера

файл

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

#Область Команды

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

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

#Область Проведение

// Описывает учетные механизмы используемые в документе для регистрации в механизме проведения.
//
// Параметры:
//  МеханизмыДокумента - Массив из Строка - список имен учетных механизмов, для которых будет выполнена
//              регистрация в механизме проведения.
//
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
	
	МеханизмыДокумента.Добавить("ИмущественныеНалоги");
	МеханизмыДокумента.Добавить("ОсновныеСредства");
	МеханизмыДокумента.Добавить("РеестрДокументов");
	
КонецПроцедуры

// Возвращает таблицы для движений, необходимые для проведения документа по регистрам учетных механизмов.
//
// Параметры:
//  Документ - ДокументСсылка, ДокументОбъект - ссылка на документ или объект, по которому необходимо получить данные
//  Регистры - Структура - список имен регистров, для которых необходимо получить таблицы
//  ДопПараметры - Структура - дополнительные параметры для получения данных, определяющие контекст проведения.
//
// Возвращаемое значение:
//  Структура - коллекция элементов:
//     * Таблица<ИмяРегистра> - ТаблицаЗначений - таблица данных для отражения в регистр.
//
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
	
	Если ДопПараметры = Неопределено Тогда
		ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
	КонецЕсли;
	
	Если ТипЗнч(Документ) = Тип("ДокументОбъект.ПараметрыНачисленияЗемельногоНалога") Тогда
		ДокументСсылка = Документ.Ссылка;
	Иначе
		ДокументСсылка = Документ;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	ТекстыЗапроса = Новый СписокЗначений;
	
	Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
		
		ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
		
		ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры);
		ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры);

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

// Формирует таблицы движений при отложенном проведении.
//
// Параметры:
//  МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Содержит временные таблицы, которые используются при формировании движений.
//
// Возвращаемое значение:
//  см. ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения
//
Функция ТаблицыОтложенногоФормированияДвижений(МенеджерВременныхТаблиц) Экспорт

	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	
	ПолучитьДанныеДокумента(Запрос);

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

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

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//  Настройки - Структура - настройки подсистемы.
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
	Возврат;
КонецПроцедуры

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)";

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

// Конец СтандартныеПодсистемы.УправлениеДоступом

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

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

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

#Область Проведение

Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
	
	ИсточникиДанных = Новый Соответствие;
	Возврат ИсточникиДанных;
	
КонецФункции

Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт

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

	Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
	Результат.ЗначенияПараметров = ЗначенияПараметров;
	Результат.ТекстЗапроса = ТекстЗапроса;
	
	Возврат Результат;
	
КонецФункции

Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры)
	
	ПроведениеДокументов.ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка, ДопПараметры);
	
	СформироватьТаблицуВтСписокДокументов(Запрос);
	ПолучитьДанныеДокумента(Запрос);

	Запрос.Текст =
	"ВЫБРАТЬ
	|	ДанныеДокумента.Период КАК Период,
	|	ДанныеДокумента.Номер КАК Номер,
	|	ДанныеДокумента.Организация КАК Организация
	|ИЗ
	|	ДанныеДокументаРеквизиты КАК ДанныеДокумента";
	Результат = Запрос.Выполнить();
	Реквизиты = Результат.Выбрать();
	Реквизиты.Следующий();
	
	ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
	Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
		Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
	КонецЦикла; 
	
КонецПроцедуры

Процедура СформироватьТаблицуВтСписокДокументов(Запрос)
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	СписокДокументов.Ссылка КАК Ссылка,
	|	СписокДокументов.Организация КАК Организация,
	|	СписокДокументов.Дата КАК Период
	|
	|ПОМЕСТИТЬ ВтСписокДокументов
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога КАК СписокДокументов
	|
	|ГДЕ
	|	СписокДокументов.Ссылка = &Ссылка
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Ссылка
	|";
	
	Запрос.Выполнить();
	
КонецПроцедуры

Процедура ПолучитьДанныеДокумента(Запрос)
	
	СписокЗапросов = Новый Массив;
	
	#Область ДанныеДокументаРеквизиты
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка КАК Ссылка,
	|	ДанныеДокумента.Номер КАК Номер,
	|	ДанныеДокумента.Дата КАК Период,
	|	ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
	|	ДанныеДокумента.Проведен КАК Проведен,
	|	ДанныеДокумента.Комментарий КАК Комментарий,
	|	ДанныеДокумента.Ответственный КАК Ответственный,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ДанныеДокумента.КодКатегорииЗемель КАК КодКатегорииЗемель,
	|	ДанныеДокумента.ПостановкаНаУчетВНалоговомОргане КАК ПостановкаНаУчетВНалоговомОргане,
	|	ДанныеДокумента.НалоговыйОрган КАК НалоговыйОрган,
	|	ДанныеДокумента.КодПоОКТМО КАК КодПоОКТМО,
	|	ДанныеДокумента.КодПоОКАТО КАК КодПоОКАТО,
	|	ДанныеДокумента.КБК КАК КБК,
	|	ДанныеДокумента.НалоговаяСтавка КАК НалоговаяСтавка,
	|	ДанныеДокумента.НалоговаяЛьготаПоНалоговойБазе КАК НалоговаяЛьготаПоНалоговойБазе,
	|	ДанныеДокумента.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395 КАК
	|		КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395,
	|	ДанныеДокумента.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391 КАК
	|		КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391,
	|	ДанныеДокумента.УменьшениеНалоговойБазыПоСтатье391 КАК УменьшениеНалоговойБазыПоСтатье391,
	|	ДанныеДокумента.УменьшениеНалоговойБазыНаСумму КАК УменьшениеНалоговойБазыНаСумму,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЧислитель КАК ДоляНеОблагаемойНалогомПлощадиЧислитель,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЗнаменатель КАК ДоляНеОблагаемойНалогомПлощадиЗнаменатель,
	|	ДанныеДокумента.НеОблагаемаяНалогомСумма КАК НеОблагаемаяНалогомСумма,
	|	ДанныеДокумента.СниженнаяНалоговаяСтавка КАК СниженнаяНалоговаяСтавка,
	|	ДанныеДокумента.ПроцентУменьшенияСуммыНалога КАК ПроцентУменьшенияСуммыНалога,
	|	ДанныеДокумента.СуммаУменьшенияСуммыНалога КАК СуммаУменьшенияСуммыНалога,
	|	ДанныеДокумента.УказаныСпособыОтражениеРасходов КАК УказаныСпособыОтражениеРасходов,
	|	ДанныеДокумента.РежимИсправленияСПрошлойДаты КАК РежимИсправленияСПрошлойДаты,
	|	КОНЕЦПЕРИОДА(ДанныеДокумента.НачалоДействия, ДЕНЬ) КАК НачалоДействия,
	|	ДанныеДокумента.ОснованиеЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.НачалоДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСтавки,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.Комментарий
	|
	|ПОМЕСТИТЬ ДанныеДокументаРеквизиты
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога КАК ДанныеДокумента
	|
	|ГДЕ
	|	ДанныеДокумента.Ссылка В (
	|		ВЫБРАТЬ
	|			ВтСписокДокументов.Ссылка
	|		ИЗ
	|			ВтСписокДокументов КАК ВтСписокДокументов)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Ссылка
	|";
	СписокЗапросов.Добавить(ТекстЗапроса);
	#КонецОбласти
	
	#Область ДанныеДокументаТаблицаОС
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаДокумента.Ссылка КАК Ссылка,
	|	ТаблицаДокумента.ОсновноеСредство КАК ОсновноеСредство,
	|	ТаблицаДокумента.ОсновноеСредство КАК ОбъектУчета,
	|
	|	ТаблицаДокумента.ДатаРегистрации КАК ДатаРегистрации,
	|	ТаблицаДокумента.КадастровыйНомер КАК КадастровыйНомер,
	|	ТаблицаДокумента.КадастроваяСтоимость КАК КадастроваяСтоимость,
	|	ТаблицаДокумента.ОбщаяСобственность КАК ОбщаяСобственность,
	|	ТаблицаДокумента.ДоляВПравеОбщейСобственностиЧислитель КАК ДоляВПравеОбщейСобственностиЧислитель,
	|	ТаблицаДокумента.ДоляВПравеОбщейСобственностиЗнаменатель КАК ДоляВПравеОбщейСобственностиЗнаменатель,
	|	ТаблицаДокумента.ЖилищноеСтроительство КАК ЖилищноеСтроительство,
	|	ТаблицаДокумента.ДатаНачалаПроектирования КАК ДатаНачалаПроектирования,
	|	ТаблицаДокумента.ДатаРегистрацииПравНаОбъектНедвижимости КАК ДатаРегистрацииПравНаОбъектНедвижимости
	|
	|ПОМЕСТИТЬ ДанныеДокументаТаблицаОС
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога.ОС КАК ТаблицаДокумента
	|
	|ГДЕ
	|	ТаблицаДокумента.Ссылка В (
	|		ВЫБРАТЬ
	|			ВтСписокДокументов.Ссылка
	|		ИЗ
	|			ВтСписокДокументов КАК ВтСписокДокументов)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Ссылка,
	|	ОсновноеСредство
	|";
	СписокЗапросов.Добавить(ТекстЗапроса);
	#КонецОбласти
	
	#Область ДанныеДокументаТаблицаОтражениеРасходов
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТаблицаДокумента.Ссылка КАК Ссылка,
	|	ТаблицаДокумента.НомерСтроки КАК НомерСтроки
	|
	|ПОМЕСТИТЬ ДанныеДокументаТаблицаОтражениеРасходов
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога.ОтражениеРасходов КАК ТаблицаДокумента
	|
	|ГДЕ
	|	ТаблицаДокумента.Ссылка В (
	|		ВЫБРАТЬ
	|			ВтСписокДокументов.Ссылка
	|		ИЗ
	|			ВтСписокДокументов КАК ВтСписокДокументов)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Ссылка
	|";
	СписокЗапросов.Добавить(ТекстЗапроса);
	#КонецОбласти

	Запрос.Текст = СтрСоединить(СписокЗапросов, ОбщегоНазначения.РазделительПакетаЗапросов());
	Запрос.Выполнить();
	
КонецПроцедуры

Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)

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

	Если Реквизиты <> Неопределено Тогда
		ЗначенияПараметровПроведения.Вставить("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер));
	КонецЕсли; 
	
	Возврат ЗначенияПараметровПроведения;
	
КонецФункции

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

	Текст =
	"ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка КАК Регистратор,
	|	ВЫБОР 
	|		КОГДА ТаблицаОС.ДатаРегистрации <> ДАТАВРЕМЯ(1,1,1)
	|				И НЕ ДанныеДокумента.РежимИсправленияСПрошлойДаты
	|			ТОГДА ТаблицаОС.ДатаРегистрации
	|		ИНАЧЕ НАЧАЛОПЕРИОДА(ДанныеДокумента.Период, ДЕНЬ) 
	|	КОНЕЦ КАК Период,
	|
	|	ДАТАВРЕМЯ(1,1,1) КАК ДатаИсправления,
	|	
	|	ДанныеДокумента.Организация КАК Организация,
	|	ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
	|	
	|	ИСТИНА КАК ВключатьВНалоговуюБазу,
	|	ДанныеДокумента.КодКатегорииЗемель КАК КодКатегорииЗемель,
	|	ТаблицаОС.КадастровыйНомер КАК КадастровыйНомер,
	|	ТаблицаОС.КадастроваяСтоимость КАК КадастроваяСтоимость,
	|	ТаблицаОС.ОбщаяСобственность КАК ОбщаяСобственность,
	|	ТаблицаОС.ДоляВПравеОбщейСобственностиЧислитель КАК ДоляВПравеОбщейСобственностиЧислитель,
	|	ТаблицаОС.ДоляВПравеОбщейСобственностиЗнаменатель КАК ДоляВПравеОбщейСобственностиЗнаменатель,
	|	ТаблицаОС.ЖилищноеСтроительство КАК ЖилищноеСтроительство,
	|	ТаблицаОС.ДатаНачалаПроектирования КАК ДатаНачалаПроектированияДо2008,
	|	ТаблицаОС.ДатаРегистрацииПравНаОбъектНедвижимости КАК ДатаРегистрацииПравНаОбъектНедвижимости,
	|	ДанныеДокумента.ПостановкаНаУчетВНалоговомОргане КАК ПостановкаНаУчетВНалоговомОргане,
	|	ДанныеДокумента.НалоговыйОрган КАК НалоговыйОрган,
	|	ДанныеДокумента.КодПоОКТМО КАК КодПоОКТМО,
	|	ДанныеДокумента.КодПоОКАТО КАК КодПоОКАТО,
	|	ДанныеДокумента.КБК КАК КБК,
	|	ДанныеДокумента.НалоговаяСтавка КАК НалоговаяСтавка,
	|	ДанныеДокумента.НалоговаяЛьготаПоНалоговойБазе КАК НалоговаяЛьготаПоНалоговойБазеДо2020,
	|	ДанныеДокумента.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395 КАК КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395До2020,
	|	ДанныеДокумента.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391 КАК КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391До2020,
	|	ДанныеДокумента.УменьшениеНалоговойБазыПоСтатье391 КАК УменьшениеНалоговойБазыПоСтатье391До2020,
	|	ДанныеДокумента.УменьшениеНалоговойБазыНаСумму КАК УменьшениеНалоговойБазыНаСуммуДо2020,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЧислитель КАК ДоляНеОблагаемойНалогомПлощадиЧислитель,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЗнаменатель КАК ДоляНеОблагаемойНалогомПлощадиЗнаменатель,
	|	ДанныеДокумента.НеОблагаемаяНалогомСумма КАК НеОблагаемаяНалогомСумма,
	|	ДанныеДокумента.СниженнаяНалоговаяСтавка КАК СниженнаяНалоговаяСтавка,
	|	ДанныеДокумента.ПроцентУменьшенияСуммыНалога КАК ПроцентУменьшенияСуммыНалогаДо2020,
	|	ДанныеДокумента.СуммаУменьшенияСуммыНалога КАК СуммаУменьшенияСуммыНалога,
	|	ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация) КАК ВидЗаписи,
	|	ДанныеДокумента.ОснованиеЛьготыПоНалоговойБазе КАК ОснованиеЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.НачалоДействияЛьготыПоНалоговойБазе КАК НачалоДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыПоНалоговойБазе КАК ОкончаниеДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСтавки КАК ОснованиеЛьготыСнижениеСтавки,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСтавки КАК НачалоДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСтавки КАК ОкончаниеДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСуммыНалога КАК ОснованиеЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСуммыНалога КАК НачалоДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСуммыНалога КАК ОкончаниеДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.Комментарий КАК Комментарий
	|	
	|ИЗ
	|	ДанныеДокументаРеквизиты КАК ДанныеДокумента
	|	
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
	|		ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВтПараметрыНачисленияЗемельногоНалога КАК ДанныеРегистраПоследнее
	|		ПО ДанныеРегистраПоследнее.Ссылка = ТаблицаОС.Ссылка
	|			И ДанныеРегистраПоследнее.ОсновноеСредство = ТаблицаОС.ОсновноеСредство
	|
	|ГДЕ
	|	(НЕ ДанныеДокумента.РежимИсправленияСПрошлойДаты
	|		ИЛИ ЕСТЬNULL(ДанныеРегистраПоследнее.Период, ДАТАВРЕМЯ(1,1,1)) < ДанныеДокумента.НачалоДействия)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка КАК Регистратор,
	|	НАЧАЛОПЕРИОДА(ДанныеДокумента.НачалоДействия, ДЕНЬ) КАК Период,
	|	ДанныеДокумента.Период КАК ДатаИсправления,
	|	
	|	ДанныеДокумента.Организация КАК Организация,
	|	ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
	|	
	|	ИСТИНА КАК ВключатьВНалоговуюБазу,
	|	ДанныеДокумента.КодКатегорииЗемель КАК КодКатегорииЗемель,
	|	ТаблицаОС.КадастровыйНомер КАК КадастровыйНомер,
	|	ТаблицаОС.КадастроваяСтоимость КАК КадастроваяСтоимость,
	|	ТаблицаОС.ОбщаяСобственность КАК ОбщаяСобственность,
	|	ТаблицаОС.ДоляВПравеОбщейСобственностиЧислитель КАК ДоляВПравеОбщейСобственностиЧислитель,
	|	ТаблицаОС.ДоляВПравеОбщейСобственностиЗнаменатель КАК ДоляВПравеОбщейСобственностиЗнаменатель,
	|	ТаблицаОС.ЖилищноеСтроительство КАК ЖилищноеСтроительство,
	|	ТаблицаОС.ДатаНачалаПроектирования КАК ДатаНачалаПроектированияДо2008,
	|	ТаблицаОС.ДатаРегистрацииПравНаОбъектНедвижимости КАК ДатаРегистрацииПравНаОбъектНедвижимости,
	|	ДанныеДокумента.ПостановкаНаУчетВНалоговомОргане КАК ПостановкаНаУчетВНалоговомОргане,
	|	ДанныеДокумента.НалоговыйОрган КАК НалоговыйОрган,
	|	ДанныеДокумента.КодПоОКТМО КАК КодПоОКТМО,
	|	ДанныеДокумента.КодПоОКАТО КАК КодПоОКАТО,
	|	ДанныеДокумента.КБК КАК КБК,
	|	ДанныеДокумента.НалоговаяСтавка КАК НалоговаяСтавка,
	|	ДанныеДокумента.НалоговаяЛьготаПоНалоговойБазе КАК НалоговаяЛьготаПоНалоговойБазеДо2020,
	|	ДанныеДокумента.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395 КАК КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395До2020,
	|	ДанныеДокумента.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391 КАК КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391До2020,
	|	ДанныеДокумента.УменьшениеНалоговойБазыПоСтатье391 КАК УменьшениеНалоговойБазыПоСтатье391До2020,
	|	ДанныеДокумента.УменьшениеНалоговойБазыНаСумму КАК УменьшениеНалоговойБазыНаСуммуДо2020,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЧислитель КАК ДоляНеОблагаемойНалогомПлощадиЧислитель,
	|	ДанныеДокумента.ДоляНеОблагаемойНалогомПлощадиЗнаменатель КАК ДоляНеОблагаемойНалогомПлощадиЗнаменатель,
	|	ДанныеДокумента.НеОблагаемаяНалогомСумма КАК НеОблагаемаяНалогомСумма,
	|	ДанныеДокумента.СниженнаяНалоговаяСтавка КАК СниженнаяНалоговаяСтавка,
	|	ДанныеДокумента.ПроцентУменьшенияСуммыНалога КАК ПроцентУменьшенияСуммыНалогаДо2020,
	|	ДанныеДокумента.СуммаУменьшенияСуммыНалога КАК СуммаУменьшенияСуммыНалога,
	|	ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация) КАК ВидЗаписи,
	|	ДанныеДокумента.ОснованиеЛьготыПоНалоговойБазе КАК ОснованиеЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.НачалоДействияЛьготыПоНалоговойБазе КАК НачалоДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыПоНалоговойБазе КАК ОкончаниеДействияЛьготыПоНалоговойБазе,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСтавки КАК ОснованиеЛьготыСнижениеСтавки,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСтавки КАК НачалоДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСтавки КАК ОкончаниеДействияЛьготыСнижениеСтавки,
	|	ДанныеДокумента.ОснованиеЛьготыСнижениеСуммыНалога КАК ОснованиеЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.НачалоДействияЛьготыСнижениеСуммыНалога КАК НачалоДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.ОкончаниеДействияЛьготыСнижениеСуммыНалога КАК ОкончаниеДействияЛьготыСнижениеСуммыНалога,
	|	ДанныеДокумента.Комментарий КАК Комментарий	
	|
	|ИЗ
	|	ДанныеДокументаРеквизиты КАК ДанныеДокумента
	|	
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
	|		ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
	|
	|ГДЕ
	|	ДанныеДокумента.РежимИсправленияСПрошлойДаты
	|";
	
	ТекстыЗапроса.Добавить(Текст, ИмяРегистра, Истина);
	
	Возврат Текст;
	
КонецФункции

Функция ТекстЗапросаТаблицаСпособыОтраженияРасходовПоИмущественнымНалогам(ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "СпособыОтраженияРасходовПоИмущественнымНалогам";
	
	Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	Текст = 
	"ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка КАК Регистратор,
	|	ДанныеДокумента.Период КАК Период,
	|	ДанныеДокумента.Организация КАК Организация,
	|	ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыИмущественныхНалогов.ЗемельныйНалог) КАК ВидНалога,
	|	ИСТИНА КАК СпособОтраженияРасходовЗаданДокументом,
	|	ДанныеДокумента.Ссылка КАК СпособОтраженияРасходов
	|
	|ИЗ
	|	ДанныеДокументаРеквизиты КАК ДанныеДокумента
	|	
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОС КАК ТаблицаОС
	|		ПО ТаблицаОС.Ссылка = ДанныеДокумента.Ссылка
	|
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеДокументаТаблицаОтражениеРасходов КАК ТаблицаОтражениеРасходов
	|		ПО (ТаблицаОтражениеРасходов.Ссылка = ДанныеДокумента.Ссылка)
	|			И (ТаблицаОтражениеРасходов.НомерСтроки = 1)
	|";
	
	ТекстыЗапроса.Добавить(Текст, ИмяРегистра, Истина);
	
	Возврат Текст;
	
КонецФункции

Функция ТекстЗапросаТаблицаРеестрДокументов(ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "РеестрДокументов";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ДанныеДокумента.Ссылка                  КАК Ссылка,
	|	ДанныеДокумента.Дата                    КАК ДатаДокументаИБ,
	|	ДанныеДокумента.Номер                   КАК НомерДокументаИБ,
	|	&ИдентификаторМетаданных                КАК ТипСсылки,
	|	ДанныеДокумента.Организация             КАК Организация,
	|	&ХозяйственнаяОперация                  КАК ХозяйственнаяОперация,
	|	ДанныеДокумента.Ответственный           КАК Ответственный,
	|	ДанныеДокумента.Комментарий             КАК Комментарий,
	|	ДанныеДокумента.Проведен                КАК Проведен,
	|	ДанныеДокумента.ПометкаУдаления         КАК ПометкаУдаления,
	|	ЛОЖЬ                                    КАК ДополнительнаяЗапись,
	|	ДанныеДокумента.Дата                    КАК ДатаПервичногоДокумента,
	|	&НомерНаПечать                          КАК НомерПервичногоДокумента,
	|	ЛОЖЬ                                    КАК СторноИсправление,
	|	НЕОПРЕДЕЛЕНО                            КАК СторнируемыйДокумент,
	|	НЕОПРЕДЕЛЕНО                            КАК ИсправляемыйДокумент,
	|	ДанныеДокумента.Дата                    КАК ДатаОтраженияВУчете,
	|	НЕОПРЕДЕЛЕНО                            КАК Приоритет
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога КАК ДанныеДокумента
	|
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

Функция ТекстЗапросаТаблицаДокументыПоОС(ТекстыЗапроса, Регистры)
	
	ИмяРегистра = "ДокументыПоОС";
	
	Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли;
	
	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ЕСТЬNULL(ТаблицаОС.НомерСтроки-1, 0)    КАК НомерЗаписи,
	|	ДанныеДокумента.Ссылка                  КАК Ссылка,
	|	ДанныеДокумента.Дата                    КАК Дата,
	|	ДанныеДокумента.Организация             КАК Организация,
	|	ДанныеДокумента.Проведен                КАК Проведен,
	|	&ХозяйственнаяОперация                  КАК ХозяйственнаяОперация,
	|	&ИдентификаторМетаданных                КАК ТипСсылки,
	|	ИСТИНА                                  КАК ОтражатьВРеглУчете,
	|	ЛОЖЬ                                    КАК ОтражатьВУпрУчете,
	|	ТаблицаОС.ОсновноеСредство              КАК ОсновноеСредство,
	|	ДанныеДокумента.РежимИсправленияСПрошлойДаты КАК ЭтоИсправление,
	|
	|	ВЫБОР
	|		КОГДА ДанныеДокумента.РежимИсправленияСПрошлойДаты
	|			ТОГДА ДанныеДокумента.НачалоДействия
	|		ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
	|	КОНЕЦ КАК НачалоПериодаИсправления,
	|
	|	ВЫБОР
	|		КОГДА ДанныеДокумента.РежимИсправленияСПрошлойДаты
	|			ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(ДанныеДокумента.Дата, МЕСЯЦ), ДЕНЬ)
	|		ИНАЧЕ ДАТАВРЕМЯ(1,1,1)
	|	КОНЕЦ КАК КонецПериодаИсправления
	|
	|ИЗ
	|	Документ.ПараметрыНачисленияЗемельногоНалога КАК ДанныеДокумента
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПараметрыНачисленияЗемельногоНалога.ОС КАК ТаблицаОС
	|		ПО ДанныеДокумента.Ссылка = ТаблицаОС.Ссылка
	|
	|ГДЕ
	|	ДанныеДокумента.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;
	
КонецФункции

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

#Область Печать

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	
	
	
КонецПроцедуры

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

#Область БлокировкаПриОбновленииИБ

Процедура ПроверитьБлокировкуВходящихДанныхПриОбновленииИБ(ПредставлениеОперации) Экспорт
	
	ВходящиеДанные = Новый Соответствие;
	
	ЗакрытиеМесяцаСервер.ПроверитьБлокировкуВходящихДанныхПриОбновленииИБ(ВходящиеДанные, ПредставлениеОперации);
	
КонецПроцедуры

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

#Область СтандартныеПодсистемы

// Определяет список команд создания на основании.
//
// Параметры:
//  КомандыСозданияНаОсновании - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.КомандыСозданияНаОсновании
//  Параметры - см. СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании.Параметры
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
	Возврат; //В дальнейшем будет добавлен код команд
	
КонецПроцедуры

// Определяет список команд отчетов.
//
// Параметры:
//   КомандыОтчетов - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.КомандыОтчетов
//   Параметры - См. ВариантыОтчетовПереопределяемый.ПередДобавлениемКомандОтчетов.Параметры
//
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
	
	
	
КонецПроцедуры

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

#Область Прочее

// Параметры выбора статей и аналитик.
// 
// Возвращаемое значение:
//  см. ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики
Функция ПараметрыВыбораСтатейИАналитик() Экспорт
	
	ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
	ПараметрыВыбора.ПутьКДанным = "Объект.ОтражениеРасходов";
	ПараметрыВыбора.Статья = "СтатьяРасходов";
	
	ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
	ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
	
	ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ОтражениеРасходовСтатьяРасходов");
	ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ОтражениеРасходовАналитикаРасходов");
	
	Возврат ПараметрыВыбора;
	
КонецФункции

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

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

#КонецЕсли

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