Чужие глаза не увидят: прячем документы и реквизиты в 1С 8.3

· 10 мин

Содержание

Надёжно скрыть документ в 1С от другого пользователя можно только правами: убрать у него доступ к виду документа через профиль группы доступа (Администрирование → Настройки пользователей и прав → Группы доступа) или включить ограничение доступа на уровне записей, чтобы он не видел документы чужой организации. Отбор в списке и скрытие полей через Еще → Изменить форму только убирают документ или реквизит с экрана: данные остаются доступны в отчётах.

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

Что и от кого прячем: сравнение способов

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

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

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

Прежде чем что-то менять в правах, проверьте, под кем работают люди. Если в базе один общий пользователь «Бухгалтер» на троих, ни один способ не сработает. Сначала заведите каждому свою учётную запись в Администрирование → Настройки пользователей и прав → Пользователи.

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

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) права не назначают ролями напрямую. Роли собраны в профили групп доступа, а пользователя включают в группу доступа с нужным профилем. Итоговые права — сумма всех групп, в которые он входит.

Как убрать вид документа у пользователя

  1. Откройте Администрирование → Настройки пользователей и прав → Профили групп доступа.
  2. Найдите профиль, который назначен сотруднику. Поставляемые профили менять нельзя, поэтому скопируйте его командой копирования в списке.
  3. В копии на закладке ролей снимите флажки с ролей, которые дают доступ к нужному документу. Названия ролей обычно содержат имя объекта, например «Добавление и изменение…» или «Чтение…» плюс название документа или подсистемы.
  4. Запишите профиль.
  5. Откройте Группы доступа, создайте группу с новым профилем и включите в неё сотрудника.
  6. Исключите сотрудника из старой группы, где профиль давал больше прав.

Пункт 6 забывают чаще всего. Права в 1С складываются: если человек остался в группе «Бухгалтер», запрет в новом профиле ничего не изменит.

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

  • 👤 Откройте карточку пользователя и перейдите по ссылке «Права доступа » — там видно, какие роли и группы действуют.
  • 🔑 Зайдите в базу под этим пользователем на тестовой копии и попробуйте открыть журнал документа.
  • 📊 Постройте ОСВ по счёту, на который документ делает движения. Сумма останется видна, если у пользователя есть доступ к регистру бухгалтерии.

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

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

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

Порядок настройки

  1. В Администрирование → Настройки пользователей и прав установите флажок «Ограничивать доступ на уровне записей».
  2. Откройте Группы доступа и выберите группу сотрудника.
  3. В группе появится закладка с видами доступа. Для вида «Организации» укажите вариант «Разрешены выбранные» и добавьте нужные организации.
  4. Запишите группу и проверьте доступ под пользователем.

Набор видов доступа зависит от конфигурации. В Бухгалтерии 3.0 основной вид — по организациям. В ЗУП 3.1 есть ещё ограничение по подразделениям и группам физических лиц, что удобно для зарплаты топ-менеджмента. В УТ 11 видов больше: склады, группы партнёров и другие.

Что учесть до включения

  • 🐢 На больших базах первое включение запускает обновление служебных данных доступа. Это может занять время, а пользователи в процессе увидят неполные списки. Включайте вечером.
  • 🔄 Документ без заполненной организации попадёт под ограничение непредсказуемо: проверьте, что ключевой реквизит заполнен во всех документах.
  • 👥 Если сотрудник состоит в двух группах и в одной из них организации не ограничены, ограничения не будет.

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

Скрыть документы в журнале через отбор и настройки списка

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

Быстрый отбор

  1. Откройте журнал документов , например «Реализация (акты, накладные)».
  2. Нажмите Еще → Настроить список.
  3. На закладке «Отбор» добавьте условие. Примеры:
    • «Дата» больше или равно началу текущего квартала;
    • «Организация» равно нужной фирме;
    • «Контрагент» не в списке тех, кого хотите убрать;
    • «Пометка удаления» равно «Нет».
  4. Нажмите «Завершить редактирование».

Настройка сохранится только для вас и только для этого списка. У коллег журнал не изменится.

Отбор по комментарию

Бывает, что скрыть нужно конкретные документы, а общего признака у них нет. Пометьте их одним словом в поле «Комментарий», например #архив. Затем в отборе задайте «Комментарий» — «Не содержит» — #архив.

Отбор — не защита. Достаточно нажать «Стандартные настройки» в меню Еще, и все документы вернутся в список.

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

Скрытие отдельных полей и реквизитов документа

Иногда документ нужен всем, но одно поле лишнее: закупочная цена в реализации, комментарий руководителя, сумма премии. Есть два уровня решения.

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

  1. Откройте документ.
  2. Нажмите Еще → Изменить форму.
  3. В дереве элементов снимите флажок у поля, которое нужно убрать.
  4. Нажмите «ОК».

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

Так же скрывают колонки табличной части: в дереве они лежат внутри узла таблицы «Товары», «Услуги» и т.д.

Чем это плохо

  • 👁 Пользователь сам вернёт поле обратно через ту же команду.
  • 🖨 Значение попадёт в печатную форму, если оно там есть.
  • 📋 Реквизит виден в отчётах с произвольной настройкой и при выводе списка через Еще → Вывести список.

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

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

Частый запрос звучит так: «скрыть документ, чтобы он не попадал в отчёты, но не удалять». Здесь два пути, и они очень разные по последствиям.

Отменить проведение

Непроведённый документ не делает движений по регистрам. Значит, его нет в ОСВ, карточке счёта, отчётах по продажам и в декларациях.

  1. Выделите документ в журнале.
  2. В меню Еще выберите «Отмена проведения».

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

Чтобы случайно не изменить старые периоды, установите дату запрета изменения данных. Найдите её в разделе Администрирование: в Бухгалтерии 3.0 она находится в настройках проведения документов. После этого документы до этой даты не перепровести и не отменить без отдельного права.

Пометка удаления

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

Перенести документы в архивную базу

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

  1. Выгрузите полную копию в .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Делайте выгрузку, когда в базе никто не работает , чтобы копия была согласованной.
  2. Загрузите копию в новую базу и назовите её понятно, например «Архив 2023».
  3. Ограничьте доступ к архиву: в архиве оставьте только нужных пользователей, а на сервере закройте доступ к папке файловой базы правами Windows.
  4. В рабочей базе удалите или сверните старые документы. В Бухгалтерии 3.0 для этого есть обработка свёртки информационной базы в Администрирование → Обслуживание. Она переносит остатки на дату свёртки и удаляет документы до неё.

Свёртку запускайте только на копии или после проверенной резервной копии. Процесс долгий и необратимый: удалённые документы вернёт только архив.

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

Скрыть документ программно: расширение и код

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

Своя роль для доступа к полю

В расширении можно создать роль и в ней выдать права на документ без права просмотра отдельных реквизитов. Права на реквизиты настраиваются в редакторе роли: у реквизита снимается флажок «Просмотр».

Порядок:

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

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

Скрыть поле в форме по условию

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

&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

	// Поле видят только пользователи с ролью из расширения
	Элементы.Комментарий.Видимость = РольДоступна("Расш1_ПросмотрКомментария");

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

Имя элемента формы (Комментарий) посмотрите в редакторе формы: оно не всегда совпадает с именем реквизита.

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

Свой шаблон ограничения

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

Что вам нужно сделать с документом?

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

Видит ли администратор скрытые документы?
Да. Пользователь с полными правами видит всё в базе, ограничения на него не действуют. От администратора документ спрячет только отдельная база, к которой у него нет доступа.
Можно ли скрыть документ от пользователя в файловой базе?
Права в 1С работают и в файловом варианте. Но тот, у кого есть доступ к папке базы, может скопировать файл 1Cv8.1CD и открыть его в другой среде. Для чувствительных данных закройте папку правами Windows.
Скрытый документ попадёт в регламентированную отчётность?
Если он проведён — да. Ограничения прав влияют на то, что видит пользователь, а не на то, что программа учитывает. Отчёт за организацию собирает все её движения.
Почему после настройки профиля сотрудник всё ещё видит документ?
Он остался в другой группе доступа с более широким профилем. Откройте у пользователя отчёт о правах доступа и посмотрите все группы, в которые он входит.
Сохранится ли скрытие после обновления конфигурации?
Настройки списков, форм, групп и профилей доступа сохраняются. Расширение после обновления стоит проверить: если в форме переименовали элемент, обработчик выдаст ошибку.