Имя: Пароль:
1C
 
8.1 Как в контекстное меня к стандартным командам добивить еще одну?
0 _KaA
 
14.01.11
17:12
Собствено сабж...
1 Grusswelle
 
14.01.11
17:14
В контекстное тебя добавить ещё одну... М-м-ммм... Без фотки, думаю, не взлетит. ;-)
2 Grusswelle
 
14.01.11
17:14
Ой, блин, ты ж - мужик... О.о
3 _KaA
 
14.01.11
17:20
:))))
4 _KaA
 
14.01.11
17:20
Уйди ахтунг :)))
5 FIXXXL
 
14.01.11
17:24
форма чего? куда добавить хочешь?
6 Andry888
 
14.01.11
17:24
Создаешь Командную панель с нужным источником действий, добавляешь туда свои кнопы и указываешь в качестве контекстного меню эту ком. панель...
7 Dmitrii
 
гуру
14.01.11
17:26
Если не УФ, то убрать у командной панели свойство Автозаполнение, ПКМ на комендной панели - "Заполнить автоматически" (чтобы вернуть удалившиеся команды), добавлять свои команды.
8 _KaA
 
14.01.11
17:33
(6) Про создаешь командную панель - не греет... это я читал...

И так, более подробнее:
Есть элементы форм табличные части (списки документов, табличные части документов, списки справочников и т.д.). То есть любой элемент формы типа "табл. поле". И вот хочу кнопочку "Изменить шрифт". Делаю в гл. модуле процедурку:

//где-то в общ. модулях
Процедура ИзменитьШрифтТаблицы(ЭлементФормыТаблица) Экспорт
   
   ДиалогВыбораШрифта    = Новый ДиалогВыбораШрифта;
   ДиалогВыбораШрифта.Шрифт = ЭлементФормыТаблица.Шрифт;
   Если ДиалогВыбораШрифта.Выбрать() Тогда
       ЭлементФормыТаблица.Шрифт = ДиалогВыбораШрифта.Шрифт;
   КонецЕсли;
   ЭлементФормыТаблица.ОбновитьСтроки();    
   
КонецПроцедуры


Но ведь теперь обходить все формы где есть табличные части не греет... вот и спрашиваю как сие можно сделать.

PS Конечно можно попробовать как нить сделать кнопку на панели инструментов, смотреть все открытые окна, выбирать все таб. части, спрашивать У пользователЯ какую он хотел поменять, но че то больно тоже замудрено....

PS Понаберают старушек, не видно им не чего....
9 _KaA
 
14.01.11
17:34
К (6)

почитать мона тут:
v8: Контекстное меню в 8.1
10 Andry888
 
14.01.11
17:35
(8) Программно пробегайся по элементам формы, определяй их тип и добавляй контекстное меню...
11 _KaA
 
14.01.11
17:38
(10) Программно по какому событию? То есть при включении системы перебрать все команд. панели, посмотреть к чему они привязаны и если элемент к которому они привязаны табличное поле, то добавить свою команду? Так что ли?
12 _KaA
 
14.01.11
17:40
(10)
Еще раз: зайти на форму, добавить команду руками, привязать ее к процедурке:

Процедура КоманднаяПанельТоварыИзменитьШрифтТаблицы(Кнопка)
   // Вставить содержимое обработчика.
   ОбщегоНазначения.ИзменитьШрифтТаблицы(ЭлементыФормы.Товары);
   
КонецПроцедуры

это я могу руками сделать, но (!!!) я не хочу обходить все формы с таб. полями (частями) и везде лепить свою команду в команд. панель или врезаться в событие при открытии.
13 Andry888
 
14.01.11
17:41
(11) Ну вставить обработчик во все формы при открытии все равно придется... (уж не знаю как это тебя согреет =) ) А в обработчике перебирать элементы формы и смотреть их тип и смотреть есть ли контекстное меню и добавлять свое контекстное... как то так...
14 Andry888
 
14.01.11
17:42
(12) НУ не хочешь дело твое, мое дело предложить...
15 _KaA
 
14.01.11
17:42
(13) Так вот и спрашиваю, как мне избежать участи общупывания всех форм?
16 _KaA
 
14.01.11
17:43
(14) Ну пообежайща еще... Я вон во втором посте вместо помощи увидел самца с писюном на перевес и не чего, отшутился :)
17 Andry888
 
14.01.11
17:44
+(14) как ды думаешь подтягиваются кнопки заполнения ТЧ в типовых? ... в КАЖДОЙ форме есть обработчик который это делает =)
18 PVV65
 
14.01.11
17:45
(15) Во всех стандартных при открытии вызываются процедуры общих модулей. Туда и вставь.
19 _KaA
 
14.01.11
17:49
(18) Вот пока писал так и подумал, передавать форму и обходить все ТЧ на форме... Но все равно надо зайти в каждую форму и поставить кнопошку :(
20 Andry888
 
14.01.11
17:52
(19) какую еще нахрен кнопошку? в события при открытии вставить строчку вызова функции...