Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 12:43
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1С: Документооборот - права доступа к карточкам  (Прочитано 2029 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн forum1cru

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Консультант 1С

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

Как можно решить данную проблему?


Оффлайн Rasul

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Разработчик 1С
Да. Типовые механизмы разграничения прав доступа к документам к сожалению не совсем подходят к этой задаче. Как вариант можно сделать следующее:

 

- Создаем новую роль, например "ДополнительныйДоступ"

- Создаем регистр сведений "ДопНаборыЗначенийДоступа" по аналогии с типовым "НаборыЗначенийДоступа"

- Для входящих, исходящих и внутренних документах у роли "ДополнительныйДоступ" ставим галки Чтение, Просмотр. Ограничиваем чтение следующим условием (на примере внутренних доков):

 

ВнутренниеДокументы
ИЗ Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДопНаборыЗначенийДоступа КАК ДопНаборыЗначенийДоступа     
ПО ВнутренниеДокументы.Ссылка = ДопНаборыЗначенийДоступа.Объект
ГДЕ ДопНаборыЗначенийДоступа.ЗначениеДоступа = &ТекущийПользователь


 

- В событии "ПриЗаписи" задачи "ЗадачаИсполнителя" пишем код, который запишет в новый регистр сведений строку, что-то типа:

 

МенеджерДопНаборы = РегистрыСведений.ДопНаборыЗначенийДоступа.СоздатьМенеджерЗаписи();           
МенеджерДопНаборы.Объект             = Предмет;     
МенеджерДопНаборы.ВидДоступа             = ПланыВидовХарактеристик.ВидыДоступа.Пользователи;
МенеджерДопНаборы.ЗначениеДоступа       = Исполнитель;
МенеджерДопНаборы.Прочитать();           


Если не МенеджерДопНаборы.Выбран() Тогда                       


      МенеджерДопНаборы.Объект            = Предмет;
      МенеджерДопНаборы.ВидДоступа             = ПланыВидовХарактеристик.ВидыДоступа.Пользователи;
      МенеджерДопНаборы.ЗначениеДоступа       = Исполнитель;
      МенеджерДопНаборы.Чтение                = Истина;
      МенеджерДопНаборы.Изменение             = Истина;
      МенеджерДопНаборы.Записать();


КонецЕсли;


Вуаля, все работает. Пользователям назначаем эту роль, запрещаем им все что можно типовыми механизмами. Теперь, даже если все запрещено, но для пользователя есть задача по кокому-нить доку - он получит к нему доступ.

 

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


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 843
  • Точка Скрытых: 0
  • Точка Пользователей: 10
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal