Лишние разделы, команды и код в 1С 8.3: пять способов убрать их от пользователей

· 10 мин

Содержание

Чтобы скрыть модуль в 1С 8.3, чаще всего достаточно забрать у пользователя права на его объекты: раздел (подсистема), в котором человеку не доступна ни одна команда, платформа не показывает вовсе. Если права трогать нельзя, раздел убирают через Главное меню → Вид → Настройка панели разделов, а в доработанной конфигурации — через командный интерфейс или код.

Типичная ситуация: в базе Бухгалтерии работают кассир и кладовщик, а у них на панели висят «Зарплата и кадры», «ОС и НМА» и «Администрирование». Отвлекает, а кто-то из любопытства открывает чужие документы. Ниже — способы скрыть ненужные модули без удаления, от самого безопасного к самому трудоёмкому.

Под «модулем» в 1С понимают разное. Для пользователя это раздел на панели слева или отдельная функция. Для разработчика — модуль программного кода. Разберём оба смысла.

Какой способ скрытия выбрать: сравнение

Сначала определитесь, от кого и насколько надёжно надо спрятать модуль. Одни способы только убирают значок, другие реально закрывают доступ.

СпособКому подходитЗакрывает доступ к даннымНужен КонфигураторРиски
Права и профили групп доступаАдминистратору типовой базыДаНетМожно отрезать нужный отчёт
Функциональные опцииВсей базе сразуЧастично (функция выключена)НетПропадает у всех, включая главбуха
Настройка панели разделовОдному пользователюНетНетПользователь вернёт сам
Командный интерфейс по ролямРазработчикуНет, только видимостьДаСнятие с поддержки, сложнее обновления
Код и расширенияРазработчикуЗависит от реализацииДаОшибки в коде, пересборка после обновлений
Поставка без исходных текстовАвтору тиражного решенияСкрывает код, а не разделДаСами не сможете отлаживать

Если цель — «чтобы не видел и не мог открыть», работайте правами. Настройка интерфейса прячет раздел только визуально: пользователь найдёт документ через поиск или ссылку из отчёта.

Способ 1. Скрыть раздел 1С через права доступа

Это самый безопасный метод для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11. Конфигурацию менять не нужно, обновления ставятся как обычно.

Принцип простой. Раздел — это подсистема. Платформа показывает её, только если у пользователя есть право хотя бы на одну команду внутри. Нет прав на объекты «Зарплаты и кадров» — раздел исчезает сам.

Как настроить в Бухгалтерии 3.0

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите в Профили групп доступа. Посмотрите, какие профили назначены сотруднику. Например, у кассира может стоять полный «Бухгалтер» — отсюда и лишние разделы.
  3. Подберите профиль уже: в списке есть готовые, например «Кассир», «Только просмотр». Если готового нет — скопируйте близкий профиль и снимите в нём лишние роли.
  4. Откройте Группы доступа, создайте группу с этим профилем и добавьте туда пользователя.
  5. Уберите пользователя из группы с широким профилем. Иначе права сложатся, и раздел останется.
  6. Попросите сотрудника перезайти в программу. Состав панели пересчитывается при входе.

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

Как проверить результат

Под администратором зайдите в карточку пользователя и откройте его права (в БСП есть отчёт о правах доступа, команда в карточке пользователя). Ещё надёжнее — войти под этим пользователем в тестовой копии базы и пройтись по панели разделов.

Проверка после урезания прав
Выполнено: 0 / 5

Способ 2. Отключить модуль функциональными опциями

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

В типовых конфигурациях это делается флажками функциональности:

  • 🔧 в Бухгалтерии 3.0 — Администрирование → Функциональность; на вкладках снимают флажки ненужных участков учёта;
  • 🔧 в ЗУП 3.1 и УТ 11 похожие флажки разнесены по настройкам разделов в Администрирование (в ЗУП часть — в Настройка).

Когда опция выключена, платформа скрывает связанные с ней команды, реквизиты и формы. Если в подсистеме не осталось видимых команд, раздел пропадает с панели.

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

Этот способ хорош для упрощения интерфейса небольшой фирмы. Для разграничения между сотрудниками он не годится — для этого способ 1.

Способ 3. Скрыть модуль в настройке интерфейса пользователя

Самый быстрый вариант. Работает в любой конфигурации на управляемых формах, не требует прав администратора и не меняет конфигурацию.

Убрать раздел с панели

  1. Нажмите на значок главного меню (три полоски или стрелка в левом верхнем углу).
  2. Выберите Вид → Настройка панели разделов.
  3. В списке «Выбранные разделы» выделите ненужный и перенесите его влево кнопкой со стрелкой.
  4. Нажмите «ОК».

Раздел исчезнет только у текущего пользователя и только на этом рабочем месте.

Убрать команды внутри раздела

Если сам раздел нужен, но в нём лишние пункты:

  1. Откройте раздел.
  2. В правом верхнем углу панели функций нажмите на шестерёнку (Настройка навигации).
  3. Перенесите лишние команды из выбранных в доступные.

Так же настраиваются панели в главном меню: Вид → Настройка панели навигации, Настройка панели действий.

Раздать настройку другим сотрудникам

Настраивать каждому вручную долго. В конфигурациях на БСП есть копирование настроек: Администрирование → Настройки пользователей и прав → Копирование настроек. Настраиваете интерфейс у одного пользователя, затем копируете внешний вид другим.

У этого способа одна слабость: пользователь может вернуть раздел сам через ту же настройку. Если это критично, сочетайте его с ограничением прав.

Способ 4. Скрыть подсистему через Конфигуратор

Метод для тех, у кого конфигурация уже доработана или своя. Он позволяет задать видимость разделов по ролям для всех сразу.

Видимость разделов по ролям

  1. Откройте базу в Конфигураторе.
  2. В дереве конфигурации вызовите контекстное меню на корневом элементе и выберите Открыть командный интерфейс конфигурации.
  3. В открывшейся таблице перечислены подсистемы верхнего уровня. Колонка «Видимость» задаёт видимость по умолчанию, рядом — колонки по ролям.
  4. Снимите флажок видимости у раздела для нужной роли.
  5. Сохраните и выполните Конфигурация → Обновить конфигурацию базы данных (F7).

Аналогично настраивается состав команд внутри подсистемы: в свойствах подсистемы откройте её командный интерфейс.

Убрать раздел из интерфейса полностью

У каждой подсистемы есть свойство Включать в командный интерфейс. Снимите флажок — раздел не будет показан на панели ни у кого. Объекты подсистемы при этом остаются и работают.

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

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

Способ 5. Программное скрытие и защита кода модулей

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

Скрыть элементы формы по роли

В модуле формы, в обработчике ПриСозданииНаСервере:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	ЕстьПраво = РольДоступна("ПолныеПрава");
	Элементы.ГруппаСебестоимость.Видимость = ЕстьПраво;
	Элементы.ФормаПерепровести.Видимость = ЕстьПраво;

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

Имена ГруппаСебестоимость и ФормаПерепровести здесь условные. Подставьте имена элементов из дерева вашей формы.

Для обработки целиком можно запретить открытие:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	Если Не РольДоступна("ПолныеПрава") Тогда
		Отказ = Истина;
	КонецЕсли;

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

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

Расширение вместо правки типовой

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

  1. В Конфигураторе: Конфигурация → Расширения конфигурации, добавьте новое расширение.
  2. Заимствуйте нужную форму из основной конфигурации.
  3. В расширении добавьте обработчик ПриСозданииНаСервере и задайте видимость элементов.
  4. Сохраните расширение и обновите конфигурацию базы данных.

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

Скрыть исходный текст модуля

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

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

Как спрятать стандартные разделы: «Администрирование», «Главное»

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

  • 🔒 «Администрирование». В БСП доступ к нему дают роли администратора. Пользователю без административного профиля раздел не показывается. Если видите его у бухгалтера — у него лишний профиль.
  • 🏠 «Главное» и начальная страница. Раздел можно убрать через Настройку панели разделов. Состав начальной страницы меняют в Вид → Настройка начальной страницы.
  • 📋 Главное меню (Файл, Сервис, Справка). Команды платформы вроде «Все функции» управляются правами. Пункт «Все функции» включается в параметрах программы через главное меню. Обычному сотруднику его лучше не включать: через него открываются объекты, которых нет на панели.
  • 🧩 Встроенные подсистемы БСП. Многие служебные функции (например, интернет-поддержка, обмены) скрываются флажками функциональности, а не правкой ролей.

Для внешних обработок и отчётов из Дополнительных отчётов и обработок видимость задаётся в их карточке: там указывают, в каких разделах размещать команду и каким пользователям она доступна.

Ошибки при скрытии модулей

Список того, на чём спотыкаются чаще всего:

  • ❌ Убрали роль — перестал проводиться документ. Роли в типовых связаны: документ при проведении читает справочники и регистры из других разделов. После урезания прав проверяйте полный цикл работы сотрудника.
  • ❌ Правили роль в типовой, а не профиль. Изменённая вручную роль слетает при обновлении или мешает ему. В типовых базах права меняют профилями групп доступа.
  • ❌ Полагались на интерфейс как на защиту. Раздел скрыт, но данные открываются через поиск или навигационную ссылку.
  • ❌ Отключили функциональную опцию у всех. Хотели убрать у одного, а потеряли у главбуха.
  • ❌ Не перезашли в программу. Права и состав панели применяются при новом входе. Изменения «не работают», пока сеанс открыт.
  • ❌ Проверили под администратором. У полных прав видно всё. Тест делайте под учётной записью сотрудника.
Диагностика: выберите симптом

Частые вопросы

Можно ли скрыть раздел только для одной организации в базе?
Скрыть раздел целиком по организации нельзя. Можно ограничить доступ к данным организации на уровне записей: в группе доступа задают, к каким организациям есть доступ. Раздел останется, но чужих документов в нём не будет.
Скрытие модуля ускоряет работу программы?
Почти нет. Функциональные опции немного разгружают формы, но на скорость проведения и отчётов скрытие разделов заметно не влияет.
Сохранятся ли настройки панели разделов после обновления?
Пользовательские настройки интерфейса обычно сохраняются. Если в новом релизе появился новый раздел, он может добавиться на панель, и его придётся скрыть ещё раз.
Видит ли скрытый раздел администратор?
Да. У профиля с полными правами доступны все объекты, поэтому разделы, скрытые правами, у администратора остаются. Скрытие настройкой панели действует только на ту учётную запись, где его сделали.
Как вернуть скрытый раздел?
Тем же путём: перенесите его обратно в Настройке панели разделов, включите флажок функциональности или верните пользователя в группу доступа с нужным профилем.