Access subsystem #1975
Unanswered
DitriXNew
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Реализация механизма доступа данных.
Планы:
Сама подсистема прав доступа основана на ключах доступа, и регистра сведений который эти ключи доступа проверяет.
Логика выглядит следующим образом:
Template***
, в них прописаны все доступы по типу данных.TemplateDocument
TemplateAccumulationRegisters
TemplateBasicAccess
, в ней описаны ключевые доступы к служебным объектам на уровне чтения.С такими настройками, посльзователь будет видеть документ по
SomeCompany1, SomeCompany2, Branch1, Branch2
но, записывать сможет только поSomeCompany2
иBranch2
.Для объектов, которые имеют ссылки
При записи документа - система создает ключ доступа (или использует существующий) в спраовнике

ObjectAccessKeys
, куда попадает вот такой набор данных:Т.е. при записи документа, система создает или подбирает нужный ключ, который записывается в регистр сведений
T9100A_ObjectAccessMap
, и потом, РЛС уже смотрит на этот ключ и принимает решение - давать доступ или нет.При создании ключа, система идет в менеджер объекта и выполняет вот эту функцию:
В каждом документе есть эта функция, и она возвращает соотвествие ключа и его значения, значением может выступить массив значений.
Если надо добавить отбор по сегменту пользователей, то в этой функции можно выполнить все нужные вычисления, добавить новый ключ, например
ManagerSegment
, и указать нужные сегменты.Потом в профиле доступа использовать этот же ключ и указать необходимые сегменты менеджеров.
Регистры накоплений
Тоже самое касается и регистров накоплений. Только в них есть один доступ - чтение. В них запрещена запись в регистры или их просмотр. Так как документы всеравно проводятся в привелигированном режиме, а просто открывать список регистра пользователю с ограниченными правами - смысла никакого не имеет.
В каждый регистр добавленно измерение
ObjectAccessKey
, которое рассчитывается в момент записи регистра. И доступ идет по тем же правилам как и описанно выше.Особенности системы:
Partner
, но его не прописали в профиле - тогда у вас не будет доступа к этим документам. Т.е. условие должно выполняться на 100%.Другой пример - у вас два склада, тогда оба этих склада должны быть прописаны в профилях доступа, иначе - вы не получите доступ к этим объектам.
Beta Was this translation helpful? Give feedback.
All reactions