|
Команды управляемого интерфейса 8.2 | ☑ | ||
---|---|---|---|---|
0
UncleVader
24.05.12
✎
21:01
|
Всем Ку!
Сел разбираться (как всегда на ходу :) с тонкостями незнакомого мне механизма, а именно с вызовом команд управляемого интерфейса. ... и сразу наткнулся на потребность иметь параметризированную общую команду с параметром типа "УправляемаяФорма" или "ДанныеФормыСтруктура". Например хочу сделать свой диалог выбора некоего периода, и добавить функцию его вызова на панель списка документов. Привязывать такую команду к объекту(ссылке) документа неправильно, т.к. данной команды не должно быть видно в форме документа, а только в списке. Есть и еще почему нельзя... Отсюда у меня возникло жгучее желание привязать команду к любой форме, чтобы в ее (команды) параметр передавалась ссылка на вызвавшую форму со всеми вытекающими ,) Мне понятно что разрабы это не заложили, поэтому мне приходится добавлять локальную команду даже не объекта, а для формы, и делать в ней какие-то телодвижения. Или я недознакомился с возможностями чудо-интерфейса или другого пути нет. !? |
|||
1
DrShad
24.05.12
✎
21:49
|
недоознакомился видимо, да и как бы поздно начал знакомиться
|
|||
2
UncleVader
25.05.12
✎
10:54
|
(1) а по делу?
|
|||
3
UncleVader
25.05.12
✎
12:50
|
Что никто не подскажет другой путь? ((
|
|||
4
gosn1ck
25.05.12
✎
12:54
|
сделай общую команду, в чем проблема?
|
|||
5
UncleVader
25.05.12
✎
15:40
|
(4) Проблема в том что я не знаю как в нее передать контекст вызывающей формы чтобы потом установить в ней период списка и его обновить
|
|||
6
UncleVader
25.05.12
✎
15:41
|
(4) и еще, какую группу указать общей команде? Делать ее параметризированной нельзя!
|
|||
7
На стороне добра
25.05.12
✎
16:38
|
(0) Делаешь общую команду, привязываешь её к "Командная панель формы.Важное", в качестве типа параметра команды указываешь ссылку на документ. В форме документа, в командном интерфейсе снимаешь видимость этой команды. А в списке она остается. В модуле команды вызываешь свою форму.
|
|||
8
UncleVader
25.05.12
✎
16:46
|
(7) пробовал, так нельзя - если список документов будет пуст, то команда не выполнится на системном уровне, платформа ругнется что нельзя выполнять команду с пустым параметром, ну как-то так
|
|||
9
Юрий Лазаренко
25.05.12
✎
16:48
|
(8) Добавь локальную команду в форму списка, там можно будет отловить момент отсутствия документов в списке.
|
|||
10
На стороне добра
25.05.12
✎
16:49
|
Посмотри в УТ 11 "Дополнительные сведения". Это кажется аналог Свойств и категорий. В общем там в качестве параметра указываются ссылки.
в (8) правильно говорит |
|||
11
UncleVader
25.05.12
✎
16:51
|
(9) так и делаю, но мне не нравится - в каждой форме надо иметь код этой команды, а я так не хочу
(10) пойду посмотрю... |
|||
12
UncleVader
25.05.12
✎
22:35
|
... посмотрел.
Есть общая команда "ДополнительныеСведения", привязанная к ссылкам на некоторые объекты, в т.ч. документы и справочники, но в самих формах объектов и списков видимость этой команды выключена, т.е. не применяется. Таким образом вопрос остается нерешенным - как из пустого списка вызвать общую параметризированную команду? |
|||
13
Юрий Лазаренко
26.05.12
✎
11:25
|
(11) Зачем иметь код в каждой форме? Вызывай код в общем модуле. Тебе в любом случае придется извращаться, например делать кнопку вызова общей команды невидимой или недоступной, если список пуст. Проще уж добавить локальную команду на форму.
|
|||
14
UncleVader
26.05.12
✎
11:40
|
(13) Так и делаю, добавляю команду в каждую форму и назначаю ей вот такой код, а хотелось иметь один код
&НаКлиенте Процедура ВыбратьПериод(Команда) Если ОбщиеФункцииНаКлиенте.ВыбратьПериод(Элементы.Список.Период.ДатаНачала,Элементы.Список.Период.ДатаОкончания) Тогда Элементы.Список.Обновить(); КонецЕсли; КонецПроцедуры |
|||
15
Юрий Лазаренко
26.05.12
✎
18:08
|
(14) Я наверно что-то недопонял. У тебя и так будет один код во всех процедурах всех форм, если у всех списков с документами (элементов формы) будет одно имя - "Список".
Если ты имеешь в виду, что не хотелось бы вносить изменения в код каждой формы, то ИМХО такой вариант не сработает, будет выдаваться ошибка, если список пуст. |
|||
16
Юрий Лазаренко
26.05.12
✎
18:14
|
+(15) Хотя почему бы не попробовать. Если для команды не задать свойство "Тип параметра команды", то ее можно будет поместить на любую форму со списком, при этом она не будет привязана к этому списку и даже если он будет пустой, то команда все равно сработает. Затем в коде команды можно отловить список:
ПараметрыВыполненияКоманды.Источник.Элементы.Список Из него получить период: ПараметрыВыполненияКоманды.Источник.Элементы.Список.Период Как-то так. |
|||
17
UncleVader
26.05.12
✎
18:31
|
(15) именно из-за ошибки пустого списка я отказался от этой идеи
(16) Вот оно ,)) спасибо, главное правильно выбрать группу, поместить в какую-то подсистему и оттуда перетащить на форму из глобальных независимых команд! |
|||
18
Юрий Лазаренко
26.05.12
✎
18:41
|
(17) Нема за що ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |