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