gifts2017

[RWidjets] Динамические панели, меню программы v.1.4.0

Опубликовал Илья Кузнецов (Robert) в раздел Программирование - Работа с интерфейсом

Компонента позволяет добавлять новые пункты к основному меню программы. Вы можете добавлять в меню команды, разделители или выпадающее меню, создавая, таким образом, иерархическое меню. При выборе пункта меню выполняется указанный вами скрипт на внутреннем языке 1С. Вы можете делать пункты неактивными, ставить пометку, удалять и добавлять новые пункты меню во время работы программы без изменения интерфейса пользователя в конфигураторе.
Также вы можете перехватывать, отменять или переопределять команды стандартного меню, панелей инструментов, горячих клавиш.

v.1.4.0
+ Новые объекты для динамического создания панелей инструментов (тулбаров)

Скачать файлы

Наименование Файл Версия Размер
RWidjets v.1.4.0 492
.1177363119 82,75Kb
14.01.15
492
.1177363119 82,75Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Serg11 18.01.07 17:19
Проверил сейчас на тестовой базе. Действительно, ошибок, отмеченных мной раньше, не возникает. Так что включу в рабочую и буду проверять на ней. Большое спасибо.
2. Валерий (VV) 18.01.07 17:57
В FormEx не умеет делать то же самое? Я еще не смотрел, правда, чем отличается?
3. Сергей Богайчук (bsa1968) 11.01.07 17:50
У меня была ошибка, подобная Serg11 - вылет 1С при обновлении меню (у меня также всем проставлена галочка "Отключить меню Операции", правда работаю на DBF-версии, релиз. 25). В новой версии этого не наблюдается, спасибо автору!
4. Андрей (andrewalexk) 11.01.07 18:21
:)
согласен с большинством - это прорыв в менюпостроении , ждем обновлений
5. robert (Robert) 11.01.07 14:20
v.1.3.3
Исправил ошибки. Персональная просьба к Serg11 проверить у себя.
6. Доржи Цыденов (support) 31.10.06 08:10
Судя по описанию круто! Давно такого ждали! А vtools в этой части очень глючил.
7. Антон Рощин (wolfsoft) 31.10.06 12:42
В тестовой обработке надо заменить
глМеню.Обновить();
мнМеню.Обновить();
Интересная штука, вот только надо подумать, куда ее можно применить?...
8. Антон Рощин (wolfsoft) 31.10.06 12:44
В тестовой обработке надо заменить
глМеню.Обновить();
НА
мнМеню.Обновить();
:)
9. robert (Robert) 31.10.06 13:39
Заменил.
Применить можно для организации переключения интерфейсов для пользователя.
Или, как в моем случае, для совмещения интерфейсов. В стандартной конфигурации предусмотрена связь пользователь-интерфейс один к одному. Я же делаю связь роль-интерфейс. Каждый пользователь в один момент может выполнять несколько ролей. Интерфейсы нескольких ролей совмещаются. Получается связь один ко многим.
10. Kapitan911 Юрий (Kapitan911) 31.10.06 19:05
При повторном открытии:
мнВсе=мнМеню.ДобавитьМеню("Все", "&ВСЕ");
{C:\МЕНЮ ТЕСТ.ERT(5)}: Элемент с идентификатором Все уже существует на этом уровне меню.
11. robert (Robert) 31.10.06 19:34
Если вы хотите добавить в меню второй пункт ВСЕ, то используйте другой идентификатор.
мнВсе=мнМеню.ДобавитьМеню("Все2", "&ВСЕ");
Если вы хотите, чтобы тестовый пример корректно работал при повтоном запуске, а в меню оставался бы один пункт ВСЕ, то добавте строку
мнМеню.УдалитьВсе();
12. Алгоритм 01.11.06 00:34
Супер, видел как один чел написал "такооое" чтобы реализовать вот это для управления пунктами меню для пользователей, а сдесь все просто, автору респект огромный.
13. robert (Robert) 01.11.06 00:53
В качестве респекта нажмите ссылочку Спасибо автору! (+1 рейтинг) выше.
14. Евгений Мартыненков (JohnyDeath) 09.11.06 14:12
15. VasilyKushnir (vasilykushnir) 10.11.06 13:31
16. Антон Рощин (wolfsoft) 11.11.06 18:10
+ 1 :)

2 robert: Убедил, полезная вешь! Особенно понравилась возможность из статьи http://infostart.ru/articles/?id=132&ref=987 (Управление списком пользователей из режима 1С:Предприятие).

Вопрос.

В статье приведен следующий код:
Код
мнМеню=СоздатьОбъект("Меню");
мнСервис=мнМеню.ПолучитьСистемное("Сервис");
мнСервис.ДобавитьРазделитель("Разд1");
мнСервис.ДобавитьКоманду("Плзв", "Пользователи", "#32854");
мнМеню.Обновить();
Показать полностью

Откуда извлечена информация о том, что именно код "#32854" соответствует данной команде? ;) А то может там еще что полезное есть :)
17. robert (Robert) 11.11.06 20:22
Все просто. Вставь в глобальный модуль такой код.
Код
Процедура ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
   Сообщить("Идентификатор команды: "+пКоманда);
КонецПроцедуры
Показать полностью

Запускай 1С. При выборе пункта меню, нажатии на кнопку панели инструментов, нажатии горячей клавиши получишь код команды. Этот код потом можно использовать как написано в статье или так:
Код
мнМеню=СоздатьОбъект("Меню");
мнМеню.ПослатьКоманду("32854");
Показать полностью

А можно в цикле отправлять все команды подряд и смотреть что будет.
18. Maniac (Eugeneer) 12.11.06 16:47
Хорошая штуковина. А как бы еще перехватить панель Окон. И возможность получать список открытых окон по Alt-Tab как в винде
19. Maniac (Eugeneer) 12.11.06 16:48
У меня даавно задука сидит чтобы при движении мыши по панели окон окна сами открывались ну или что нить подобное.
20. Антон Рощин (wolfsoft) 12.11.06 21:47
2 robert: Это в режиме "Предприятие" сработает, а вот откуда ты узнал код для команды из режима "Конфигуратор"? ;)
21. robert (Robert) 12.11.06 22:37
Maniac
Посмотри FormEx. Там есть процедуры перехвата движений мышью и нажатия клавиш. И работа с открытыми окнами кажется тоже.
Фишка моей разработки не в перехвате нажатия клавиши как такового, а перехвата команды, которая передается Предприятию при нажатии клавиш. Например, при нажатии Ctrl+N, выборе в меню Файл - Новый, нажатии на панели кнопочки с листочком передается одна и таже команда. Ее можно перехватить и предпринять свои действия и отменить.
wolfsoft
Программа то одна, только работает она в разных режимах. И одна и таже команда в разных режимах имеет один код. Например, Файл-Новый имеет один CommandID в любом режиме. И даже в любой программе, написанной на MFC. А то, что команда открытия окна Пользователи срабатывает в режиме Предприятие, я наткнулся случайно. ;)
22. Антон Рощин (wolfsoft) 13.11.06 20:17
2 robert:
> А то, что команда открытия окна Пользователи срабатывает в режиме Предприятие, я наткнулся случайно. ;)

Понятно. (мечтательно) Вот бы "наткнуться случайно" еще на какие-нибудь команды из Конфигуратора... :)
23. Sasha_H (logarifm) 14.11.06 09:07
Чего-то я не догнал ,а хде же открытие списка создания пользователей!!! Где оно!!!
24. Sasha_H (logarifm) 14.11.06 09:19
Сорри разобрался спс) Суперная фича! Я просто не спал блин!
25. Владимир (Strange Device) 17.11.06 10:35
Класс (+1)!!! А не собираешься ли реализовать возможность построения панелей инструменов?
26. robert (Robert) 17.11.06 12:21
Собираюсь в следующей версии.
27. Maniac (Eugeneer) 17.11.06 22:57
Помогите с интерфейсами может не то делаю или не так понял но мечему то интерфейсы не грузятсяв меню. правильно ли я понял что это функция как в восьмерке ? выбрал строку с названием и интерфейс поменялся ?
28. robert (Robert) 18.11.06 14:49
Maniac
Не совсем так. RWidjets не предоставляет готовое решение для такой задачи. RWidjets это средство, инструмент решения подобной задачи.
На данный момент, возможно сделать загрузку интерфейсов как в восьмерке, но только в части меню. Панели инструментов остаются как есть. Поэтому я не считаю пока такую задачу решаемой на 100%. Сделаю загрузку панелей, тогда напишу как и что делать для этого.
29. Анатолий (pr_kristar) 23.11.06 10:15
30. Юрий (YouRock) 23.11.06 12:29
А свои панели на форму, напр. для стандартизации управления списками, таблицами, открытия меню подчиненных и связанных справочников. Типа 8-ки. Ответный удар по 8-ке.
+1
31. robert (Robert) 23.11.06 14:22
YouRock
В планах
1. панели главного окна, замена стандартным
2. панели на форме, замена стандартным
3. панели в любое место формы для контекстной привязки к элементам формы
Сначала п.1, потом остальное.
32. AlexT (AlexT) 11.12.06 10:20
У меня вылетает при запуске 1С в терминале при количестве пользователей больше 1 с ошибкой "Память не может быть Read". Причем может и запуститься , но у 3-4 пользователей максимум. При одном пользователе работает нормально. У кого-нибудь подобное наблюдалось?
33. albiel (albiel) 14.12.06 22:53
Есть конфликтики с 1С++ (v. 2.0.2.2) и vtools (v. 1.0.0.1) . Обязательно нужно загружать компонету после 1С++, но до vtools. Так, вроде, работает, но длительно ещё не тестировал. Вещь нужная, если стабильно фунциклировать будет.
34. Александр (Chieftain) 20.12.06 11:07
У меня пункты меню в v.1.3.2 почему-то обрезаются по ширине. Мож че не догоняю?
35. Serg11 20.12.06 13:21
Классная вещь, только у меня работает с ошибкой вот такой:
Если в свойствах интерфейса пользователя поставить галочку в пункте "отключить меню "Операции", то 1С вываливается при запуске на самой последней команде - меню.обновить() (я вставил создание меню в процедуру "ПриНачалеРаботыСистемы"). Если галочку снять, все ок :-(. А у меня ряду пользователей это меню нужно не включать.
36. Serg11 20.12.06 13:49
Да, если это важно - установлена бухгалтерия 7.70.473 под SQL, релиз 025.
37. Serg11 20.12.06 15:20
Еще одна проблема. Если запустить 1С, и, пока она еще не загрузилась, переключиться на другое окно, к примеру браузер, загрузка 1С также вываливается с сообщением "программа 1cv7s вызвала ошибку RWIDJETS.DLL...", как и в предыдущей ошибке, описанной мной. От того, в формате DBF или SQL установка, это не зависит...
38. Александр (Chieftain) 21.12.06 14:11
Когда ждать новую версию?
39. robert (Robert) 21.12.06 16:32
Всем спасибо за сообщения об ошибках. Новая версия будет в январе.
У меня пункты меню в v.1.3.2 почему-то обрезаются по ширине.
Если используете 1С++, то сначала загружайте 1cpp.dll, потом RWidjets.dll
1С++ блокирует обработку некоторых событий. Скорей всего дело в этом.
40. Латыпов (RinGo) 05.02.07 14:02
>Запускай 1С. При выборе пункта меню, нажатии на кнопку панели инструментов, нажатии горячей клавиши получишь код команды.
>А можно в цикле отправлять все команды подряд и смотреть что будет.

А есть ли возможность узнать внутренний код команды (например: #53359) в момент создания пункта динамического меню командами мнМен.Добавить(пТип, пИднт, пЗаголовок, пСкрипт) или мнМеню.ДобавитьКоманду(пИднт, пЗаголовок, пСкрипт)? Или это принципиально невозможно? Мне бы хотелось не выбирая пункты динамического меню "ручками" программно установить соответствие
пИднт <--> пКоманда...
41. VasilyKushnir (vasilykushnir) 31.01.07 14:08
>А то, что команда открытия окна Пользователи срабатывает в режиме Предприятие, я наткнулся случайно. ;)

А вот это пожалуй, главная изюминка.!
42. VasilyKushnir (vasilykushnir) 31.01.07 14:22
>Я же делаю связь роль-интерфейс. Каждый пользователь в один момент может выполнять несколько ролей. Интерфейсы нескольких ролей совмещаются. Получается связь один ко многим.

А подробнее можно? Лучше, пожалуй, по мылу Vasily_Cherkassy@mail.ru (так наверное будет оперативнее). Меня это очень заитерисовало вот в каком плане: было два юзера (разные интерфейсы и разные наборы прав). Одного сократили, а второго подгрузили его обязанностями. Два раза входить юзеру в 1С напряг, а мне напряг выискивать блох, т.е. чем наборы и интерфейсы отличаются и объединять всю эту муру. Мне показалось, что твой подход сможет помочь мне.
lero@riz; +1 Ответить
43. Mulder_1 (Mulder_1) 15.03.07 21:19
Обработка супер !
вот тока у меня проблемка возникла ...
не перехватывает нажатие на INS в журнале документов ... т.е. не перехватывает "горячую клавишу " в журнале документов

причем пробовал в абсолютно пустой базе.. не работает .. нажание на кнопки в меню перехватываются , а вот INS нет ...
44. TED (ted) 20.03.07 10:50
Большое спасибо автору за труды!
+ поставил ;)

При использовании Процедуры ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
с ключом пЗаблокироватьКоманду=1;
в журнале документов иногда все равно проскакивает стандартное окно выбора документа.
Соглашусь с предыдущим собеседником неплохо было бы сделать перехват команды с клавиатуры,
можна было бы избавиться от одной лишней библиотеки.
45. artbear2 (artbear) 13.04.07 10:36
http://www.1cpp.ru/forum/YaBB.pl?num=1162249850/70#70
Есть один баг -
При загруженном Rwidjets падает 1с при использовании БыстрыйПоискВСписке
(есть на инфостарте или с помощью моего класса)

Я смотрел код RWidjets по представленным исходникам, в момент вызова svcsvc.dll, когда открыто окно этой компоненты, работает RWidjets и вылетает на методе MenuHook из-за того, что метод ::GetMainFrame() возвращает NULL и дальше идет обращение к этому NULL, что ведет к исключению.

Но, я все-таки нашел временный выход :)
Нужно в MenuHook сделать небольшую вставку
LRESULT CALLBACK MenuHook(int code, WPARAM wp, LPARAM lp)
{
// artur
if (!GetMainFrame())
return ::CallNextHookEx(hMenuHook, code, wp, lp);
// end

и быстрый поиск начинает работать, т.е. RWidjets перестает конфликтовать с svcsvc.dll

Роберт, сможешь поправить свою ВК ?
ЗЫ или выложи, плиз, исходники
ЗЫ Роберт, а можно получить последние исходники ВК?
хотел поотлаживать версию 1.33, но в ней некоторых методов, внесенных позже, нету
46. robert (Robert) 24.04.07 01:17
v.1.3.5
Просьба потестировать, кому интересно.
Новые возможности нашли отражение в тестовой обработке.
47. desty (lustin) 24.04.07 11:47
еще вопрос:
"Будут ли обрабатываться события глобального модуля в классе Перехватчик ( artbear )? "
48. artbear2 (artbear) 24.04.07 13:31
Да, события RWidjets без проблем перехватываются Перехватчиком.
Я специально проверял.
49. Андрей (andrewalexk) 04.05.07 11:28
:)
а у меня глюк
если при открытии отключаю 4 системных меню
то при закрытии ПОСЛЕ выхода из программы пишет ошибку:
...
Подпись ошибки
AppName: 1cv7s.exe AppVer: 7.70.0.25 ModName: unknown
ModVer: 0.0.0.0 Offset: 1000a800
...
з.ы.
даже если при закрытии обнулять объект "Меню"..
з.з.ы
1c v7.7, r.25, sql
50. Валентин Терёхин (Valet) 25.06.07 09:16
Вопрос не совсем связанный с компонентой, но навеян именно ею.
Как добавить полный журнал, если он не определен в конфигурации.
Точнее как программно открыть полный журнал документов.
Пардон если оффтоп.
PS. А компонента супер.
51. Any Body (AnyBody) 30.08.07 16:09
RWidjets v.1.3.5 на втором уровне вложенного меню, при показе меню обрезается по ширмне. То же эффект и в демонстрационной обработке из всей длины названия справочника показывется 4 буквы. Что делать?
52. Any Body (AnyBody) 31.08.07 12:55
ОШИБКА: RWidjets v.1.3.5 "дурит ширина" при отображении.
Способ воспроизведения: В гл.модуле в процедуре ПриНачалеРаботыСистемы" сначала пишем
ОткрытьФорму("Отчет",,КаталогИБ()+"\ExtForms\Test.ert");// любая внешняя обработка
затем
ЗагрузитьВнешнююКомпоненту("RWidjets.dll");
глЯЯМеню=СоздатьОбъект("Меню");
и тд.
Все меню начинем "дурить".
Если сначала "строим меню", а потом ОткрытьФорму ..., то все работает.
53. Александр (Chieftain) 07.09.07 10:31
ОШИБКА: RWidjets v.1.3.5 "дурит ширина" при отображении.
Может это то же самое, что и у меня было?
У меня пункты меню в v.1.3.2 почему-то обрезаются по ширине.
Если используете 1С++, то сначала загружайте 1cpp.dll, потом RWidjets.dll
1С++ блокирует обработку некоторых событий. Скорей всего дело в этом.
54. Владимир Пушин (vladnet) 06.10.07 11:17
Компонента отличная! Но нашел 2 глюка.

Команда ЗагрузитьИнтерфейс на моей конфе завешивает 1с ку, пробовал по разному, формировал меню заново с помощью мастера 1с. Код следующий:
лМеню=СоздатьОбъект("Меню");
лМеню.ЗагрузитьИнтерфейс("Администратор");

Так же не работает RMsgWindow, при выводе сообщения мелькает экран и компонента сразу закрывается.
55. AdepT (adept2007) 19.11.07 08:09
Компонента очень нужная.
Но у меня почему-то не работает метод УдалитьВсе()
1С 25 версия
Пробовал загружать только ее, без других компонент, тоже самое.
А добавление в меню команды Пользователи работает. Прикольно! :)
Автору респект
56. Аркадий Кучер (Abadonna) 14.01.08 18:13
57. lero@riz (lero@riz) 26.01.08 20:04
Я же делаю связь роль-интерфейс. Каждый пользователь в один момент может выполнять несколько ролей. Интерфейсы нескольких ролей совмещаются. Получается связь один ко многим.

А подробнее можно? Лучше, пожалуй, по мылу Vasily_Cherkassy@mail.ru (так наверное будет оперативнее). Меня это очень заитерисовало вот в каком плане: было два юзера (разные интерфейсы и разные наборы прав). Одного сократили, а второго подгрузили его обязанностями. Два раза входить юзеру в 1С напряг, а мне напряг выискивать блох, т.е. чем наборы и интерфейсы отличаются и объединять всю эту муру. Мне показалось, что твой подход сможет помочь мне.


хм зачем на мыло?!!! лучше всем рассказать
зы мне тоже интересно
58. Andr (andrey995) 27.01.08 22:21
Спасибо за компоненту !
По поводу панелей : есть ли в планах сделать возможным всатвлять новую панель не с новой строки а рядом с уже существующей, чтобы экономить место ? или, может быть, возможно прикрепить новые кнопки к существующему установленному в конфигураторе или системному тулбару ?
59. robert (Robert) 05.02.08 18:43
Есть такие планы. Вернусь из отпуска, продолжу работу над компонентой.
60. Aklexk (AklexK) 07.02.08 19:02
Классная библиотека
Свой набор бы картинок для toolbar подключать!
61. robert (Robert) 08.02.08 11:20
Ну так и подключай. УстановитьКартинку (или как то так метод называется, у меня нет под рукой) в который можно передать стандартный 1с-овский объект Картинка. А его можно хоть из файла формировать, хоть из библиотеки картинок.
62. Aklexk (AklexK) 08.02.08 14:06
ОК попробую. Спасибо
Еще есть оно, при наведении на кнопку тоолбара хотелось бы tooltiptext, т.е. всплывающую подсказку
63. Евгений Стоянов (quick) 11.03.08 16:23
Может избавлюсь наконец таки от кучи интерфейсов.
64. MIKUKRNET (mikukrnet) 07.04.08 14:46
А в обычное подменю можно вставлять свои элементы, или только в системные?
65. Дмитрий (dimm73) 09.04.08 10:04
Посмотрел описание и пример , но так и не вьехал как мне подменить вызов стандартной истории списка справочника на свою обработку (при нажатии на стандартную кнопку панели "показать историю"). Зачем мне это я писал
http://www.1cpp.ru/forum/YaBB.pl?num=1207652965/0#10

если можно пример применительно к моему случаю
66. Дмитрий (dimm73) 09.04.08 11:21
пробовал
ПриПолученииКоманды()

перехватывает все события главного меню, но меню формы списка справочника - не перехватывает, жаль.

Что интересно, если открыть меню на элементе справочника в в списке правой клавишей, (там теже пункты меню что и в шапке формы списка ) то перехват работает. Значит просто недоделано.
67. Константин (cabat) 04.09.08 14:26
Автору респект! Полностью перешел на использование динамических меню + панели инструментов!
Есть одна хотелка, которой не хватает для полного счастья - подсказки к кнопкам панели инструментов, есть шансы?
68. Вадим (pvv1979) 09.09.08 15:04
Хорошая компонента. Уже практически полностью переделал систему формирования интерфейсов. Только вот в конце натолкнулся на следующий затык. Дело в том, что по задумке пользователь может переключаться между интерфейсами, которые ему доступны. Соответственно с каждым интерфейсом идет свой набо тулбаров. Но если с меню все ОК, т.е. очищаем и формируем новое меню, то с панелями я так и не понял как же их удалить или хотя бы очистить. В итоге при перещелкивании интерфейса добавляется новая панель, которая привязана уже к новому интерфейсу и остается старая. Не нашел ни одной команды, чтобы можно было программно закрыть тулбар.Можно это как-то обойти?
69. Вадим (pvv1979) 09.09.08 15:41
Вопрос снимается как глупый. Перечитывал еще раз помощь. Как говорится, много думал. До этого не обращал внимания что метод Показать() для тулбара опциональный. Так что,эта хотелка вполне решаема. Еще раз автору огромное спасибо.
70. aou1c (aou1c) 17.09.08 10:46
Не перехватывает нажатия пиктограмм не в главном окне, например в журнале
из конт. меню перехватывает, а пиктограммы вверху окна - нет
71. dnp (dnp) 29.09.08 10:28
Хочу добавить пунктов в Меню-Отчеты (он не динамический и не системный...), это возможно?
72. Константин Исиченко (IsiKosta) 09.12.08 14:52
Процедура ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
Открыта форма журнала документов.
Если кнопками управлять (например нажать Del), событие отлавливается.
Если мышкой нажать на кнопку панели инструментов окна для удаления, не отлавливается!
Спасибо, нужная вещь. Ждем новую версию :)
73. Александр Загора (buzzzard) 12.01.09 02:26
Глюк с шириной пункта меню так и присутствует.
Возможно ли от него как-то избавится?

Пока вывожу внизу пустое подменю с заголовком из тучи пробелов.
Но как-то это не комильфо.....
74. mrden (MrDen) 12.01.09 23:32
75. mrden (MrDen) 14.01.09 03:03
Опробовал замечательно, грузить можно и в обработках, но если идет обработка с загрузкой ВК запускается первой то как следствие первого запуска обработки, причем любой, переключение фокуса главного окна и кривое отображение меню по ширине и событий нет но результат зарузки соответственно 1 лечится только после выгрузки dll решено 2 мя способами 1 стартануть любую другую обработку и после запустить эту или 2 не паримся загружаем и создаем объекты после загрузки FormEx в процедуре ПослеОткрытия()
2 момент на тулбаре отчетливо видна черта над кнопками знакомый прикол MFC порядок расположения кнопок не по центру окно класса ToolbarWindow32 убирается сдвигом на вышесказанного окна 1 пиксел вверх, но при отцеплении от родителького окна тут же появляется
Прицепил отцепленный тулбар с измененными стилями окна на форму с включенным режимом сохранения настройки получается прикольно но тулбар onTop в комплекте с формексом можно добиться результата например вычитывания картинки области скрытие тулбара наложения при деактивации окна но мне кажется не всем такие методы понравятся ;-) хотя прикольно
Очень жаль что разработка не продолжается
1с 7.7.0.27
76. Александр Загора (buzzzard) 31.03.09 17:59
Видимо лечится, но не всегда. Я так и не победил.
77. simply1 Very Simply (simply1) 31.10.09 15:52
Устанавливаю картинку пункту меню из набора иконок. Вместо иконки - черный квадрат. Так должно быть? :?:
79. Karina Lavrova (Cy6er) 10.10.11 15:31
Идея весьма хороша. Жаль, что без исходников.
80. Varelchik (varelchik) 27.12.11 10:51
Взываю к автору компоненты!
Роберт а нельзя ли вернуть назад в ПриПолученииКоманды() перехват нажатия кнопок на Панели Инструментов Форм Списков Справочников Журнало и Документов.
photocritic; zsi_uk; +2 Ответить
81. Сергей Захаров (zsi_uk) 14.01.12 16:44
Присоединяюсь к мольбе, верните перехват нажатия кнопок на Панели Инструментов Форм Списков Справочников Журналов и Документов. Без этого мало смысла в компоненте.
82. Ivan Migov (navi) 23.02.12 18:26
А можно ли убрать полноостью все менюшки? нужно для терминала сбора данных, у него слишком маленькое окно (240*320) поэтому любая понедь крадет место
83. sournk (sournk) 11.12.12 11:01
Можно ли создать свою панель инструментов не в главном окне, а окне формы справочника?
84. Епрст (Ёпрст) 11.12.12 11:05
(83) можно, но только в старых версиях вк.
85. sournk (sournk) 11.12.12 14:03
(84) Где можно скачать такую версию и описание не подскажешь?
86. Михаил Фридман (mashinist) 22.11.13 18:31
в системное меню типа Файл можно добавить пункты
А вот в обычное (которое в конфигураторе) не получается
мнСправочник = мнМеню.Получить("Справочники");
{D:\МЕНЮ ТЕСТ.ERT(45)}: Нет элемента меню с идентификатором Справочники на этом уровне меню.

Или я что-то не так понимаю?
87. daniilmat (cargobird) 27.02.15 10:24
Добрый день! Подскажите пожалуйста, для 8.2 есть что-то подобное, очень надо заменить реакцию на кнопку "Временная блокировка"...
88. Александр Иванов (baydal) 04.07.16 16:37
Не уверен, что автор еще читает эти комментарии, но все же напишу. Метод УдалитьВсе() оставляет висящим пустой пункт меню. Какой из них конкретно останется, почему-то зависит от того, какие пункты системного меню были отключены. При последующем обновлении меню в текущей сессии (хоть через загрузку интерфейса, хоть через добавление) этот пункт остается. Если проделать операцию несколько раз, он будет размножаться соответственно. Нажатие на нем подвешивает 1С. Интересно, у кого-то работает этот метод корректно?