Получить настройки отбора СКД #802148


#0 by papakarlo
Суть вот в чем: есть настройка СКД с отбором, который настроил пользователь. Нужно вытащить эти настройки отбора и опознать поля, по которым отбор настроен. Например, если СКД построено на справочнике номенклатура и отбор настроен по полю "Наименование" этого справочника, нужно вытащить название этого поля и тип. В настройках отбора это поле фигурирует в "левое значение" и имеет тип "ПолеКомпоновкиДанных". Подскажите, кто знает, есть ли возможность разыменовать это "ПолеКомпоновкиДанных" и есть ли способ вообще вытащить эти отборы из СКД.
#1 by bodri
отладчиком пройдись, там много чего можно увидеть
#2 by papakarlo
в отладчик то я умею. Но в этом вопросе отладчик не помогает. Тему открыл в надежде, что кто-то уже занимался этим вопросом и знает что делать
#3 by Chameleon1980
все там помогает. Вы просто не умеете его готовить.
#4 by bodri
Вывод СКД программно или нет? Программно легко можно отладчиком пройти.
#5 by Diman000
Я часто занимаюсь этим вопросом и знаю что делать. Идешь в отладчик и там все смотришь. Помнить все эти многочисленные НастройкаПолейКомпоновкиДанных19Серия это к Терминатору. Помимо ЛевоеЗначение часто бывает еще и ПравоеЗначение. Скорее всего то что вы ищете именно там.
#6 by echo77
КомпоновщикНастроек.ПолучитьНастройки.Отбор - это коллекция. Обходишь коллекцию - видишь какие отборы установлены
#7 by Chameleon1980
встань на коллекции жмакни, вроде, ф2 - попробуй
#8 by papakarlo
а я и обхожу коллекцию отбора. Написал же, что в отладчик умею. Только дело все в том, что в ЭлементеКоллекцииОтбора, поле ЛевоеЗначение имеет тип ПолеКомпоновкиДанных, а мне нужно знать, например, что это реквизит справочника номенклатура с типом, например, "СправочникСсылка.НоменклатурныеГруппы" в этом отладчик не помогает никак.
#9 by papakarlo
и вопрос в том, что нужно разыменовать ПолеКомпоновкиДанных, у которого есть только конструктор и более ничего.
#10 by Diman000
ЛевоеЗначение это всегда поле компоновки данных. Чему равно ПравоеЗначение?
#11 by Diman000
А, извиняюсь, невнимательно прочитал. Понял теперь что тебе надо...
#12 by Работающий имитатор
Представь себе, что это вычисляемое поле, основанное на полях набора данных - обьекта и спи спокойно.Это Поле. Компоновки. Данных. Не более. Не стоит строить каких-то иллюзий о том, что справочник.
#13 by Diman000
Ну похоже, что задача решаема, но придется повозиться. Строковое представление ПолеКомпоновкиДанных из ЛевоеЗначение разложить на массив подстрок между точками. А дальше погнали, все что в первой подстроке это основные (базовые) поле СКД. Через какие-нибудь ДоступныеПоляОтбораКомпновкиДанных или просто через коллекцию Выбор по реквизиту Поле можно найти это базовое поле и узнать его тип. А дальше в метаданные и сканирование реквизитов...
#14 by papakarlo
в конце концов именно так и сделал
#15 by papakarlo
В общем все сделал уже, кривоватенько, но в целом работает. Всем участникам темы - спасибо за участие
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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