Имя: Пароль:
1C
1С v8
УФ: Программно отловить пункт контекстного меню
0 BeeZoom
 
06.02.18
08:55
Привет!

Есть общая форма ВыборКонтрагентаКонтактноеЛицо.
Нужно закрыть возможность изменять контрагентов из этой формы (если не ПолныеПрава). То есть для обычных пользователей нужно убрать кнопку "Изменить" над списком и пункт "Изменить" из контекстного меню.

Смотрю форму - у контекстного меню не вижу пункта "Изменить". Такой пункт есть только у командной панели.
https://ibb.co/k6h2Vc

Но если у командной панели делаешь недоступной кнопку "Изменить" (программно), то на пункт меню это никак не влияет.

Если делаю через свойство "Открыть состав команд" командной панели (тупо убираю флаг), то почему-то обе кнопки пропадают - и над списком, и в контекстном меню. Но так не подходит, потому что нет проверки на права.
https://ibb.co/hEkpAc
https://ibb.co/hMgUAc

Сломала голову - как его мне программно что-то сделать с этим пунктом? Подскажите, пожалуйста, куда покопать!

Это Документооборот 8 КОРП, редакция 2.1 (2.1.11.5), платформа 1С:Предприятие 8.3 (8.3.10.2375), работаю в расширении конфигурации.
1 vde69
 
06.02.18
08:57
зачем пытаться скрыть меню вместо того, что бы ограничить права ?
2 BeeZoom
 
06.02.18
09:25
(1) Нужно, чтобы именно из формы выбора нельзя было редактировать контрагентов. А в самом справочнике - можно. Если ограничить права, то нигде нельзя будет.
3 BeeZoom
 
06.02.18
09:27
Где же искать этот пункт? Как-то ведь формируется эта менюшка? Пошаговая отладка ничего не дала.
4 DrZombi
 
гуру
06.02.18
09:34
(2) отключи заполнение авто, и установи свои кнопки, "Бле-джек и баян...".
Перехвати попытку пользователя воспользоваться быстрыми клавишами :)
5 vde69
 
06.02.18
09:37
(2) сабж точно можно реализовать через сериализацию формы...

но я все равно не понимаю зачем нужно что-то скрывать... права они или есть или их нет... если права есть - скрывать не нужно, если прав нет - уже все скрыто...
6 BeeZoom
 
06.02.18
09:42
(4) автозаполнение отключено, в том то и дело. И в таком случае - откуда пункты берутся?
7 DrShad
 
06.02.18
09:48
отключить у списка свойство Изменять состав строк
8 BeeZoom
 
06.02.18
09:49
(7) то есть программно никак?
9 BeeZoom
 
06.02.18
10:14
(5) потому что пользователи каким-то образом умудряются через эту форму изменить одного контрагента на другого (вместо того, чтобы создать нового). Был Вася Пупкин, а им надо Федю Рыбкина. И они меняют Васю на Федю. На вопрос: как вы это делаете? - КруглЯт глаза и шепотом произносят "не п-п-помню".
Обучение проводим и разъяснительную работу, но надо закрыть такую возможность, пока не напортачили.
10 BeeZoom
 
06.02.18
10:15
(7) тогда кнопка Создать пропадает
11 vde69
 
06.02.18
10:16
(9) запрети им редактирование... оставь это право только адекватным...
12 BeeZoom
 
06.02.18
10:30
(11) эххх... если б 1с-ка могла определять по снимку лица - кто адекватный, а кто нет)) у нас огромное количество пользователей, компания большая, 1с-ку только начали внедрять, люди ее раньше даже в глаза не видели. Но ведь не будем же мы сами за них контрагентов создавать.
13 Вафель
 
06.02.18
10:35
ТолькоПросмотр на таблице
14 Вафель
 
06.02.18
10:36
Если это список справочника, то права на создание нового убрать
15 sitex
 
naïve
06.02.18
10:39
(9) Таким кто говорит "не помню", выдайте метлу и лопату , там мозг напрягать не нужно.
16 BeeZoom
 
06.02.18
11:39
(14) нельзя правами. У них должны остаться права на создание нового и даже на редактирование. Но именно из самого справочника.

(14) Нужно, чтобы запрет был из формы выбора контрагента (например, когда выбираешь контрагента в документе). То есть при выборе контрагента - только выбор и все. А если хочешь что-то изменить - заходи непосредственно в справочник и меняй.
17 BeeZoom
 
06.02.18
11:44
Вопрос решила полным закрытием доступа к контекстному меню. Пока других решений не нашлось... Возможно, их и нет.


ПолныеПрава = РольДоступна("ПолныеПрава");
Элементы.СписокКонтрагенты.КонтекстноеМеню.Доступность = ПолныеПрава;
Элементы.СписокКонтрагенты.КоманднаяПанель.ПодчиненныеЭлементы.СписокКонтрагентыКнопкаИзменить.Доступность = ПолныеПрава;
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.