Vofka @ Вчера, 7:48
,
Не вдавался более глубже, но для моей задачи получилось вот так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ПараметрыОтчета = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
ПолеГруппировки = Новый ПолеКомпоновкиДанных("Регистратор");
Для Каждого ПараметрОтчета Из ПараметрыОтчета Цикл
Если ПараметрОтчета.Параметр = Новый ПараметрКомпоновкиДанных("ПоДокументам") Тогда //это галочка на форме
Если ПараметрОтчета.Значение = Ложь Тогда
Если ТипЗнч(ПараметрОтчета) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") И ПараметрОтчета.Параметр = Новый ПараметрКомпоновкиДанных("ПоДокументам") Тогда
Если НЕ (КолонкаОборотДоступна() И ПараметрОтчета.Значение) Тогда
ПараметрОтчета.Значение = Ложь;
//убирем из выводимых колонок
Для Каждого ЭлКолонки Из КомпоновщикНастроек.Настройки.Выбор.Элементы Цикл
Если ЭлКолонки.Поле = Новый ПолеКомпоновкиДанных("Регистратор") Тогда
ЭлКолонки.Использование = Ложь;
ИначеЕсли ЭлКолонки.Поле = Новый ПолеКомпоновкиДанных("ДатаДок") Тогда
ЭлКолонки.Использование = Ложь;
КонецЕсли;
КонецЦикла;
Иначе
//добавляем, если нет
Для Каждого ЭлКолонки Из КомпоновщикНастроек.Настройки.Выбор.Элементы Цикл
Если ЭлКолонки.Поле = Новый ПолеКомпоновкиДанных("Оборот") Тогда
ЭлКолонки.Использование = Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры