Скд внешний набор данных. Связи наборов данных в скд и принципы их использования. Добавляем новый вариант отчёта

1С имеет встроенную систему прав доступа (эта система называется — роли 1С). Эта система является статической – как администратор поставил права 1С, так и будет.

Дополнительно, действует динамическая система прав доступа (называется – RLS 1С). В ней права 1С динамически высчитываются в момент работы пользователя на основании заданных параметров.

Одной из самых распространенных настроек безопасности в различных программах является набор разрешений на чтение/запись для групп пользователей и далее – включение или исключение пользователя из групп. Например, подобная система используется в Windows AD (Active Directory).

Такая система безопасности в 1С называется – Роли 1С. Роли 1С – это , который находится в конфигурации в ветке Общие/Роли. Роли 1С выступают в качестве групп, для которых назначаются права 1С. Далее пользователь включается или исключается из этой группы.

Нажав два раза на название роли 1С — Вам откроется редактор прав для роли 1С. Слева – список объектов 1С. Выделите любой и справа отобразятся варианты прав доступа (как минимум: чтение, добавление, изменение, удаление).

Для верхней ветки (название текущей конфигурации) устанавливаются административные права 1С и доступ на запуск различных вариантов .

Все права 1С поделены на две группы – «просто» право и такое же право с добавлением «интерактивное». Что это значит?

Когда пользователь открывает какую-либо форму (например, обработку) и нажимает на ней кнопку – то программа на встроенном языке 1С выполняет определенные действия, например удаление документов. За разрешение этих действий (выполняемых программно) – отвечают «просто» права 1С.

Когда пользователь открывает журнал и начинает делать что-то с клавиатуры самостоятельно (например, вводить новые документы) – это «интерактивные» права 1С.

Пользователю может быть доступно несколько ролей, тогда разрешения складываются.

Разрез возможностей установки прав доступа с помощью ролей – объект 1С. То есть Вы можете или включить доступ к справочнику или отключить. Включить немножко нельзя.

Для этого существует расширение системы ролей 1С под названием 1С RLS. Это динамическая система прав доступа, которая позволяет ограничить доступ частично. Например, пользователь видит только документы по определенному складу и организации и не видит остальные.

Аккуратно! При использовании запутанной схемы RLS 1С у разных пользователей могут быть вопросы, когда они попытаются сверить один и тот же отчет, сформированный из под разных пользователей.

Вы берете определенный справочник (например, организации) и определенное право (например, чтение). Вы разрешаете чтение для роли 1С. В панели Ограничение доступа к данным Вы устанавливаете текст запроса, который возвращает ИСТИНА или ЛОЖЬ в зависимости от настроек. Настройки обычно хранятся в регистре сведений (например регистр сведений конфигурации Бухгалтерия НастройкиПравДоступаПользователей).

Данный запрос выполняется динамически (при попытке реализовать чтение), для каждой записи справочника. Таким образом, для тех записей, для которых запрос безопасности вернул ИСТИНА – пользователь увидит, а остальные – нет.
Права 1С, на которые установлены ограничения RLS 1С – подсвечены серым.

Копирование одних и тех же настроек RLS 1С делается с помощью шаблонов. Вы делаете шаблон, называете его (например) МойШаблон, в нем указываете запрос безопасности. Далее, в настройках права доступа 1С указываете имя шаблона вот так: «#МойШаблон».

При работе пользователя в режиме 1С Предприятие, при работе RLS 1С, у него может появляться сообщение об ошибке «Недостаточно прав» (например, на чтение справочника Ххх).

Это значит, что RLS 1С заблокировала чтение нескольких записей.

Для того, чтобы такого сообщения не появлялось, необходимо в тексте запроса на встроенном языке 1С использовать слово РАЗРЕШЕННЫЕ ().

Например:

В данном материале мы рассмотрим, как в программном продукте «1С Бухгалтерии 8.3» работать с пользователями, а именно:

Создать нового пользователя;

Осуществлять настройку прав - профилей, ролей и групп доступа;

Как в вышеназванном программном продукте настроить ограничения прав на уровне записей - например, по предприятиям.

Важно сказать, что предложенную инструкцию можно использовать не только для бухгалтерских программных продуктов, но и для многих других, сформированных на основе « 2.х»: « 2.0», «Зарплата и управление персоналом 3.0», «Управление небольшой фирмой», «1С Управление торговлей 11» и т.д.

В интерфейсе программного продукта «1С» управления пользователями осуществляется в пункте под названием «Настройка пользователей и прав», что в разделе с именем «Администрирование»:

Как в «1С» сформировать нового пользователя?

Чтобы в нашем программном продукте сформировать нового пользователя и предоставить ему определенные права доступа, для начала нужно зайти в пункт под названием «Настройки пользователей и прав», что находится в меню «Администрирование».

В разделе под названием «Пользователи» происходит управление списком пользователей. Именно в нем существует возможность завести пользователя или определенным образом изменить уже существующего. Списком пользователей может управлять только пользователь, который имеет административные права.

Сейчас сформируем группу пользователей под названием «Бухгалтерия», а в ней 2 пользователей с названиями «Бухгалтер 1» и «Бухгалтер 2»

Что бы сформировать группу, нажмите выделенную на рисунке выше клавишу и введите наименование. Если имеет других пользователей, что подходят на роль бухгалтера, то их можно добавить в группу. В предлагаемом нами примере таких не нашлось, поэтому просто нажмем клавишу под названием «Записать и закрыть».

После этого нужно создать пользователей. Для начала необходимо установить курсор на нашу группу, а затем нажать на клавишу под названием «Создать»:

В полное наименование введите «Бухгалтер 1», наименование для входа введите «Бух1». Именно оно будет высвечиваться при входе в программный продукт. Пароль укажите «1».

Но надо обязательно убедиться, что флажки «Показывать в списке выбора» и «Вход в программу разрешен» установлены, ибо в противном случае при авторизации пользователь просто-напросто не сможет себя увидеть.

«Режим запуска» в данном случае нужно оставить «Авто».

Как настроить права доступа - профили и роли?

А сейчас необходимо отметить нужному пользователю «Права доступа». Однако для начала его необходимо записать, потому что в противном случае появится окно с предупреждением, как вы можете увидеть на рисунке выше. Далее нажмите на «Сохранить», затем на «Права доступа»:

После сделанного надо выбрать профиль под названием «Бухгалтер». Последний является стандартным и настроенным на основные права, которые нужно знать бухгалтеру. Далее необходимо нажать на клавишу под названием «Записать» и закрыть окно.

В данном окне, которое называется «Пользователь (создания)», нужно нажать на «Записать и закрыть». Аналогично можно сформировать и второго бухгалтера. Но в конце сделанных операций обязательно надо убедиться, что новые пользователи заведены и могут работать:

Бывает и такое, что один и тот же пользователь принадлежит к нескольким группам.

Поставленный флажок под названием «Отображать автора документа» будет говорить о том, что пользователь будет отображаться в документе.

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

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

И внесите в него необходимые изменения - добавьте роль с именем «Просмотр журнала регистрации»:

Новому профилю дайте другое название, например, - «Бухгалтер дополнениями». После этого установите флажок с именем «Просмотр журнала регистраций».

А сейчас необходимо отредактировать профиль у тех пользователей, которых мы сформировали ранее.

Ограничение прав на уровне записи в программе «1С 8.3 ()»

Что же означает ограничение прав на уровне записи или как еще называют ее в 1C- RLS (Record Level Security)? С целью получения такой возможности, необходимо установить нужный флажок:

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

Опять зайдите в раздел управления профилем, 2 раза кликните по профилю под названием «Бухгалтер дополнениями» и перейдите на закладку с именем «Ограничение доступа»:

«Вид доступа» выберите «Организации», «Значение доступа» выберите «Все разрешены, исключения назначаются в группах доступа». После этого нажмите на «Записать и закрыть».

Затем вернитесь в раздел «Пользователи» и выберите, например, пользователя «Бухгалтер 1». Далее нажмите на кнопку под названием «Права доступа»:

С помощью кнопки «Добавить» выберите предприятие, информацию о котором будет видеть «Бухгалтер 1».

Следует отметить, что использование механизма разграничения прав на уровне записей может в общем повлиять на производительность работы программного продукта. Памятка для программиста: суть RLS заключается в том, что система «1С» в каждый из запросов добавляет дополнительное условие, спрашивая данные о том, имеет ли определенный пользователь разрешение на доступ к этой информации.

Другие настройки

Такие разделы как «Копирование настроек» и «Очистка настроек» говорят сами за себя. Это настройки внешнего вида программного продукта и отчетов. Например, если пользователь хорошо совершил настройки внешнего вида справочника «Номенклатура», то без проблем его существует возможность тиражировать и на других пользователей.

В разделе под названием «Настройка пользователей» существует возможность несколько изменить внешний вид программного продукта и для удобства работы сделать некоторые дополнительные настройки.

Флажок с именем «Разрешить доступ внешним пользователям» позволяет добавлять и настраивать внешних пользователей. Например, пользователь на основе «1С» желает организовать интернет-магазин. Клиенты данного магазина как раз и будут внешними пользователями. А настройка прав доступа реализуется подобно обычным пользователям.

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

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

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

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

Недостатки данного подхода очевидны: это и усложнение обслуживания информационных баз, и возможные конфликты при последующих обновлениях, когда измененные объекты конфигурации требуют изменения прав доступа.

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

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

А вот если мы попытаемся найти настройки интерфейсов, то нас постигнет фиаско. В управляемом приложении интерфейс рабочей области формируется автоматически, на основе прав доступа. Для примера сравним интерфейсы Панели разделов Администратора и Менеджера по продажам:

В общем - идея здравая, есть права доступа к объекту - показываем его в интерфейсе, нет - скрываем. Это гораздо лучше, чем выскакивающие в обычном приложении сообщения о нарушении прав доступа при несоответствии последних с назначенным интерфейсом. Если вы добавите группе доступа прав или, наоборот, уберете, то связанные с ними элементы интерфейса самостоятельно появятся или исчезнут. Удобно? Да.

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

Если мы заглянем в Администрирование - Настройки пользователей и прав - Персональные настройки пользователей - Настройки пользователей то увидим там перечень всех объектов, настройки которых были изменены пользователем, однако никак не сможем их изменить.

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

Чтобы не быть голословными разберем практический пример. В рамках подготовки к переходу на онлайн-кассы было решено автоматизировать кассовые места небольшой сети стоматологических клиник. Основу автоматизации клиник составляло отраслевое ПО не на базе 1С и не предусматривающее возможность подключения фискального регистратора, поэтому было принято решение для автоматизации кассовых мест использовать конфигурацию Бухгалтерия предприятия 3.0, которая содержит все необходимые функции.

Здесь мы столкнулись с двумя сложностями, хотя если посмотреть повнимательнее, то обнаружится, что это две стороны одной и той же медали. Если коротко: персонал никогда до этого не работал с 1С и поэтому требовалось создать максимально простую в освоении рабочую среду, при этом оградив информационную базу от возможного неквалифицированного воздействия персонала. Управляемое приложение позволяет достаточно просто совместить приятное с полезным, сделав так, чтобы и пользователя ограничить, и в тоже время позволить ему комфортно работать, не замечая ограничений.

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

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

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

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

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

Перейдем в Главное меню - Вид , где увидим целый ряд настроек, касающихся интерфейса.

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

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

Можно даже сравнить, как было и как стало:

И в заключение выполним настройку панелей. Так как разделов у нас немного, то панель разделов имеет смысл переместить вверх, а панель открытых вниз, тем самым расширив рабочее пространство по горизонтали, что актуально для мониторов с небольшой диагональю или формата 4:3.

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

Теперь снова войдем в программу под администратором и перейдем в Администрирование - Настройки пользователей и прав - Персональные настройки пользователей - Копирование настроек . Наша задача распространить сделанные нами изменения на оставшихся пользователей группы Кассиры. Сама операция достаточно проста: выбираем пользователя, настройки которого мы копируем, указываем кому и выбираем что именно.

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

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

  • Теги:

Please enable JavaScript to view the

Система прав доступа позволяет описывать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретным прикладным решением.

Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т.д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т.д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.

Роли

Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации - Роли. .

Интерактивные и основные права

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

Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.

Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. И наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.

Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных , ему необходимо обладать интерактивными правом Редактирование . Это право, в свою очередь, требует наличия интерактивного права Просмотр :

Право Интерактивное удаление помеченных Удаление . Интерактивное право Редактирование требует наличия основного права Изменение . Интерактивное право Просмотр требует наличия основного права Чтение .

Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.

Ограничение доступа к данным на уровне записей и полей

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

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

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

Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:

Ограничение доступа к данным представляет собой условие, описанное на языке, который является подмножеством языка запросов. Это условие применяется для каждой записи таблицы базы данных, над которой выполняется операция. Если условие принимает значение "истина", то операция выполняется, а если нет, то не выполняется. Условие ограничения доступа может быть уточнено с помощью инструкций препроцессора(#ЕСЛИ <условие>, #ТОГДА.. и др.), что сделает его более эффективным. При просмотре списков и формировании отчетов существует возможность обеспечить отображение только тех данных, доступ к которым пользователю разрешен.

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

Условия ограничения можно ввести вручную или создать с помощью конструктора ограничений доступа к данным .

Параметры сеанса

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

Выполнение на сервере без проверки прав

Привилегированные модули

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

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

Привилегированный режим исполнения программного кода

Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим() , а также функция ПривилегированныйРежим() , которая позволяет определить, включен привилегированный режим, или нет.

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

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