Нестандартное разграничение прав пользователей
1с 7.7. Конфигурация простенькая, написана с нуля вручную. В ней есть документ Извещение. Можно ли каким-то образом разграничить права пользователей, чтобы у них был доступ только к тем документам Извещение, которые они вводили сами при входе в систему под своим паролем. Т.е. получается, что интерфейс для всех одинаковый, но чтобы не было возможности видеть документы, введенные другими пользователями.
Для этого определите в конфигурации справочник Пользователей, в котором будут записаны все пользователи системы. В документе определите реквизит (или общий реквизит) “Автор”, в который при записи документа записывайте текущего пользователя, в свойствах реквизита не забудьте поставить галочку “отбор”. При открытии журнала документов “Извещение” открывайте отбор по реквизиту “Автор”. Вот только доступ к общему журналу придется запретить, или также ввести отбор, но это уже на Ваше усмотрение.
Как вариант, в процедуре ПриОткрытии() можно написать следующее:
Если Выбран() = 1 Тогда //Проверяем, что это не новый документ, а существующий
Если Автор <> глПользователь Тогда
СтатусВозврата(0);
КонецЕсли;
КонецЕсли;
Все... После этого, если автор и пользователь не совпадают, то документ не откроется.
Имя (логин) пользователя можно получить системной функцией ИмяПользователя(). Ну, и кроме того, заводить справочник пользователей не обязательно, в самом простейшем случае достаточно хранить автора в реквизите типа строка.
Это просто, если у документа есть реквизит Автор.
в процедуре ПриОткрытии() добавить строки:
Процедура ПриОткрыти()
Если Автор <> ИмяПользователя() Тогда
СтатусВозврата(0);
КонецПроцедуры
| опубликовано: 25 Август 2007, 20:45