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

Публикация № 14461

Разработка - Работа с интерфейсом

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

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

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

Наименование Файл Версия Размер
RWidjets v.1.4.0

.1177363119 82,75Kb
14.01.15
506
.1177363119 82,75Kb 506 Скачать

Специальные предложения

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

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

Вопрос.

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

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

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

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

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

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

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

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

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

При использовании Процедуры ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
с ключом пЗаблокироватьКоманду=1;
в журнале документов иногда все равно проскакивает стандартное окно выбора документа.
Соглашусь с предыдущим собеседником неплохо было бы сделать перехват команды с клавиатуры,
можна было бы избавиться от одной лишней библиотеки.
45. 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, но в ней некоторых методов, внесенных позже, нету
86. mashinist 5 22.11.13 18:31 Сейчас в теме
в системное меню типа Файл можно добавить пункты
А вот в обычное (которое в конфигураторе) не получается
мнСправочник = мнМеню.Получить("Справочники");
{D:\МЕНЮ ТЕСТ.ERT(45)}: Нет элемента меню с идентификатором Справочники на этом уровне меню.

Или я что-то не так понимаю?
46. Robert 24.04.07 01:17 Сейчас в теме
v.1.3.5
Просьба потестировать, кому интересно.
Новые возможности нашли отражение в тестовой обработке.
47. lustin 24.04.07 11:47 Сейчас в теме
еще вопрос:
"Будут ли обрабатываться события глобального модуля в классе Перехватчик ( artbear )? "
48. 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 56 25.06.07 09:16 Сейчас в теме
Вопрос не совсем связанный с компонентой, но навеян именно ею.
Как добавить полный журнал, если он не определен в конфигурации.
Точнее как программно открыть полный журнал документов.
Пардон если оффтоп.
PS. А компонента супер.
51. AnyBody 30.08.07 16:09 Сейчас в теме
RWidjets v.1.3.5 на втором уровне вложенного меню, при показе меню обрезается по ширмне. То же эффект и в демонстрационной обработке из всей длины названия справочника показывется 4 буквы. Что делать?
52. AnyBody 31.08.07 12:55 Сейчас в теме
ОШИБКА: RWidjets v.1.3.5 "дурит ширина" при отображении.
Способ воспроизведения: В гл.модуле в процедуре ПриНачалеРаботыСистемы" сначала пишем
ОткрытьФорму("Отчет",,КаталогИБ()+"\ExtForms\Test.ert");// любая внешняя обработка
затем
ЗагрузитьВнешнююКомпоненту("RWidjets.dll");
глЯЯМеню=СоздатьОбъект("Меню");
и тд.
Все меню начинем "дурить".
Если сначала "строим меню", а потом ОткрытьФорму ..., то все работает.
53. Chieftain 92 07.09.07 10:31 Сейчас в теме
ОШИБКА: RWidjets v.1.3.5 "дурит ширина" при отображении.
Может это то же самое, что и у меня было?
У меня пункты меню в v.1.3.2 почему-то обрезаются по ширине.
Если используете 1С++, то сначала загружайте 1cpp.dll, потом RWidjets.dll
1С++ блокирует обработку некоторых событий. Скорей всего дело в этом.
54. vladnet 339 06.10.07 11:17 Сейчас в теме
Компонента отличная! Но нашел 2 глюка.

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

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

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


хм зачем на мыло?!!! лучше всем рассказать
зы мне тоже интересно
58. andrey995 27.01.08 22:21 Сейчас в теме
Спасибо за компоненту !
По поводу панелей : есть ли в планах сделать возможным всатвлять новую панель не с новой строки а рядом с уже существующей, чтобы экономить место ? или, может быть, возможно прикрепить новые кнопки к существующему установленному в конфигураторе или системному тулбару ?
59. Robert 05.02.08 18:43 Сейчас в теме
Есть такие планы. Вернусь из отпуска, продолжу работу над компонентой.
60. AklexK 07.02.08 19:02 Сейчас в теме
Классная библиотека
Свой набор бы картинок для toolbar подключать!
61. Robert 08.02.08 11:20 Сейчас в теме
Ну так и подключай. УстановитьКартинку (или как то так метод называется, у меня нет под рукой) в который можно передать стандартный 1с-овский объект Картинка. А его можно хоть из файла формировать, хоть из библиотеки картинок.
62. AklexK 08.02.08 14:06 Сейчас в теме
ОК попробую. Спасибо
Еще есть оно, при наведении на кнопку тоолбара хотелось бы tooltiptext, т.е. всплывающую подсказку
63. quick 575 11.03.08 16:23 Сейчас в теме
Может избавлюсь наконец таки от кучи интерфейсов.
64. 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 17.09.08 10:46 Сейчас в теме
Не перехватывает нажатия пиктограмм не в главном окне, например в журнале
из конт. меню перехватывает, а пиктограммы вверху окна - нет
71. dnp 29.09.08 10:28 Сейчас в теме
Хочу добавить пунктов в Меню-Отчеты (он не динамический и не системный...), это возможно?
72. IsiKosta 726 09.12.08 14:52 Сейчас в теме
Процедура ПриПолученииКоманды(пКоманда, пЗаблокироватьКоманду)
Открыта форма журнала документов.
Если кнопками управлять (например нажать Del), событие отлавливается.
Если мышкой нажать на кнопку панели инструментов окна для удаления, не отлавливается!
Спасибо, нужная вещь. Ждем новую версию :)
73. buzzzard 51 12.01.09 02:26 Сейчас в теме
Глюк с шириной пункта меню так и присутствует.
Возможно ли от него как-то избавится?

Пока вывожу внизу пустое подменю с заголовком из тучи пробелов.
Но как-то это не комильфо.....
74. MrDen 12.01.09 23:32 Сейчас в теме
75. MrDen 14.01.09 03:03 Сейчас в теме
Опробовал замечательно, грузить можно и в обработках, но если идет обработка с загрузкой ВК запускается первой то как следствие первого запуска обработки, причем любой, переключение фокуса главного окна и кривое отображение меню по ширине и событий нет но результат зарузки соответственно 1 лечится только после выгрузки dll решено 2 мя способами 1 стартануть любую другую обработку и после запустить эту или 2 не паримся загружаем и создаем объекты после загрузки FormEx в процедуре ПослеОткрытия()
2 момент на тулбаре отчетливо видна черта над кнопками знакомый прикол MFC порядок расположения кнопок не по центру окно класса ToolbarWindow32 убирается сдвигом на вышесказанного окна 1 пиксел вверх, но при отцеплении от родителького окна тут же появляется
Прицепил отцепленный тулбар с измененными стилями окна на форму с включенным режимом сохранения настройки получается прикольно но тулбар onTop в комплекте с формексом можно добиться результата например вычитывания картинки области скрытие тулбара наложения при деактивации окна но мне кажется не всем такие методы понравятся ;-) хотя прикольно
Очень жаль что разработка не продолжается
1с 7.7.0.27
76. buzzzard 51 31.03.09 17:59 Сейчас в теме
Видимо лечится, но не всегда. Я так и не победил.
77. simply1 5 31.10.09 15:52 Сейчас в теме
Устанавливаю картинку пункту меню из набора иконок. Вместо иконки - черный квадрат. Так должно быть? :?:
78. zorg65 16.09.11 00:30 Сейчас в теме
79. Cy6er 10.10.11 15:31 Сейчас в теме
Идея весьма хороша. Жаль, что без исходников.
80. varelchik 27.12.11 10:51 Сейчас в теме
Взываю к автору компоненты!
Роберт а нельзя ли вернуть назад в ПриПолученииКоманды() перехват нажатия кнопок на Панели Инструментов Форм Списков Справочников Журнало и Документов.
photocritic; zsi_uk; +2 Ответить
81. zsi_uk 14.01.12 16:44 Сейчас в теме
Присоединяюсь к мольбе, верните перехват нажатия кнопок на Панели Инструментов Форм Списков Справочников Журналов и Документов. Без этого мало смысла в компоненте.
82. navi 23.02.12 18:26 Сейчас в теме
А можно ли убрать полноостью все менюшки? нужно для терминала сбора данных, у него слишком маленькое окно (240*320) поэтому любая понедь крадет место
83. sournk 26 11.12.12 11:01 Сейчас в теме
Можно ли создать свою панель инструментов не в главном окне, а окне формы справочника?
84. Ёпрст 1037 11.12.12 11:05 Сейчас в теме
(83) можно, но только в старых версиях вк.
85. sournk 26 11.12.12 14:03 Сейчас в теме
(84) Где можно скачать такую версию и описание не подскажешь?
87. cargobird 27.02.15 10:24 Сейчас в теме
Добрый день! Подскажите пожалуйста, для 8.2 есть что-то подобное, очень надо заменить реакцию на кнопку "Временная блокировка"...
88. baydal 04.07.16 16:37 Сейчас в теме
Не уверен, что автор еще читает эти комментарии, но все же напишу. Метод УдалитьВсе() оставляет висящим пустой пункт меню. Какой из них конкретно останется, почему-то зависит от того, какие пункты системного меню были отключены. При последующем обновлении меню в текущей сессии (хоть через загрузку интерфейса, хоть через добавление) этот пункт остается. Если проделать операцию несколько раз, он будет размножаться соответственно. Нажатие на нем подвешивает 1С. Интересно, у кого-то работает этот метод корректно?
89. VRP 270 10.07.18 14:37 Сейчас в теме
Автору респект. Жаль что проект "задвинули".
Нашел пренепреятнейшую вещь.
ЭлементМеню->УстановитьКартинку Параметр пКартинка - Тип: Число или Стандартный для 1С объект Картинка;
Так вот, Стандартный для 1С объект Картинка при чтении файлов коверкает картинки (режет палитру и прочая фигня). И по факту загрузить красивую 32-битную иконку или картинку не получиться. А в самой 1С все картинку 16 бит.
Полазил по исходникам RMenuItem.cpp на github и увидел проверку на AGREGATE_TYPE_1C
А можно как-то добавить проверку хотябы на IPicture? или WIA ImageFile?
тогда можно было бы не стандартной Картинкой загружать? а то инструмент классный есть но толку - 0.
И сорри, но самому подправить и скомпилить не судьба. delphi мое все.
90. DasIsFantastich 16 24.12.18 00:20 Сейчас в теме
Добавление кнопок к стандартным панелям инструментов не реализовано?
Оставьте свое сообщение

См. также

Класс 1С++ для программного добавления изображений/текста/ШК в таблицу Промо

Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Необходимо добавить в сформированную таблицу изображения/текста/ШК (81 тип ШК) с прозрачным фоном? Вставить фирменный логотип? Быстро организовать оформление документов в корпоративном стиле? Данная разработка поможет в этом!

1 стартмани

03.06.2012    223636    78    zarius    112    

Выбор цвета для 1С 7.7

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    633    1    vap_pig    5    

Картинки и дополнительное описание в номенклатуре

Работа с интерфейсом Обработка справочников Оптовая торговля Оптовая торговля Обработки v7.7 1С7:ТиС Абонемент ($m)

Картинки и дополнительное описание в номенклатуре ТиС (без изменения конфигурации).

1 стартмани

16.02.2018    8840    0    Jill    0    

Диалоги выбора периода для 1С версий 8.3 и 7.7

Работа с интерфейсом v7.7 v8 Абонемент ($m)

Представлены два диалога для выбора интервала дат по календарю в составе демонстрационных конфигураций 1С8.3 и 1С7.7

1 стартмани

24.01.2017    16500    17    romasna    7    

Сравнение и объединение диалогов форм МД файла Промо

Инструментарий разработчика Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Обработка анализирует диалоги форм двух мдшников и показывает изменения в них в удобоваримом виде. Авmop: Peуmoв Дмumpuй, e-mail: dimoff66@mail.ru, icq: 177067865 Автору огромное спасибо!

1 стартмани

09.09.2008    25056    20    WiseSnake    27    

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    11970    2    HAMMER_59    6    

Полноценное использование Drag&Drop в 1С 7.7

Работа с интерфейсом Разработка внешних компонент v7.7 1cv7.md Абонемент ($m)

Несмотря на то, что кое-какие функции Drag&Drop были заложены авторами 1cpp, моё дополнение позволяет сделать этот функционал законченным. Дело в том, что средствами 1cpp можно было таскать файлы ТОЛЬКО в 1С, а из 1С - невозможно. Теперь Вы можете сделать работу с файлами на порядок удобнее и эффективнее.

1 стартмани

19.09.2016    13279    14    DasIsFantastich    4    

Пилотный проект ФСС. Заявление, реестр, опись, выгрузка в формате xml версия 1.7.2.

Практика программирования Работа с интерфейсом Зарплата Зарплата v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Абонемент ($m)

Типовые объекты конфигурации не изменены, поэтому подходит для любого релиза ЗиК.

1 стартмани

29.07.2016    11206    21    Cvetic    1    

Вывод и перенумерация отчета с заранее неизвестным количеством группировок. Промо

Практика программирования Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

1C v.7.7 Пример вывода отчета с заранее неизвестным количеством группировок, с возможностью изменять уровень вложенности группировок из списка значений на форме, с нумерацией конечного отчета, с выводом структуры вложенности группировок (с помощью внешней компоненты Йоксель - http://yoksel.net.ru/Hotfixes). В приложенном файле показан пример вывода отчета из сформированной таблицы значений. Код я старался закомментировать как можно подробней. Хоть семерка и вымирающая платформа, думаю еще есть люди, которые только начинают ей заниматься, и им это может пригодиться.

1 стартмани

21.03.2012    26319    6    unichkin    11    

"Магический батон" или еще одна попытка сделать "волшебную кнопку"

Универсальные обработки Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Очень часто, в процессе работы с 1С, у пользователя может возникнуть желание получить какую-либо информацию по данным, которыми он оперирует в данный момент. Например, забивая документ отгрузки, хочется посмотреть взаиморасчеты с контрагентом, или находясь в справочнике номенклатуры посмотреть движения по ней и т.д. В типовых конфигурациях с такими хотелками не очень то развернешься. К примеру про взаиморасчеты с контрагентом, это надо ползти в меню "Отчеты"->"Специализированные"->"Акт сверки", затем в самом отчете, как минимум, необходимо опять выбрать нужного контрагента и только после этого заветная "циферка" порадует глаз пользователя. Некоторые моменты всё же реализованы, например в типовой "Бухгалтерии", в формах списка справочника "Номенклатура", есть в привязанных печатных формах отчеты: "Оборотно-сальдовая ведомость" и "Анализ субконто", но в них также приходится что-либо выбирать/менять перед формированием. Или довольно удобная штука - механизм внешних печатных форм, но не для всех объектов он реализован (к примеру документ "Поступление ТМЦ" обделен такой возможностью). Добавить подобные вещи конечно можно, но для этого придется править конфигурацию и при обновлении учитывать все эти правки...

1 стартмани

21.08.2014    10001    2    SvSoft    4    

Поворот картинки

Практика программирования Работа с интерфейсом v7.7 v8 Абонемент ($m)

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    16034    16    bborisko    14    

Tray Informer

Инструментарий разработчика Разработка внешних компонент Работа с интерфейсом v7.7 v8 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    25276    6    O-Planet    78    

1C.Net:Предприятие – использование богатых графических возможностей .Net Framework Промо

Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

Windows Presentation Foundation (WPF) – презентационная система нового поколения для построения клиентских приложений Windows с ошеломляющими возможностями. Технология WPF основана на независимой от разрешения системе визуализации, построенной на векторной графике и использующей преимущества современного графического оборудования. В составWPF входят следующие средства: язык описания Extensible Application Markup Language (XAML), элементы управления, механизм привязки данных, средства разметки, 2d- и 3d-графика, анимация, стили, шаблоны, документы, медиа-элементы, текст и средства оформления текста. Презентационная система входит в состав .Net framework и доступна для использования внутри 1С:Предприятие средствами Elisy .Net Bridge, начиная с версии 3.2. Windows Presentation Framework полностью заменяет и многократно превосходит устаревающую технологию WinForms.

1 стартмани

19.05.2010    25919    7    Elisy    22    

Удобное меню для выбора периода для 1С 7.7

Работа с интерфейсом v7.7 Абонемент ($m)

Предлагаю Вашему вниманию удобное меню для работы с периодом. Позволяет в пару кликов выбрать нужный день, месяц, квартал или год.

1 стартмани

31.08.2013    15464    3    Tavalik    1    

1С7: Галерея изображений для любого справочника

Инструментарий разработчика Универсальные обработки Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

В публикации представлена конфигурация "Галерея изображений". В конфигурации показан метод связки любого элемента любого справочника с изображением, хранящемся в внешнем файле в галерее ИБ. - Хранение изображений в структуре каталогов, сходной с иерархией элемента; - Использование Active-x броузера для отображения связанного рисунка; Используемые компоненты: 1SQLite, 1CPP, Formex. Используемые классы: УправлениеФормой.Привязки (из набора классов http://www.1cpp.ru/forum/YaBB.pl?num=1273512019)

1 стартмани

10.07.2013    18943    1    unichkin    11    

Палитра

Производство готовой продукции (работ, услуг) Работа с интерфейсом Производство готовой продукции (работ, услуг) v7.7 1cv7.md Абонемент ($m)

Тестовая база в 1Cv77, которая на базе внешней компоненты FormEx.dll показывает соответствие RGB-кода и цвета на экране. Перебирает все 16 млн цветов.

1 стартмани

20.05.2013    6372    0    KD    5    

Небольшое украшение для 1С-Предприятие-7.7 Промо

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Поздравляю всех девушек с 8 марта! Желаю им цвесть-расцветать и радовать глаз всех окружающихю По поводу такого случая предлагаю небольшое украшение для 1С-Предприятие-7.7 + тематичекую подборку слайдов.

1 стартмани

28.12.2011    21096    3    yuraos    23    

BgInfo для 1С 7.7

Работа с интерфейсом Администрирование данных 1С v7.7 1cv7.md Россия Абонемент ($m)

Класс для получения параметров сессии (включая данные терминального сервера и клиентской машины) и их вывода фоном в окне 1С.

1 стартмани

29.04.2013    12106    2    sournk    12    

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек.

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    10082    0    piloturs    8    

Kill1CLogo

Работа с интерфейсом v7.7 1cv7.md Беларусь Абонемент ($m)

Программа, которая "аккуратно" обрезает желтую квадратную заставку 1С 7.7, но не всю, а оставляет полосу со строкой состояния. При работе по терминалу этот квадрат ОООчень долго отрисовывается и тормозит работу.

1 стартмани

08.02.2013    9713    1    UMM    5    

Гиперссылки в диалогах форм 1С:Предприятие-7.7 Промо

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Правдоподобная имитация гиперссылок при двойном клике мышью на надписях в диалогах форм 1С:Предприятие-7.7

1 стартмани

29.12.2011    23416    5    yuraos    16    

Универсальная версия новогоднего поздравления на 1С:7.7

Работа с интерфейсом v7.7 Абонемент ($m)

Без использования агентов Microsoft и дополнительных библиотек

1 стартмани

22.12.2012    9520    0    pt_olga    9    

Универсальный 1С++ класс Faval для организации часто используемых элементов справочников и быстрого интерактивного доступ к ним

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Чтобы организовать быстрый доступ в формах списков или отчетах к часто используемым элементам справочников конфигурации достаточно при начале работы создать экземпляр класса, указав ему какие справочники мониторить. В формах списках достаточно разместить кнопку, по которой будет выполнятся переход к выбранному пользователем элементу из списка часто используемых. В отчетах можно связать кнопку со списком часто используемых элементов с реквизитом формы.

1 стартмани

27.11.2012    64829    0    sournk    10    

Группировка данных в таблице значений (1С:7.7)

Работа с интерфейсом Универсальные функции v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Надоело каждый раз морочиться с итогами по группам данных в таблице значений при выводе отчета на печать! Вот и накидал простое решение... может и боян - но мне нравится)

1 стартмани

08.08.2012    20637    8    Lancelot-2M    9    

Редактор дат периода

Инструментарий разработчика Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Для того чтобы обозначить (выбрать) период приходиться пользоваться встроенными возможностями 1С или добавлять в диалог дополнительные возможности, кнопочки, описывать в модулях процедуры и функции... С помощью данной обработки Вы можете интегрировать удобства выбора дат периода посредством одной команды-вызова!

1 стартмани

01.08.2012    8272    0    6arop    1    

Календарь на справочнике

Работа с интерфейсом v77::ОУ v77::БУ 1С7:Бух 1С7:ТиС Россия Абонемент ($m)

Календарь на справочнике

1 стартмани

05.06.2012    5625    0    trama    4    

Набор иконок 1С 7.7/8.x

Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

Набор иконок 1С 7.7/8.x в формате Vista/Windows 7.

1 стартмани

05.06.2012    61305    76    gorenski    16    

"Сверхбыстрый" многофункциональный Прогресс-Индикатор в 1с7.

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

При каждом выводе на экран Индикатор рассчитывает следующий шаг вывода, поэтому не замедляет сам процесс (примерно в 10 раз быстрее известных мне). Вывод в заданную текстовую строку или в поле "Состояние()" (сам решает куда). Работает и при неизвестном полном количестве шагов (просто передаем номер шага). В ходе процесса Индикатору можно передавать новые заголовки (2 параметром). Выводит Заголовок, номер шага, %, прошедшее время, прогнозируемое время.

1 стартмани

04.06.2012    11808    1    newold2    9    

Интерфейс для удаленного рабочего стола для Планшета 7'

Работа с интерфейсом v77::ОУ 1С7:ТиС Россия Абонемент ($m)

Интерфейс для удаленного рабочего стола для Планшета 7'.

1 стартмани

16.05.2012    7501    2    volsh77    2    

Прогрессбар для конфигураций 7.7

Работа с интерфейсом Универсальные функции v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Простой прогрессбар для конфигураций 7.7. Реализован штатными средствами, работает с любым видом учета

1 стартмани

11.02.2012    7259    0    Gagarick    3    

Рабочий стол для 7.7

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Рабочий стол для 1С 7.7. Можно интерактивно добавлять/удалять кнопки.

1 стартмани

28.12.2011    9962    4    fly    17    

Просмотр значений реквизитов объектов 7.7

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

Просто просмотривает значения реквизитов объекта (Справочника, Документа) для 7.7 (удобно для отладки правил обмена), к сожалению, не нашел ничего такого для семерки, пришлось написать, в последней редакции добавлена возможность просмотра владельцев, родителей, и истории выбора реквизитов.

1 стартмани

06.12.2011    14346    3    mxm2    13    

Шаблон помощника 7.7.

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Шаблон (каркас) пошагового исполнения неких действий.

1 стартмани

28.11.2011    16456    1    Арчибальд    24    

Улучшенная обработка УОПО ("Универсальная обработка подбора объектов") для 1С:Предприятие 7.7

Обработка справочников Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Исправлена работа в модальном режиме обработки УОПО, распространяемой фирмой 1С на дисках ИТС. СДЕЛАНА ФУНКЦИЯ ПЕЧАТИ (УНИВЕРСАЛЬНЫЙ РАСПЕЧАТНИК СПИСКОВ ОБЪЕКТОВ). Расширен список типов объектов, которые могут отбираться в таблицу выбора. Добавлен новый режим подбора. Предусмотрена установка своего заголовка формы обработки вместо стандартного. Также в диалог добавлена надпись с количеством отобранных в обработке объектов.

1 стартмани

10.11.2011    29415    13    yuraos    20    

Заметки на карте ДубльГис средствами 1 с

Универсальные обработки WEB Работа с интерфейсом v77::ОУ 1С7:ТиС Россия Абонемент ($m)

Наверняка всем известна справочная система под названием ДубльГИС, которая помогает пользователям программы с легкостью ориентироваться более чем в 130 городах России и Украины и быстро находить нужную информацию.

1 стартмани

05.10.2011    12965    1    kras_71    10    

Печать сгруппированной индексированной таблицы значений

Универсальные печатные формы Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Многие знают, что объект "ИндексированнаяТаблица" в библиотеке 1C++ можно группировать. Данная обработка позволяет печатать любую сгруппированную таблицу. Можно делать универсальные отчеты, а не создавать новый отчет когда необходимо развернуть данные по другой группировке

1 стартмани

19.09.2011    12594    11    bar0n    15    

Пример по изменению цвета ячейки таблицы из кода 7.7

Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Пример по изменению цвета ячейки таблицы из кода 7.7 Столкнулся с такой необходимостью и решение нашел с трудом, так что, думаю, кому-нибудь пригодится

1 стартмани

19.09.2011    11314    1    orexov    10    

Поиск, копирование и перемещение файлов

Менеджеры внешних отчетов Поиск данных Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Внешняя обработка, осуществляет поиск файлов по указанному каталогу и вложенным папкам. Есть возможность отбирать файлы по расширениям.

1 стартмани

09.08.2011    15385    1    VoF_Ka    1    

7.7.: Структурируем свои отчеты.

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Укомплектовываем отчеты в группы с подгруппами и работаем как с регламентированной отчетностью.

1 стартмани

28.07.2011    15985    0    Арчибальд    9    

Зачёркнутый шрифт для 1С Предприятие 7.7

Работа с интерфейсом v77::БУ 1cv7.md Россия Абонемент ($m)

Шрифт с перечёркнутыми цифрами

1 стартмани

26.05.2011    13537    8    vrncit    3    

Берегите родителей или что бывает, когда "Родитель" ушел в себя

Практика программирования Работа с интерфейсом v77::ОУ v77::БУ 1cv7.md Россия Абонемент ($m)

Пропадают элементы , группы справочника, зависает приложение, а видимых ошибок нет. Это не руководство к действию, а скорее наглядный пример "где копать"

1 стартмани

25.05.2011    20954    0    Tatitutu    14