Имя: Пароль:
1C
1С v8
Как форме списка и форме документа убрать возможность пометки на удаление ?
, , ,
0 Adm1nSpb
 
01.05.17
12:13
Как форме списка и документа убрать возможность пометки на удаление ?
Т.е. в идеале хотелось бы вообще убрать кнопку ПометкаУдаления, и это же из контекстного меню отключить ее доступность.

Пробую так

ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки.Действие3.Доступность = Ложь;
ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки.Подменю.Кнопки.Действие3.Доступность = Ложь;
1 vde69
 
01.05.17
12:14
права отбери и все
2 Adm1nSpb
 
01.05.17
12:42
А если через редактирование кнопок, как это сделать?
3 vde69
 
01.05.17
12:46
ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки.Действие3.Видимость= Ложь;
4 Adm1nSpb
 
01.05.17
12:51
(3) Выводит - Поле объекта не обнаружено (Видимость)
5 Михаил Козлов
 
01.05.17
13:32
(4) Послушайте (1): оператор может и "Del" нажать.
6 Adm1nSpb
 
01.05.17
13:56
Права урезаны на уровне ролей, но кнопка-то никуда не девается...((( Запрещено удаление, интерактивное удаление, интерактивная пометка и интерактивное снятие удаления...
7 RomanYS
 
01.05.17
14:13
(6) сними автозаполнение у панели и делай, что хочешь)
8 Rounder
 
01.05.17
14:15
(6) Не понятно о какой платформе говорим... Но в 8.2.15.294 - если у пользователя нет прав на пометку удаления, то и кнопки не отображаются.

Единственный вариант, это что кнопки не стандартной командной панели, а "самонарисованные"...
9 Adm1nSpb
 
01.05.17
14:45
Платформа 8.1.15.14
Галка Автозаполнения?
Не могу нигде найти...подскажите, где она?
10 Adm1nSpb
 
01.05.17
14:49
Нашел, спасибо
11 Adm1nSpb
 
01.05.17
15:01
Но кнопка del все равно работает.=(((
Можно ли как-то отключить ее обработку ?
Или хотябы как сделать, чтобы при нажатии Del выскакивало не "нарушение прав доступа" (ограничение в роли), а свое сообщение?
12 Rounder
 
01.05.17
15:06
В модуле объекта ПередЗаписью проверять.
Если ЭтотОбъект.ПометкаУдаления И Не ЭтотОбъект.Ссылка.ПометкаУдаления то пользователь установил пометку

Если Не ЭтотОбъект.ПометкаУдаления И  ЭтотОбъект.Ссылка.ПометкаУдаления то пользователь снял пометку

Сообщить("Свое сообщение");
Отказ = Истина;
Возврат (по желанию)
13 Adm1nSpb
 
01.05.17
15:38
С сообщением спасибо, а как кнопку del от отключить для одной формы?
14 Adm1nSpb
 
01.05.17
15:38
...чтобы не пометить с ее помощью было
15 Rounder
 
01.05.17
15:48
Можно сделать чтобы нельзя было вообще пометить/ снять пометку, но чтобы нельзя было пометить только с помощью "del" - не знаю как.
16 Adm1nSpb
 
01.05.17
16:09
В роли, я запретил пометку/снятие пометки.
А что вы имеете ввиду?
Я просто хочу исключить появление сообщения "ошибка доступа" при нажатии del убрав все лишние кнопки... и способы пометить...
17 PiotrLoginov
 
01.05.17
17:16
Установка пометки на удаление - это, фактически, изменение реквизита "ПометкаУдаления" и запись объекта. Соответственно, можно перед записью проверять, не юзер ли в форме списка нажал устанавливает пометку и отказываться.
18 Rounder
 
01.05.17
17:25
(16) я же описал механизм в (12).
Можно просто без сообщения отказывать в записи при установке пометки и все.
Но я так понимаю пользователю с полными правами право на удаление нужно оставить.
Т.е. при проверке установки пометки нужно будет проверять нет ли у пользователя действительно прав на установку пометки.
19 Rounder
 
01.05.17
17:34
(16) Но я по-прежнему считаю, что у Вас что-то намудрено или с правами или с формами, потому что если нет прав на удаление, то и кнопка пометки удаления не доступна.
На 8.2 точно так, и насколько помню и в 8.1 было также.
20 Лефмихалыч
 
01.05.17
20:47
(6) не урезаны значит. В какой-то роли есть право на удаление
21 Лефмихалыч
 
01.05.17
20:48
(12) это деструктивный совет. перестань это делать.
22 vde69
 
01.05.17
21:17
(20) судя по синтаксису - это НЕ управляемые формы :)
23 Rounder
 
01.05.17
21:26
(22) Поведение аналогичное и в управляемых и в обычных. У себя на 8.2 проверял в обоих режимах.

(21) Что конкретно в нем деструктивного?
Как, например, можно реализовать функционал, когда пользователь с определенной ролью может видеть все документы определенного типа, а устанавливать/снимать пометку на удаление только с документов, которые создал сам?
И прошу не предлагать сделать не предусмотренное в конфигурации ограничение доступа на уровне записей по пользователям... Очень геморное дело (делал для статей движения денежных средств)...
24 Adm1nSpb
 
01.05.17
22:11
Друзья, спасибо за помощь и ваши советы.
На самом деле, в начале, все роли были ограничены на удаление/пометку удаления. Так...задумано специально.  

Сделано:
На форме списка, у панели было отключено автозаполнение.
Была занова заполнена форма идентично той, что была до этого, разве что без кнопки удалить. То же самое сделано и с контекстным меню.

Резюме - все идеально...почти.
Кнопок удалить и пунктов удалить в меню нет.

Права ролям урезаны (пока нет необходимости кому-то разрешать удаление и вряд ли будет надо) и при нажатии кнопки del все равно происходит попытка удаления, с сообщением "Нарушение прав доступа".

Подскажите, как не допустить вывода этого сообщения при нажатии на del ?
25 Adm1nSpb
 
01.05.17
22:24
Если в ФормеЭлемента в событии ПередЗаписью() написать

    Если ЭтотОбъект.ПометкаУдаления И Не ЭтотОбъект.Ссылка.ПометкаУдаления Тогда
         Отказ = Истина;    
         Возврат;
    КонецЕсли;
    
    Если Не ЭтотОбъект.ПометкаУдаления И  ЭтотОбъект.Ссылка.ПометкаУдаления Тогда
         Отказ = Истина;    
         Возврат;
    КонецЕсли;
    

то тоже ничего не происходит. При нажатии на кнопку del возникает "ошибка доступа".

Как избавиться от реакции на нажатии на DEL ?
26 Adm1nSpb
 
01.05.17
22:47
Проблема с del решилась очень просто - d форме списка добавил обработчик ПередУстановкойПометкиУдаления

Процедура ПередУстановкойПометкиУдалоения(Элемент, Отказ)
    // Вставить содержимое обработчика.
    Отказ=Истина;                                                               
КонецПроцедуры
27 Adm1nSpb
 
01.05.17
22:47
Цель достигнута. Всем спасибо!