Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 09:15

Создание и изменение быстрого отбора в отчёте

Автор Golickoff, 12 мая 2015, 04:52

0 Пользователей и 1 гость просматривают эту тему.

Golickoff

Всем привет.
Есть отчёт из типовой конфигурации. На его форме есть кнопка "Отбор" при нажатии на которую на форме появляются 2 строки с быстрым отбором. Выглядит это вот так:

При нажатии на кнопку "Отбор" срабатывает вот такой код:
Если БыстрыйОтборРазвернут Тогда

Форма.ЭлементыФормы.ПанельБыстрыеОтборы.Свертка = РежимСверткиЭлементаУправления.Нет;

Иначе

Форма.ЭлементыФормы.ПанельБыстрыеОтборы.Свертка = РежимСверткиЭлементаУправления.Верх;

КонецЕсли;

То есть, поле с быстрым отбором просто разворачивается, либо сворачивается. А теперь вопрос: как мне отредактировать это поле с быстрыми отборами, если я не вижу ПанельБыстрыеОтборы при открытии формы отчёта в конфигураторе?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

vitasw

А что вы там хотите "науправлять"? список быстрых отборов задается при инициализации начальных настроек в модуле отчета.

MuI_I_Ika

В контрукторе СКД на закладке отбор для отборов указывается быстрый доступ. Именно эти отборы и включаются в эту панель автоматом.

vitasw

Цитата: MuI_I_Ika от 12 мая 2015, 13:15В контрукторе СКД на закладке отбор для отборов указывается быстрый доступ. Именно эти отборы и включаются в эту панель автоматом

Это отчет на построителе отчетов.

Golickoff

ЦитироватьА что вы там хотите "науправлять"? список быстрых отборов задается при инициализации начальных настроек в модуле отчета.
Я лишь хочу добавить ещё один отбор и хотел бы понять как мне это сделать.
ЦитироватьВ контрукторе СКД на закладке отбор для отборов указывается быстрый доступ. Именно эти отборы и включаются в эту панель автоматом.
Я первым делом полез в эту закладку и был очень удивлён отсутствием в ней отборов. При добавлении туда своего отбора с указанием быстрого доступа он не отобразился на форме, что вполне логично -- форма уже создана, т.е. генерируется не автоматически.
ЦитироватьЭто отчет на построителе отчетов.
Это отчёт на СКД.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Евгений@

Это отчет на основании универсального отчета (реквизит УниверсальныйОтчет). Из обработчика "ПриОткрытии" формы универсального отчета вызывается процедура ДобавитьПанельБыстрыеОтборы

vitasw

Цитата: Golickoff от 13 мая 2015, 03:36Это отчёт на СКД.

:) Ну, тогда печаль. Печаль что вы столько времени занимаетесь этим вопросом и до сих пор не разобрались что это отчет на построителе. 
У вас на скрине отчет из типовой, скорее всего, торговли 10. А там все на построителе. И если вы там нашли СКД - значит вы ОООООООООООООчень хорошо искали черную кошку в черной комнате.

MuI_I_Ika

Чтобы не спорить на чем отчет, предлагаю выложить скриншот СКД или констуктора запроса и закрыть этот вопрос.

Golickoff

ЦитироватьУ вас на скрине отчет из типовой, скорее всего, торговли 10
Цитироватьпредлагаю выложить скриншот СКД

Добавлено: 14 мая 2015, 06:46


Цитата: Евгений@ от 13 мая 2015, 08:38
Это отчет на основании универсального отчета (реквизит УниверсальныйОтчет). Из обработчика "ПриОткрытии" формы универсального отчета вызывается процедура ДобавитьПанельБыстрыеОтборы
Можно более подробно про этот реквизит? Где он должен быть? У отчёта его нет. Что касается процедуры ПриОткрытии, самое интересное в ней выглядит так
Если КраткийВидНастройки Тогда

Если НЕ Константы.ИспользоватьХарактеристикиНоменклатуры.Получить() Тогда
УбратьУстановленныеГруппировкиИОтборы(ЭтотОбъект, "ХарактеристикаНоменклатуры");
КонецЕсли;

Если НЕ Константы.УчетПартийПоФирмам.Получить() Тогда
УбратьУстановленныеГруппировкиИОтборы(ЭтотОбъект, "Фирма");
КонецЕсли;

КонецЕсли;

СтруктураДанных.Вставить("МассивБыстрыхОтборов", МассивБыстрыхОтборов);

отчДобавитьПанельБыстрыеОтборы(ЭтотОбъект, ЭтаФорма, СтруктураДанных);
ЭлементыФормы.ДействияФормы.Кнопки.БыстрыйОтбор.Пометка = Ложь;
отчУправлениеПанельюБыстрыеОтборы(ЭтотОбъект, ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.БыстрыйОтбор.Пометка);

Не подскажете что за МассивБыстрыхОтборов?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Евгений@

В УПП в отчетах, внешний вид которых похож на отчет ТС, для того чтобы добавить отборы и прочее нужно в модуле объекта отчета внести изменения в процедуру:

// Процедура установки начальных настроек отчета по метаданным регистра накопления
//
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
//...
//...
// Добавление предопределенных отборов отчета.
// Необходимо вызывать для каждого добавляемого отбора.
// УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
УниверсальныйОтчет.ДобавитьОтбор("Контрагент");
УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");
УниверсальныйОтчет.ДобавитьОтбор("Проект");
УниверсальныйОтчет.ДобавитьОтбор("Подразделение");
//...
//...
КонецПроцедуры // УстановитьНачальныеНастройки()

Похожие темы (5)

Рейтинг@Mail.ru

Поиск