Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД Как установить текущий элемент структуры настроек СКД

СКД Как установить текущий элемент структуры настроек СКД
Я
   Droning1C
 
29.12.21 - 15:40
1)На форме отчета выведено табличное поле с типом данных КомпоновщикНастроек.Настройки и названо "СтруктураОтчета"
2)Добавлена командная панель с источником действий СтруктураОтчета и 2 кнопки на ней со стандартными действиями действиями "Текущий отчет" и "Текущий элемент структуры настроек"
3)Далее на форму выведено Табличное поле с типом данных ЭлементыФормы.СтруктураОтчета.ТекущиеДанные.Отбор и названо "Отбор"

Результат на скрине    https://ibb.co/S7H89ZQ



Я хочу при открытии отчета устанавливать текущий элемент структуры настроек СКД для того, чтобы в поле "Отбор" сразу видеть отборы нужной мне группировки. Это возможно сделать? Пока не смог найти как...
   Droning1C
 
1 - 29.12.21 - 16:19
Т.е. сначала надо программно установить текущий элемент в структуре отчета, а потом программно имитировать нажатие на кнопку со стандартным дайствием "Текущий элемент структуры настроек", чтобы в поле отборов отобразились отборы по группировкам. Собственно, как?
   Droning1C
 
2 - 29.12.21 - 16:24
нашел как включить\отключить группировку программно через структуру настроек, но вот как установить текущие данные(грубо говоря имитировать выделение строки группировки на форме) - хз
   Droning1C
 
3 - 29.12.21 - 16:44
Такая тишина... Мне одному так извращаться приходится? Или все так очевидно, что ответ на вопрос лежит на поверхности?
   vicof
 
4 - 29.12.21 - 16:52
У всех уже новый год наступает вовсю) 
Делай свою форму варианта отчета СКД или бери из БСП.
   hhhh
 
5 - 30.12.21 - 02:01
(3) там же на форму можно кинуть табличное поле, КомпоновщикНастроек.Отбор или как-то по-другому называется. Просто двумя кликами мышки.
   youalex
 
6 - 30.12.21 - 03:34
Можно пользовательскую настройку создать для этого элемента отбора, тогда ее можно будет на форму вывести.
   Droning1C
 
7 - 30.12.21 - 08:48
(5) я же скрин приложил. я уже все вынес. Просто нужно чтобы в этом поле устанавливалась текущая строка структуры (выделялась) программно, без нажатия пользователя. А после этого чтобы автоматом устанавливался текущий элемент структуры (отчет/группировка)
   МимохожийОднако
 
8 - 30.12.21 - 08:54
(0) Для чего это? В чём выигрыш программной установки на этот элемент?
   Droning1C
 
9 - 30.12.21 - 09:08
(8) пользователю не придется каждый раз делать это ручками при открытии отчета и при каждом его переформировании. Отборы предполагается применять только к одной и той же группировке
   Droning1C
 
10 - 17.01.22 - 12:11
(0) Вообщем сам доковырялся до решения. Решается так:

1)Полю "СтруктураОтчета" устанавливается признак "Активизировать по умолчанию".
2)На форму добавляется мелкая кнопка по цвету совпадающая с цветом фона формы, чтобы пользователю глаза не мазолила, при этом видимость = истина и доступность = истина. Назначаем ей комбинацию клавиш и пихаем ее в самый дальний угол от глаз подальше.
3)Этой кнопке программно присваиваем действие - 

ЭлементыФормы.КнопкаТекЭлемНастроек.УстановитьДействие("Нажатие", Элементыформы.КоманднаяПанельДереваСтруктуры.Кнопки.КоманднаяПанельДереваСтруктурыТекущийЭлементСтруктурыНастроек.Действие);


4)В конце процедуры формирования отчета добавляем код "программного нажатия на эту кнопку" - 


Попытка
    ОбъектShell = Новый COMОбъект("Wscript.Shell");
    //Удерживая Cntr нажать 9

    ОбъектShell.SendKeys("^9");
Исключение
    Сообщить(ОписаниеОшибки());
Конецпопытки;
   Droning1C
 
11 - 17.01.22 - 18:05
(10) Совсем забыл - В процедуру формирования отчета, после вывода результата, еще нужно добавить строку кода, устанавливающую текущий элемент структуры отчета на форме.

Элементыформы.СтруктураОтчета.ТекущаяСтрока = КомпоновщикНастроек.Настройки.Структура[0];

Таким образом, выводится результат, после этого устанавливается текущая строка поля СтруктураОтчета, это поле активизируется системой как текущее, далее, когда поле активизировано, отрабатывает нажатие на сандартную команду "ТекущийЭлементСтруктурыНастроек". Вуаля, нужные отборы по нужной группировке визуализируются на форме в поле ЭлементыФормы.СтруктураОтчета.ТекущиеДанные.Отбор.

Врядли кто-то будет так же извращаться, но мало ли)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.