Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №8 КИС.doc
Скачиваний:
71
Добавлен:
01.06.2015
Размер:
10.29 Mб
Скачать
  1. Практические задания

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

Дополнительная задача, которую нужно решить, заключается в повышении удобства работы с конфигурацией с точки зрения пользователя. Вспомните: до сих пор мы «доставали» нужные объекты из меню Все функции. Это неплохое решение для работы с конфигурацией в процессе ее разработки и отладки. Но отдавать подобную систему пользователям неправильно. Они должны иметь удобные средства для работы с объектами. Эти средства реализуются с помощью так называемых интерфейсов. Интерфейс включает в себя настройки рабочей среды пользователя, в частности - пользовательское меню, которое обычно включает в себя определенным образом сгруппированные объекты. Чаще всего объекты группируют по разделам работ, реализуемых в конфигурации.

Упражнение 1. Назначение ролей пользователям

Задание 1. Разработка ролей

Разработаем следующие роли (таблица 2.1).

Таблица 2.1 – Роли учебной конфигурации

Администратор

Эта роль дает полный доступ ко всем возможностям системы. Ее имеет смысл назначить одному или нескольким администраторам.

Директор

Эта роль позволяет просматривать объекты, не модифицируя их. Разрешена модификация константы ТекстСообщения.

Расчетчик

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

Сотрудник

Позволяет работать со всеми объектами, кроме тех, которые отвечают за заработную плату.

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

Рисунок 2.1 - Создание новой роли Администратор и настройка набора прав

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

Для всех остальных ролей административные функции должны быть запрещены.

Создадим роль Директор. Для константы ТекстСообщения установим полные права. Для остальных объектов - права Просмотр и Чтение или права Просмотр и Использование (рис. 2.2).

Рисунок 2.2 - Настройка роли Директор

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

Откроем документ Бухгалтерская операция, добавим, на закладке Данные, новый реквизит (рис. 2.3) с именем Зарплата и типом Булево.

Рисунок 2.3 - Добавление в документ Бухгалтерская операция нового реквизита

Выведем реквизит на форму документа. Для этого откроем форму и перетащим реквизит Зарплата на командную панель формы слева (рис. 2.4).

Рисунок 2.4 -Размещение нового реквизита на форме

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

Рисунок 2.5 - Создание нового параметра сеанса

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

Выделим правую часть строки ограничения, нажмем кнопку с тремя точками и введем следующее ограничение (рис. 4.7).

ГДЕ Зарплата = &ПользовательРасчетчик

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

Разместим вновь созданные реквизиты на форме элемента справочника (рис. 2.8).

.

Рисунок 2.6 - Новая строка ограничения доступа к данным

Рисунок 2.7 - Установка ограничения доступа

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

Рисунок 2.8 - Измененная форма элемента справочника Сотрудники

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

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

Сотрудник = Справочники.Сотрудники.НайтиПоРеквизиту("Пользователь", ИмяПользователя());

Если не Сотрудник.Пустая() тогда

ПараметрыСеанса.ПользовательРасчетчик = Сотрудник.Расчетчик;

КонецЕсли;

КонецПроцедуры

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

Если такой элемент найден - устанавливаем параметр сеанса ПользовательРасчетчик в соответствии со значением реквизита Расчетчик найденного элемента справочника.

Теперь создадим еще одну роль. Назовем ее Сотрудник. Откроем доступ ко всем объектам, кроме “зарплатных”. В ограничении доступа к данным документа Бухгалтерская операция установим ограничение, аналогичное тому, которое задано для роли Расчетчик (рис. 2.10).

Рисунок 2.9 - Модуль сеанса

Рисунок 2.10 - Настройка роли Сотрудник

Настроив роли, перейдем к созданию списка пользователей.

Задание 2. Настройка списка пользователей

Первым пользователем, которого мы создадим, будет пользователь с именем Администратор. Для этого выполним команду меню Администрирование > Пользователи, в окне Список пользователей создадим новый элемент (рис. 2.11)

Рисунок 2.11 - Создание пользователя Администратор

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

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

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

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

Рисунок 2.12 - Настройка доступных ролей для пользователя Администратор

Создадим еще четверых пользователей: Иванов, Петров, Расчетчик и Директор (рис. 4.13), выбрав для них соответствующие роли (Иванов и Петров - роль Сотрудник).

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

Рисунок 2.13 - Созданные пользователи

Теперь при попытке запуска системы в пользовательском режиме будет появляться диалог аутентификации (рис. 2.14).

Рисунок 2.14 - Диалог аутентификации 1С:Предприятие

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

В частности, пользователь с ролью Расчетчик сможет работать лишь с теми объектами системы, к которым ему разрешен доступ, в списке документов Бухгалтерская операция ему будут доступны лишь документы, у которых признак Зарплата не установлен. При попытке обращения к объекту, доступ к которому запрещен, будет выдаваться сообщение, рис. 2.15.

Рисунок 2.15 - Попытка доступа к "запрещенному" объекту

Так как для пользователя с ролью Директор мы отключили возможность правки документов - он сможет лишь просматривать их. При попытке создания нового документа он получит сообщение о нарушении прав доступа, при открытии существующего документа сможет лишь просмотреть его (рис. 2.16).

Рисунок 2.16 - Документ, открытый пользователем с ролью Директор