|
СКД | ☑ | ||
---|---|---|---|---|
0
CyberDream
30.11.11
✎
12:33
|
Не так давно разбираюсь с СКД, по сему вопрос. (книга Хрусталевой лежит на столе, если бы нашел там ответ, не задавал бы вопрос)
Есть отчет построенный на основании схемы компоновки данных. В настройках схеме компоновки есть группировки: Склад Поставщик Партия Номенклатура Хочу в диалог вывести список значений с пометкой напротив каждой из группировок, чтобы пользователь мог выбирать какую группировку включать в отчет, а какую нет. Сразу оговорюсь в данном случае я не использую стандартную форму настроек. Задача сводится к вводу в диалог список группировок с возможностью их включения / выключения. |
|||
1
CyberDream
30.11.11
✎
12:38
|
Попробовал сделать следующие:
Элементу диалога присвоил тип Отчет.КомпоновщикНастроект.Настройки.Выбор, где содержатся все доступные поля источника данных. Но тут, если попытаться убрать флажки с некоторых полей, ничего не происходит, поля все равно выводятся. Отключение работает только на поле-ресурсе. |
|||
2
DrShad
30.11.11
✎
12:39
|
видимо полохо еще прочитал мануал
|
|||
3
CyberDream
30.11.11
✎
12:40
|
пошел читать еще раз - спасибо
|
|||
4
PVV65
30.11.11
✎
13:36
|
(0) Создаешь форму. На форме размещаешь ТП: имя - "СписокПолей", тип - "СписокЗначений". В модуле формы пишешь -
Процедура ПриОткрытии() Для Каждого ЭлементСтруктуры ИЗ КомпоновщикНастроек.Настройки.ДоступныеПоляГруппировок.Элементы Цикл СписокПолей.Добавить(ЭлементСтруктуры.Поле); КонецЦикла; КонецПроцедуры Процедура СписокПолейПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) КомпоновщикНастроек.Настройки.Структура.Очистить(); Группировка = КомпоновщикНастроек.Настройки; Для Каждого Поле Из СписокПолей Цикл Если Поле.Пометка Тогда Группировка = Группировка.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ВыбранноеПоле = Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеГруппировки.Использование = Истина; ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы; ПолеГруппировки.Поле = Поле.Значение; КонецЕсли; КонецЦикла; КонецПроцедуры Вторая процедура - это обработчик события ТП. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |