Наши контакты
(495) 540-59-36
Продажа, внедрение и сопровождение 1С

Заказать звонок Задать вопрос

Разграничение прав доступа в 1С: Управление Торговлей ред. 11.1

Порядок действий

 

Разграничение доступа – так в программной системе 1С (равно, как и во многих иных пользовательских системах) обозначатся система запретов и разрешений доступа к тем или иным программным объектам для тех или других пользователей системы.

Доступ разграничивается для реализации вопросов в следующих областях:

- контроль верности функционирования всей системы. При случае, когда пользователь пытается обратиться к тем данным, которые недоступны для него, это указывает на то, есть несоответствия между программным кодом и установленным в системе правилом по разграничению доступа;

- ограничение доступа и копирования информации в полном соответствии с имеющимися служебными обязанностями. Тогда разграничение доступа указывает на разрешенные возможности каждого из сотрудников по редактированию и просмотру информации по финансовой деятельности всей организации.

Само же разграничение доступа основывается на трех главных аксиомах: роли, права, пользователи. Все это и способствует более защищенной и эффективной работе всей системы.

Права. Доступ и его разграничение в программе заданы уже изначально в конфигурации и не подлежат изменению. Соответственно, и документы, соответствующие одному типу, одному объекту метаданных обладают одинаковой защитой. Что разграничить доступ объекты снабжены списком прав, или списком способов контролируемого доступа. Права, включенные в список, определяются видом объекта линейки метаданных. Права могут быть общеупотребительными (просмотр, чтение и т.п.) и могут быть также уникальными (проведение, что всегда будет характерно для документов). В списке права могут делиться неявно на интерактивные и обычные. Интерактивные права обязательно проверяются в случае, если право доступа к определенному объекту осуществляется в режиме интерактивном Предприятия, а редактирование и отображение информации выполняется средствами системными, относящимися к определенным конкретным объектам. К этим средствам системным относятся табличные поля и формы, поля ввода, которые обладают расширениями. Именно и только расширение интерактивных элементов и обеспечивает контроль прав, которые соответствуют этим объектов расширениям. В случае же, если само расширение отсутствует, то отсутствует и сам контроль прав. Например, если в встроенном языке с помощью считать данные запроса, выгрузить в таблицу значений, отобразить эту самую таблицу в поле табличном, то тогда проверка всех интерактивных прав никак выполняться не будет.

Обычные права (в отличие от прав интерактивных), проверяются обязательно во всех без исключения случаях и включают также в себя интерактивные аналогичные права - как, к примеру, Интерактивное удаление и Удаление. Устанавливая в "запрещено" такие права, разработчик полностью и стопроцентно отключает этими правами определяемый доступ к определенным объектам. В случае же, если доступ все же к объектам требуется (как в ранее описанном примере), можно запретить всего лишь только доступ интерактивный.

Помимо разделения прав по принципу интерактивности, между правами вполне могут существовать и различные другие зависимости: скажем, что любой доступ (к справочнику) в себя включает доступ и на чтение (другие и эти зависимости можно вживую пронаблюдать при редактировании в Конфигураторе прав). Отметим также, что сам список прав никакой информации по запрещению или разрешению не несет, поскольку вся эта информация хранится только в ролях.

Роли. Они являются объектами системы метаданных и содержат в себе установки прав для всех объектов в конфигурации метаданных - каждое из прав (как способ контролируемого доступа) может быть запрещено или разрешено. Роли, как и объекты метаданных, редактируются только и исключительно в Конфигураторе, и позволяют вам установить нужные для любых прав значения, но только лишь с учетом зависимостей и взаимосвязей между правами. К примеру, наличие запрещения прав на чтение установит также вердикт запрещено и все другие права. В области предметной роли, как правило, но совсем не обязательно соответствуют и должностям, поэтому и установки прав соответствуют служебным и должностным обязанностям сотрудников, которые и занимают эти должности.

И права, и роли относятся, как мы уже поняли, к области предметной, что и позволяет нам разрабатывать именно «коробочные» типы решений, без строгой ориентации на конкретные и уникальные внедрения. Роли определяют доступ ко всему решению целиком, что и отличает их от прав, где идет определение права к отдельным объектам.

Пользователи. При внедрении всех этих решений в саму систему добавляются «пользователи», доступ которых ко всем объектам системы требуется разграничить. Именно для этого каждый пользователь обладает одной или несколькими ролями в полном соответствии со служебными обязанностями. Менеджер, к примеру, может исполнять и кассовые обязанности. Когда пользователь осуществляет запрос на право доступа к конкретному объекту системы, то каждая роль, пользователю присвоенная, определяет установку необходимого права. Если (хотя бы) для одной из ролей это право уже было установлено, то тогда пользователю дается и разрешение на указанный путь доступ к уже указанному объекту.

В противном же случае, доступ сразу запрещается. Такой вот способ сложения установок прав в абсолютно разных ролях и позволяет упростить процесс добавления прав при осуществлении адаптации уже готового решения к особой специфике внедрения.

Для осуществления добавления права пользователю на доступ будет достаточно создать всего лишь новую роль, и уже в ней установить все необходимое право в графу "разрешено". Однако при этом (и это необходимо всегда учитывать!) уже существующие ранее объекты конфигурации изменяться не будут, что значительно упрощает дальнейшую ее поддержку разработчиком.