|
Запретить изменять Ответственного | ☑ | ||
---|---|---|---|---|
0
geka-geka
13.02.12
✎
14:21
|
Как запретить менять ответственного всем кроме пользователей с полными правами?
|
|||
1
Анатоль
13.02.12
✎
14:23
|
Взять и запрограммировать
Попробуй программировать через подписки на события |
|||
2
Shurjk
13.02.12
✎
14:24
|
(1) А в подписке это как сделать?
|
|||
3
Поpyчик-4
13.02.12
✎
14:30
|
Подписка ПередЗаписью для всех документов
Если ОбщегоНазначения.ЕстьРеквизитДокумента("Ответственный", Источник.Метаданные()) Тогда Проверям роль полные права сравниваем значение реквизита источника со значением реквизита в базе. КонецЕсли; |
|||
4
Поpyчик-4
13.02.12
✎
14:31
|
Подписка на событие лучше, так как не требует вторжения в штатные формы документов.
|
|||
5
geka-geka
13.02.12
✎
15:50
|
Есть ли подписка, которая отрабатывает перед открытием формы документа?
|
|||
6
Scooter
13.02.12
✎
15:51
|
(5)а зачем тебе ПерезЗакрытием формы?
|
|||
7
geka-geka
13.02.12
✎
15:54
|
Хочу убрать свойство доступность у ответственного
|
|||
8
BuHu
13.02.12
✎
15:55
|
(6) не перед закрытием , а перед открытием , доступность убрать
|
|||
9
geka-geka
13.02.12
✎
15:56
|
(8) именно перед открытием
|
|||
10
BuHu
13.02.12
✎
15:57
|
(9) нет вроде такого события
|
|||
11
AndreYAN
13.02.12
✎
15:57
|
Лучше оставить доступность, а добавить подписку на событие перед записью документов, проверять наличие реквизита "Ответственный" и если нет нужных прав, делать следующее
Источник.Ответственный = Источник.Ссылка.Ответственный; |
|||
12
Scooter
13.02.12
✎
15:57
|
(7)см(3)
|
|||
13
BuHu
13.02.12
✎
15:58
|
+(10) погляди где устанавливается доступность\видимость , чето типа УправлениеВидимостью
|
|||
14
BuHu
13.02.12
✎
15:59
|
(12) а где там про доступность ?
|
|||
15
geka-geka
13.02.12
✎
16:00
|
А если нужно посмотреть кто создал документ?
|
|||
16
Scooter
13.02.12
✎
16:02
|
(14)а где в (0) про доступность
|
|||
17
geka-geka
13.02.12
✎
16:07
|
(11) А если нужно посмотреть кто создал документ, то
Источник.Ответственный = Источник.Ссылка.Ответственный; Затрет создателя. |
|||
18
echo77
13.02.12
✎
16:14
|
В свое время запрещал таким кодом менять требование-накладную НЕавтору документа:
Процедура у_ПередЗаписьюТребованиеНакладнойПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт // Если это новый документ, то ничего не проверяем Если Источник.ЭтоНовый() Тогда Возврат КонецЕсли; // Если у пользователя Полные права, то ничего не проверяем Если (РольДоступна("ПолныеПрава")) ИЛИ (РольДоступна("у_ПолныеПраваСокр")) ИЛИ (РольДоступна("у_Бухгалтер_матсектор")) Тогда Возврат КонецЕсли; // Берем Источник.Ссылка по скольку нас интересует документ сохраненный в БД, а не документ-объект, который мы редактируем Если Источник.Ссылка.Ответственный <> ПараметрыСеанса.ТекущийПользователь Тогда ТелАБД = "33-46"; # Если Клиент Тогда Предупреждение("Вы не являетесь автором данного документа, его изменение для вас !" + Символы.ПС + "Вопросы? Звоните " + ТелАБД, ,"Нарушение доступа"); # КонецЕсли // Пишем в журнал регистрации, что кто-то пытается накосячить Если Источник.ПометкаУдаления = Истина Тогда Комментарий = "Попытка пометить на удаление" ИначеЕсли РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда Комментарий = "Попытка провести документ" ИначеЕсли РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда Комментарий = "Попытка отменить проведение документа" КонецЕсли; ЗаписьЖурналаРегистрации("Нарушение доступа", УровеньЖурналаРегистрации.Информация, Источник.Метаданные(), Источник.Ссылка, Комментарий, РежимТранзакцииЗаписиЖурналаРегистрации.Транзакционная); Отказ = Истина; КонецЕсли; КонецПроцедуры |
|||
19
Sandy_S
13.02.12
✎
16:44
|
я бы использовал бы функцию типа МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю1,ЭлементыФормы.Номер);
в ней добавил бы если на форме есть ответственный, тогда доступность этого поля равно РольДоступна("ПолныеПрава"). Нужна глобальная функция которая есть в большинстве документов и срабатывает при открытии. |
|||
20
Sandy_S
13.02.12
✎
16:50
|
вот шикарная функция есть думаю практический у всех документов РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(ВидОперации), ЭтотОбъект, ЭтаФорма);
|
|||
21
geka-geka
13.02.12
✎
16:55
|
(20) надо попробовать
|
|||
22
Вуглускр1991
13.02.12
✎
17:06
|
Автор работает в роторе?
|
|||
23
geka-geka
15.02.12
✎
16:17
|
Пока сделал так:
Если ДокументОбъект.Метаданные().Реквизиты.Найти("Ответственный" ) <> Неопределено Тогда ФормаДокумента.ЭлементыФормы.Ответственный.Доступность = Ложь; КонецЕсли; |
|||
24
geka-geka
15.02.12
✎
16:17
|
Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |