Как программно установить уровень группировки в СКД ? #769117


#0 by ildarian
Добрый день. Имеется ввиду не свернуть отчет по какому то уровню. В настройках есть системное поле "Уровень". От мне нужно уго установить программно. Подскажите как это сделать ?
#1 by ildarian
Это поле есть только у группировки. То есть нужно ещё указать для какой группировки задается отбор.
#2 by ildarian
ап
#3 by Сильф
Ты структуру отчета хочешь поменять? Так не получится.
#4 by ildarian
в настройках отчета вручную можно поставить уровень, по идеи програмно тоже должно быть можна
#5 by Defender aka LINN
Тут нужны скриншоты как минимум
#6 by ildarian
А как тут картнку прикрепить ?
#7 by ildarian
это находится Настройки - отборы - системные поля
#8 by ildarian
только нужно переключить на настройки группировки
#9 by ildarian
#10 by ildarian
тут скериншот
#11 by Defender aka LINN
Ну, как-то так, лень 1С запускать
#12 by ildarian
Если написать КомпоновщикНастроек.Настройки.Структура[0].Отбор.Элементы.Добавить то выдает ошибку "Несоответствие типов (параметр номер '1') ". Что-то в сп не могу найти что туда передаваьт нужно.
#13 by ildarian
КомпоновщикНастроек.Настройки.Структура[0].Отбор.Элементы.Добавить(Новый ПолеКомпоновкиДанных("Уровень")) так тоже не работает
#14 by Diman000
Ты хочешь этот отбор из программно установить?
#15 by ildarian
да
#16 by Diman000
Видимо, да. Такие вещи делаются так. Добавляешь руками в настройку СКД, как у тебя на скрине, потом гоу ту отладчик и ищешь в каком месте структуры СКД твоя настройка появилась. С какими типами и все такое. Потом легко делаешь это программно. Я сто раз так делал :-) А читать по СП или книжкам про программную работу с СКД там черт ногу сломит.
#17 by Diman000
А про отборы надо там в Добавить тип элемента указывать. Добавить(Тип("ЭлементОтбораКомпоновкиДанных")) как-то так, не помню точно...
#18 by ildarian
Тут есть нюанс. Если написать так как Вы посоветовали, то выходит, что отбор добавляется для всего отчета. А мне нужно его добавить для группировки "Номенклатура", так как у отчета нет системных полей
#19 by ildarian
а поле "Уровень" - это системное поле
#20 by Diman000
Если после интерактивной настройки из все работает как надо, то с программным добавлением проблем быть не должно. Чтобы добавить в нужное место см.
#21 by ildarian
Для того чтобы указать уровень нужно обязательно(!) писать название поля по английски: SystemFields.level. Если написать по руски, то вылетает ошибка что поле не найдено. Всем спасбо за помощь!!
#22 by Diman000
Забавно. С предопределенными полями из другой базы через COM такая же история. Posted, IsMarked итд...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С