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