Как разрешить пользователю добавлять организации в 1С:Бухгалтерия 3.0 без прав администратора

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

В типовой конфигурации 1С:Бухгалтерия предприятия 3.0 (начиная с редакций 3.0.70 и выше) многие администраторы и разработчики сталкиваются с ситуацией, когда даже пользователю с профилем Главный бухгалтер недоступна кнопка «Создать» в справочнике Организации. На первый взгляд это кажется программной ошибкой, но на самом деле это осознанное ограничение прав доступа, заложенное разработчиками фирмы «1С».

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

Выясняем причину: почему кнопка «Создать» отсутствует

Давайте проанализируем ситуацию с точки зрения метаданных системы. В конфигурации БП 3.0 за работу со списком организаций отвечает справочник Организации. Если мы откроем роль РедактированиеСведенийОбОрганизациях, которая входит в профиль Главный бухгалтер, то увидим, что для данного объекта установлены права на Чтение, Просмотр и Редактирование, но право Добавление (Insert) и Интерактивное добавление намеренно сняты.

Почему так сделано? Создание новой организации в современной «Бухгалтерии» — это не просто появление новой записи в справочнике. Процесс влечет за собой автоматическую генерацию множества связанных настроек:

  1. Записи в регистрах сведений УчетнаяПолитика.
  2. Настройки методов оценки ТМЦ и способов распределения затрат.
  3. Настройки налогов и отчетов (УСН, ОСНО, Патент).
  4. Связи с классификаторами и создание предопределенных счетов (в некоторых случаях).

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

Решение №1: Использование механизма расширений (рекомендуемый способ)

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

Шаг 1. Создание расширения

Перейдем в Конфигуратор, откроем меню «Конфигурация» — «Расширения конфигурации» и создадим новое расширение. Назовем его, например, ПраваНаСозданиеОрганизаций. В назначении укажем «Адаптация».

Шаг 2. Добавление объектов в расширение

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

Шаг 3. Настройка прав в роли расширения

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

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

Шаг 4. Назначение роли пользователю

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

Решение №2: Использование внешних обработок с привилегированным режимом

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

Ключевым моментом здесь является использование метода УстановитьПривилегированныйРежим(Истина). Этот метод позволяет выполнять код без проверки прав текущего пользователя на конкретные объекты метаданных.

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


Процедура СоздатьОрганизациюНаСервере(ИмяОрг, ИНН, КПП)
    // Включаем привилегированный режим для обхода ограничений ролей
    УстановитьПривилегированныйРежим(Истина);
    
    НоваяОрганизация = Справочники.Организации.СоздатьЭлемент();
    НоваяОрганизация.Наименование = ИмяОрг;
    НоваяОрганизация.ИНН = ИНН;
    НоваяОрганизация.КПП = КПП;
    НоваяОрганизация.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;
    
    Попытка
        НоваяОрганизация.Записать();
        Сообщить("Организация успешно создана!");
    Исключение
        ТекстОшибки = ИнформацияОбОшибке().Описание;
        Сообщить("Не удалось создать организацию: " + ТекстОшибки);
    КонецПопытки;
КонецПроцедуры

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

Проверка функциональных опций

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

Проанализируем путь к этой настройке:

  1. Перейдем в раздел Главное.
  2. Выберем пункт Настройки — Настройки программы — Информационная база.
  3. Проверим наличие галочки на пункте Вести учет по нескольким организациям.

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

Проблема RLS (Ограничение доступа на уровне записей)

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

Если в базе включен механизм RLS (Ограничение доступа по организациям), то пользователь видит только те объекты, которые явно прописаны в его группе доступа. Новая организация, которую он только что создал, еще не добавлена в список разрешенных для него организаций в настройках группы доступа.

Как решить проблему RLS:

Резюме и рекомендации

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

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

← На главную