Имя: Пароль:
1C
 
УФ, программно "кликнуть системную гиперссылку" над Командной Панелью
0 kittystark
 
22.04.22
15:00
Управляемые формы, КА 2.4.
Предположим есть ПРОГРАММНО открытая форма, например, некоего элемента справочника Партнеры.
В рантайме в самом верху формы, над командной панелью с кнопками, расположены обозванные мною "системные гиперссылки",
для перехода на связанные / подчиненные объекты.

Как теперь программно перейти, например, на вкладку "Контрагенты" ?
1 lubitelxml
 
22.04.22
15:01
(0) а там у тебя команды, или просто гиперссылка с процедурой в модуле?
2 vde69
 
22.04.22
15:02
ПерейтиПоНавмгационнойСсылке
3 kittystark
 
22.04.22
15:04
(2) замечательно
что в качестве параметра отдавать?
4 vde69
 
22.04.22
15:09
(3) навигационную ссылку... перейти по кнопке вручную, получи и запиши ее
5 kittystark
 
22.04.22
15:10
(1) хз, это не мое, "автоматически" генерится
во всяком случае не команды видные в редакторе формы элемента справочника
6 Мимохожий Однако
 
22.04.22
15:11
(0) "Предположим есть ПРОГРАММНО открытая форма". Программе форма не нужна.
7 Garykom
 
гуру
22.04.22
15:12
(0) А зачем?
8 kittystark
 
22.04.22
15:13
(4) мне нужно как-бы вкладку формы перещелкнуть с "Основное" на "Контрагенты"
а предложенный способ всегда дает ссылку на самого открытого партнера, даже если "вкладка" Контрагенты активна
9 kittystark
 
22.04.22
15:16
(7) для альтернативно "умных" пользователей
сложно оно им видите ли, путаются бедняжки, запомнить не могут, инструкцию читать не хотят - буков много

связка в форме "Партнер" - "Контрагенты" - взята в типовой для наглядности
10 kittystark
 
22.04.22
15:18
(6) однако ходИте мимо
11 lubitelxml
 
22.04.22
15:18
(5) "во всяком случае не команды видные в редакторе формы элемента справочника" - программно добавлены? Тогда смотри что за обработчик прикручен при программном добавлении и там же его вызывай. А вообще скрин бы скинул - может стало бы понятнее
12 Garykom
 
гуру
22.04.22
15:19
Командный интерфейс это кстати реально засада
Один из приколов что невозможно нормально отследить и обработать переключение по этим "вкладкам"
13 lubitelxml
 
22.04.22
15:20
(12) "Командный интерфейс это кстати реально засада" - согласен, тоже бесит ))
14 kittystark
 
22.04.22
15:21
(11) знать бы что за обработчик
15 kittystark
 
22.04.22
15:21
(12) это значит без вариантов ?
16 lubitelxml
 
22.04.22
15:24
(14) если команды добавляют - обычно в приСозданииНаСервере есть вызов - ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект); Если форму модифицируют - СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);

Вот по ним сходи и посмотри в переопределяемых модулях возможно доработки есть
17 kittystark
 
22.04.22
15:24
Есть какой-то-нибудь "Группа - Панель навигации формы.Перейти" ?
18 Мимохожий Однако
 
22.04.22
15:31
ЭлементыФормы.Панель1.ТекущаяСтраница = ЭлементыФормы.Панель1.Страницы.Страница2;
19 Мимохожий Однако
 
22.04.22
15:32
(10) Хамишь
20 vde69
 
22.04.22
15:34
зайди в браузере и посмотри, как сформирована гиперссылка
21 kittystark
 
22.04.22
15:40
(18) это не то, ковыряю Форма.Команды
(19) сорян, просто ник наоборот в ответ на (6)
22 Мимохожий Однако
 
22.04.22
15:42
Приведи свой код программного открытия формы. Возможно,тебе помогут или намекнут или пошлют в правильном направлении.
23 kittystark
 
22.04.22
15:51
(22)
ссылкаПартнер.ПолучитьФорму().Открыть();
24 Мимохожий Однако
 
22.04.22
15:59
У справочника Партнер есть реквизиты Клиент и Поставщик. Обратись к этим реквизитам.

Из СП:
П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();
25 kittystark
 
22.04.22
16:22
(24) не понял
в комплексной 2.4 эти реквизиты типа булево
и данный код при выполнении открывает форму нового элемента
даже если поиграться параметрами - все равно это будет уже 2-я форма

мне же нужно не 2-ю форму открыть, а на уже открытой "перейти" и "вывести список связанных" по владельцу,
как буд-то бы кликнул мышью в "гиперссылку" над основными кнопками формы
26 lubitelxml
 
22.04.22
16:29
(25) покажи уже скрин что у тебя там на форме, и как в конфигураторе форма выглядит, и состав командной панели
27 kittystark
 
22.04.22
17:26
в метаданных справочника Контрагенты есть команда "Контрагенты" - она и выполняется
28 kittystark
 
22.04.22
17:43
фрм = ссылкаПартнер.ПолучитьФорму();
фрм . Открыть();

//эмуляция выполнения команды
ПараметрКоманды = ссылкаПартнер;
ПараметрыВыполненияКоманды = новый Структура;
ПараметрыВыполненияКоманды.Вставить("Источник", фрм );
ПараметрыВыполненияКоманды.Вставить("Уникальность", Истина);
ПараметрыВыполненияКоманды.Вставить("Окно", фрм.Окно);

//▼ код выдранный из модуля команды справочник.Контрагенты.Команды.Контрагенты
//&НаКлиенте
//Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

    ПараметрыФормы = Новый Структура("ОтборКонтрагентов", ПараметрКоманды);

    ОткрытьФорму(
        "Справочник.Контрагенты.Форма.ФормаСпискаПараметрическая",
        ПараметрыФормы,
        ПараметрыВыполненияКоманды.Источник,
        ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);

//КонецПроцедуры
//▲
29 kittystark
 
22.04.22
17:44
(28) код отрабатывает как надо, за исключением того, что сама "гиперссылка" команды остается неподсвеченной
30 ДедМорроз
 
22.04.22
21:53
Так в командном интерыейсе формы в конфигураторе можно эти переходы увидеть - таи для них предлагается гадочки ставить,а раз можно увидеть,то можно и узнать,что это и как его использовать.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.