Программная установка отбора в СКД #582443


#0 by red14_88
Сабж. В управляемых формых. Порывшись на форуме нашёл такой способ: в команде открытия формы пишем: В модуле формы отчета пишем: &НаСервере В модуле объекта отчета соответственно: В результате отчет формируется с моим отбором. Верно, собака, фомируется. Но в форме отчета отбор не устанавливается (вынесен как таблица с источником данных Отчет.КомпоновщикНастроек.Настройки.Отбор. И поле результата неактивно, висит сплешка "нажмите сформировать чтобы тря-ля-ля". А надо мне не формировать отчет, мне надо отбор установить и фрому открыть. Помогите, люди добрые, спасибо.
#1 by QLgKR
А не проще ли использовать параметры формы отчета Отбор и СформироватьПриОткрытии и не лепить все это?
#2 by red14_88
у формы нет параметра Отбор. Отбор это настройки компоновщика настроек. И как в СформироватьПриОткрытии передать значения отбора? Возможно, способ который я применил не самый лучший, но другого не знаю( Изначально задача такая - форма списка документов, нажимем кнопку, открывается отчет с отбором по контрагенту, который в документе из активной строки. Как то так. Причем не обязательно сразу формировать отчет, надо именно установить отбор. Ибо форма под шибко умных юзверей. Выбрать из дерева контрагента задача непосильная.
#3 by QLgKR
Допустим есть отчет, у которого есть поле доступное для отбора Контрагент.
#4 by red14_88
Попробовал сделать так. Только у меня поле для отбора это "Заказ.Грузополучатель", соответственно ругается на говорит "Параметр №1 недопустимое значение". Надо обязательно отдельным полем выносить в запросе?
#5 by QLgKR
это конструктор структуры ругается. Да надо делать отдельным полем или идти другим путем.
#6 by red14_88
Добавил поле. Отчет формируется, причем с верным отбором. Но, в форме отчета отбор по-прежнему не заполнен. Как и в случае, когда отбор накладывался моим способом. Мб надо как-то именно к элементу формы обратиться? Хотя врядли, он связан с отчетом, а отчет сформирован по нужному отбору...
#7 by teapot123
#8 by red14_88
не совсем понял, в каком месте этот код должен быть выполнен? И под "ИдентификаторПользовательскойНастройки" подразумевается идентификатор поля отбора, который в СКД назначен? В Вашем коде написано Добавить "(Тип("ЭлементОтбораКомпоновкиДанных")", а у меня поле отбора уже настроено в СКД, надо только значение установить.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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