Доходы и расходы / Модуль объекта

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

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

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

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

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

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

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

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ПользовательскиеНастройкиМодифицированы = Ложь;

	УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
	
	НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.ДоходыИРасходы; // НаборДанныхОбъединениеСхемыКомпоновкиДанных

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

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

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

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

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

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

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

Функция СтруктураЗаголовковПолей()
	СтруктураЗаголовковПолей = Новый Структура;
	
	ПараметрТипАнализа = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек, "ТипАнализа");
	ДоступнаяНастройка = ОтчетыКлиентСервер.НайтиДоступнуюНастройку(КомпоновщикНастроек.Настройки, ПараметрТипАнализа);
	Если ДоступнаяНастройка <> Неопределено Тогда
		ПредставлениеЗначенияПараметра = ДоступнаяНастройка.ДоступныеЗначения[ПараметрТипАнализа.Значение - 1];
		СтруктураЗаголовковПолей.Вставить("ТипАнализа", ПредставлениеЗначенияПараметра);
	КонецЕсли;
	
	Возврат СтруктураЗаголовковПолей;
КонецФункции

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

//++ НЕ УТ

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

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

Процедура НастроитьПараметрыОтборыПоФункциональнымОпциям(СвойстваНастройки)
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоОрганизаций") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(2);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьПодразделения") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(3);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоСкладов") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(4);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если Не ПолучитьФункциональнуюОпцию("ОтветственныйВДокументах") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(5);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыКлиентов") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(7);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСделкиСКлиентами") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(8);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
	Если ПолучитьФункциональнуюОпцию("УправлениеТорговлей") Тогда
		НайденныйЭлементСписка = СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(10);
		СвойстваНастройки.ЗначенияДляВыбора.Удалить(НайденныйЭлементСписка);
	КонецЕсли;
	
КонецПроцедуры

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

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

#КонецЕсли

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