Не первый раз уже сталкиваюсь с ситуацией, когда меня просят добавить в 1С уровень доступа, чтобы можно было формировать любые отчеты, но изменять программа бы ничего не давала.
Эта возможность может пригодиться для предоставления доступа внутреннему аудитору, директору, экономисту и в других случаях.
Стандартная настройка такого уровня доступа не предусматривает. Я попробовал добавить роль, но с первой попытки ничего не получилось. Удивившись (я вообще-то не новичок в 1С), я поразбирался в проблеме, и выяснил в чем причина.
Давайте по шагам посмотрим, что нужно делать, может быть кому-то мой опыт сэкономит время.
1) Снимаем конфигурацию с поддержки, чтобы можно было что-то изменить
В стандартной поставке, конфигурация 1С:Бухгалтерия имеет настройку «конфигурация не редактируется и находится на поддержке поставщика». Это позволяет при обновлении конфигурации автоматически применить новые настройки, не задавая вопросов пользователю о необходимости сохранения внесенных нами изменений. В данном случае, мы хотим добавить новую роль с правами только на чтение, а при обновлении иметь возможность ее сохранить.
Для получения возможности изменения, нужно проделать следующее:
a) Запустите программу в режиме конфигуратора. Для этого при запуске 1С и появления списка баз, нажмите не на кнопку «Предприятие», которую Вы нажимаете обычно, а нажмите кнопку «Конфигуратор»:
b) Нужно зайти под пользователем, который имеет полные права в конфигурации. В демонстрационной базе это «Абдулов (гендиректор)».
c) Заходим в пункт меню «Конфигурация»-«Поддержка»-«Настройка поддержки»:
d) Включаем возможность изменения конфигурации при помощи кнопки «Включить возможность изменения»:
e) Изменяем режим порядка редактирования конфигурации с «Объект поставщика не редактируется» (картинка с замочком) на «Редактируется с сохранением поддержки» (картинка с желтым чемоданчиком, но без замка):
f) Это дает нам возможность добавить новую роль. Окно «Настройка поддержки» можно закрыть.
2) Добавляем новую роль с правами «только чтение»
a) Добавляем новую роль: Для этого откройте веточку «Общие», щелкните правой кнопкой мыши на раздел «Роль» и выберите «Добавить»:
b) Дадим новой роли какое-нибудь название по смыслу. Рекомендуется добавить к названию какой-нибудь префикс или суффикс, например сокращенное название Вашей фирмы (2-3 буквы), чтобы при появлении такой же роли в обновлении от 1С, новая роль не заместила Ваши настройки. Например, я назову новую роль «АудиторМоя» (обратите внимание, в поле «Имя» пробелы указывать нельзя, а в поле «Синоним» программа их сама поставит, если писать каждое слово с большой буквы):
c) Я хочу, чтобы новая роль давала доступ ко всем справочникам и документам, но только на чтение. Для упрощения этого процесса, я дам доступ не на каждый документ, а прямо на ветку «Справочники», «Документы», ну и еще нужно дать доступ на чтение в раздел «Константы»:
Я ставлю только галочку «Просмотр» (доступ на чтение через открытие документа/справочника), это действие также автоматически ставит галочку «Чтение» (доступ на чтение при обращении из программы):
d) В теории, этого достаточно, но нужно сделать еще несколько настроек, чтобы под этой ролью можно было зайти в программу. Чтобы при запуске программы не получать вот такое сообщение:
, в разделе «БухгалтерияПредприятия» поставьте право входить в режиме «Толстый клиент» (так на самом деле называется режим, в котором Вы обычно работаете):
Включите также право «Вывод», если Вы хотите чтобы этот пользователь мог формировать и печатать отчеты:
Соответственно – не предоставляйте право «Вывод», если пользователь должен только смотреть информацию в базе, а распечатывать и уносить с собой Вы ему не разрешаете.
e) А теперь начинается мистика: при попытке входа с установленными правами, мы получим сообщение:
Самое неприятное заключается в том, что ни в тексте этого сообщения, ни в журнале событий, нет причины, почему это происходит. После включения мозга и некоторых розысков в Интернет, ответ был найден. Фирма 1С почему-то решила, что для входа в систему пользователь должен обладать одной из ролей «Бухгалтер» или «Полные права». Остальные роли являются дополнительными к роли «Бухгалтер» и расширяют набор прав. К сожалению, обе эти роли позволяют пользователю изменять все или часть справочников и документов, поэтому для решения нашей задачи предоставление этих ролей недопустимо. «Вычитание» прав тоже не предусмотрено. Единственное решение – обозначить, что новой роли «АудиторМоя» достаточно для входа в систему. Для этого нужно будет внести изменение в одну строку программы. Откроем в дереве «Общие модули»:
, найдем модуль «Управление пользователями», откроем его двойным щелчком:
Откроем «+» текст процедуры «ПроверитьВозможностьРаботыПользователя». Есть два варианта:
f) простой – выключить проверку (закомментировать 6 строчек от «Если» до «КонецЕсли»):
g) аккуратный – добавить в проверку нашу новую роль «АудиторМоя» (подставьте Ваш название, оно должно точно совпадать с названием роли, как в дереве):
Внимание! Помните, что при обновлении конфигурации, этот текст будет заменен на первоначальный, поэтому менять эти строчки нужно после каждого обновления программы. Остальные настройки сохранены в роли, и повторять их не нужно.
h) Нужно добавить еще пару штрихов. Чтобы не получать сообщение:
, необходимо предоставить право на чтение веточки «Параметры сеанса»:
и право на запись в свойство «ТекущийПользователь» в этой ветке:
Сразу дадим право на запись параметра «ОбщиеЗначения», это тоже будет нужно:
i) Чтобы не получать сообщение:
предоставим доступ на чтение в регистр сведений «Настройки пользователей». Чтобы пользователь мог сохранять свои настройки отчетов, можно также предоставить ему доступ и на запись в этот регистр:
Чужие данные он испортить не сможет, так как работа с регистром в программе происходит автоматически, в зависимости от текущего пользователя, вошедшего в программу.
j) Программа выдает еще сообщения о необходимости добавить прав, добавляем:
k) Собранный набор прав уже позволяет войти в программу:
и открывать справочники и документы на просмотр:
, но в некоторым местах мы можем получать сообщения об ошибке, когда программа пытается в документах отобразить какие-то расчетные цифры:
l) Для того, чтобы задолженность контрагентов и прочие расчеты отображались в документах, а также предвидя следующий шаг, что пользователю наверняка понадобится доступ открывать и использовать отчеты, предоставим ему доступ на чтение к регистрам (где хранятся все цифры) и к отчетам:
Кроме того, дадим право пользователю на использование «интерфейсов», чтобы у него появилось полное меню:
m) При выходе из программы можно еще словить сообщение:
Чтобы его убрать, добавим доступ на запись в константу «ГотовностьПрограммыКРаботе»:
n) И устраним еще такое сообщение при выходе:
Добавим право на чтение планов обмена:
Все, на данном этапе настройки роли завершены, везде где нужно пускает, сообщений об ошибках не выдает.
o) Нужно сохранить конфигурацию, чтобы пользователю можно было назначить новую роль, иначе ее не покажет в списке доступных ролей. Нажмем кнопку «Сохранить конфигурацию» (нужно подождать пока программа запишет изменения, смотрите в строку статуса внизу окна программы) и затем «Обновить конфигурацию»:
Можно сохранять роль сколько угодно раз в процессе внесения изменений в правах, или добавить какие-то настройки позже.
3) Назначаем пользователю новую роль
a) Назначим роль существующему или новому пользователю. Для этого откроем пункт меню «Администрирование»-«Пользователи»:
b) Я добавлю нового пользователя и назову его «Аудитор»:
Пароль новому пользователю можно ввести прямо здесь (нужно ввести одинаковый в поля «Пароль» и «Подтверждение пароля»), или пользователь его установит потом сам в режиме «Предприятие» через пункт меню «Сервис»-«Параметры пользователя»:
c) Установим роль «Аудитор моя» на закладке «Прочие»:
«Основной интерфейс» и «Язык» можно не указывать, программа сама выберет по умолчанию. Для надежности укажу в качестве «Основного интерфейса» «Полный», чтобы мой аудитор видел все доступные справочники и документы. Сохраняем изменения кнопкой «Ок». При последующих изменениях в правах (если что-то пропустили и программа не запускается или выдает ошибки), пользователя можно уже не трогать, изменять и сохранять только роль, и заходить снова в режиме «Предприятие» под нужным пользователем.
4) Проверим как это работает
a) Запускаем 1С в обычном режиме «Предприятие»:
Заходим под новым пользователем «Аудитор» (я не назначал ему пароль, поэтому его не ввожу):
b) Ну, вроде все работает.
Если после обновления конфигурации фирма 1С добавит еще какие-то заморочки – добавьте нужные права в новую роль, анализируя выдаваемые ошибки. Я не зря показывал, какие могут возникать сообщения.
5) Используем новую роль повторно
a) Если Вам необходимо предоставить такие права нескольким пользователям – добавьте еще пользователей и укажите им эту же роль. Повторно роль создавать не нужно.
Успехов!