Вход | Регистрация

Информационные технологии ::

Метки:

Как ограничить права на просмотр документов?

Я
   Denis Nsk
15.01.04 - 07:21
Здравствуйте.

Ситуация следующая.
Используется Зарплата и кадры 7.7.
Необходимо ограничить права просмотра отдельными пользователями (расчетчиками) документов содержащих информацию по определенному списку сотрудников (директорат). Данные расчетчики изначально не заводят эти документы и не должны их редактировать и просматривать.

Самое простая идея - это добавить признак автора для документов и отслеживать при открытии авторство. Но используется значительное кол-во видов документов и сложно будет потом обновлять конфу.

Может у кого есть идеи по проще? Что бы один кусок процедуры в оном месте или как-то еще.
 
 
   skunk
 
1 - 15.01.04 - 07:32
Настройкой прав пользователя.
   skunk
 
2 - 15.01.04 - 07:43
Пардон внимательно не прочитал.
В глобальном модуле делаешь проверку, которая смотрит можно или нет из доков при открытии вызываешь и если нет то обламываешь.

В глобальном модуле
Function glVerification(Doc) Export
 Делаешь проверку и взависимости от того можно или нет возращаещь True или False
EndFunction

В доках
Procedure OnOpen()
 Answer = glVerification(CurrentDocument);
 If Answer = "False" Then
   Return(0);
 EndIf;

 далее что надо для открытия

EndProcedure
   Denis Nsk
3 - 15.01.04 - 08:05
Спасибо.
Есть два вопроса.

1. В glVerification(Doc) проверка будет проверять наличие в документе сотрудников (деректорат)?

2. Вызов glVerification(Doc) необходимо прописать в модуль каждого документа?

Это конечно не то о чем мечталось, но несомненно лучше чем править еще и атрибуты дока. База тоже будет поменьше, но потеряем скорость. Я все правильно понял? Еще раз СПАСИБО.
   skunk
 
4 - 15.01.04 - 08:34
1) есть команда UserName(ИмяПользователя) и т.п. см. Команды Среды Исполнения

2)Да в которых надо делать проверку.
   Denis Nsk
5 - 15.01.04 - 08:46
Спасибо. Обдумаю, передам нашему программисту. Если будут вопросы набирусь наглости и еще раз спрошу ))))))
   Львенок
 
6 - 15.01.04 - 09:13
Блин здорово, когда человеку быстренько объяснишь, и он все сразу понимает, да еще и правильно. Вот бы все так.
2 skunk: Ты чего это по А'нглицки писАть начал? У пита набрался? Ты ж вроде раньше русичем был? ;) Никакого патриотизма...
___
Искренне Ваш, Львенок.
   skunk
 
7 - 15.01.04 - 12:23
Да блин всегда хотел по англицкий только незнал, где их все взять. Половинть желание не было, пришлось к русскому приспосабливаться. Но ломало страшно. Правда за годик по обвыкся маленько.
pit уразимил несмышленыша и наставил на путь истинный.
Патриотизм тут не причем, я вот вчера чуть ли не к volksdeutsche попал. А вообще я Родину люблю (для меня Родина - Советский Союз, ему навреность присягал)
   Львенок
 
8 - 15.01.04 - 12:44
(7) Но все стандартные конфы на русском. Некрасиво смотрится, когда языкрвые миксы получаются. А ты человеку советуешь как править стандартную конфу и пример на Англицком пишешь...
___
Искренне Ваш, Львенок.
   Львенок
 
9 - 15.01.04 - 12:47
(3) Скорость, кстати, не потеряете. С какой стати? Процедура выполняется один раз при открытии документа и содержит с десяток строк без циклов.
___
Искренне Ваш, Львенок.
   345
10 - 15.01.04 - 21:17
Насчет использования англицких ... У меня целая система ..

Названия переменных своих функций - русские
Предопределенные функции и объекты метаданных - английские..

типа так

тз.Контрагент
тз.GroupBy (///)

позволяет четко разделить свое и встроенное ...

Ну и еще некоторые фишки ...
 
 
   skunk
 
11 - 15.01.04 - 21:54
Привычка дело наживное.
Я, например, за год интенсивного использования одинСи настолько привык к красно-синим буковкам, что теперь, как дурак, билдер так раскрашиваю.
   Denis Nsk
12 - 16.01.04 - 06:33
(9) Если я правильно понял, то при открытии документа глПроцедура будет проверять либо табличную часть либо сам документ на наличие сотрудника из списка (или с признаком "директорат"). У нас один документ может содержать список сотрудников из нескольких десятков строк (до ~100). Поэтому это дольше чем проверить один атрибут "Автор" у одного документа. Хотя может если сеть и комп ОК, то это мизер.

А вообще если честно, то хотелось что бы была предопределенная функция/процедура глПриОткрытииЛюбогоДока, тогда не пришлось бы править каждый необходимый документ. Есть что-то такое?
   skunk
 
13 - 16.01.04 - 06:51
Ну вообщето даже полный перебор табличной части дока занимает не столько много вермени, если конечно ты док смотришь на компе, а не на калькуляторе. Если все таки на калькуляторе можно сделать так:
Создать подразделение да хоть тот же директорат. При проверки смотреть принадлежит ли у первый сотр директорату, если да не давать(давать) смотреть текущему пользователю, иначе давать смотреть.
А тем кто создает доки указать, что бы для сотров из директората создовали док отдельно.

по поводу второго вопроса, если бы был то наверное уже сказали бы. хотя я не уверен, может есть какая-нибудь недокументированная фича.
   Denis Nsk
14 - 16.01.04 - 07:55
Спасибо.


Список тем форума
Рекламное место пустует   Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует