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