Как ограничить доступ к проводкам и аналитике 70 счета в 1С:Бухгалтерия 3.0?

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

При работе в программе 1С:Бухгалтерия 8 (редакция 3.0) у руководства и администраторов часто возникает задача ограничить видимость персональных данных работников, начисленной заработной платы и выплат по счету 70 («Расчеты с персоналом по оплате труда») для рядовых бухгалтеров и операторов. Разберем, можно ли решить эту задачу типовыми настройками прав, почему стандартный механизм RLS не помогает в данном случае и как правильно организовать учет для защиты конфиденциальной информации.

Ограничения типового механизма RLS и конфигурации

Проанализируем архитектуру платформы 1С:Предприятие 8 и конфигурации 1С:Бухгалтерия 3.0. Запретить просмотр отдельных счетов или конкретных проводок исключительно штатными профилями и ролями пользователей невозможно по следующим причинам:

  1. Особенности RLS в регистре бухгалтерии: Ограничение доступа на уровне записей (RLS) в типовой конфигурации настраивается только по балансовым измерениям регистра бухгалтерии. Единственным балансовым измерением в 1С:Бухгалтерии 3.0 является Организация. Счет учета и субконто не выступают в роли балансовых измерений, поэтому штатный механизм RLS не позволяет отфильтровать записи регистра по счету 70 или субконто Сотрудники.
  2. Ограничение стандартных отчетов: Даже если заблокировать доступ к кадровым и зарплатным документам (например, начислениям зарплаты или ведомостям), бухгалтер с доступом к регистру бухгалтерии сможет увидеть персональные суммы с помощью стандартных отчетов — Оборотно-сальдовая ведомость по счету, Карточка счета, Анализ счета или Отчет по проводкам.
  3. Влияние ограничения доступа к физическим лицам: Попытка скрыть физических лиц через настройки прав доступа приводит к тому, что бухгалтер теряет возможность корректно оформлять приходные и расходные кассовые ордера, авансовые отчеты, доверенности и другие первичные документы, где требуется выбор подотчетного лица или материально ответственного лица (МОЛ).

Методически правильное решение: Сводный учет расчетов с персоналом

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

Рассмотрим порядок действий для настройки такого учета:

  1. Настройка выгрузки из 1С:ЗУП: В программе 1С:ЗУП настраиваем выгрузку документа Отражение зарплаты в бухучете без детализации по сотрудникам (сводно). При этом в проводках по дебету затратных счетов и кредиту счета 70 сумма выгружается общей величиной по подразделениям и способам отражения.
  2. Ведение учета в 1С:Бухгалтерии: В конфигурации 1С:Бухгалтерия 3.0 в настройках параметров учета указываем, что расчеты с персоналом ведутся сводно по всем работникам. В этом случае субконто Сотрудники на счету 70 не используется, и рядовые пользователи базы видят только общие обороты по заработной плате без привязки к конкретным фамилиям.

Обработка исторических данных в базе

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

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

  1. Создаем в справочнике Физические лица служебный элемент (например, Сотрудник (Сводно)).
  2. С помощью групповой обработки или специального внешнего скрипта выполняем замену конкретных физических лиц в проводках по счету 70 за прошлые периоды на созданного служебного контрагента/сотрудника.
  3. Закрываем прошлые периоды от изменений с помощью даты запрета редактирования.

Пример простейшей замены субконто в движениях документов на языке 1С:


Выборка = Документы.ОтражениеЗарплатыВБухучете.Выбрать(НачалоПериода, КонецПериода);
Пока Выборка.Следующий() Цикл
    ДокументОбъект = Выборка.ПолучитьОбъект();
    Для Каждого СтрокаИз Движения.Хозрасчетный Цикл
        Если Строка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда 
           Или Строка.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда Тогда
            // Заменяем аналитику по конкретному сотруднику на обобщенное физлицо
            Строка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Сотрудники] = СлужебныйСотрудник;
        КонецЕсли;
    КонецЦикла;
    ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;

Альтернативные технические методы скрытия проводок

Если специфика учета требует сохранения персонифицированных данных на счету 70 внутри 1С:Бухгалтерии 3.0, но доступ нужно ограничить конкретным пользователям, применяют доработки программы:

  1. Использование расширений конфигурации (.cfe): Разрабатывается расширение, которое перехватывает формирование стандартных отчетов (Оборотно-сальдовая ведомость, Анализ счета, Карточка счета) и скрывает строки, содержащие счет 70, для пользователей без определенной роли. Преимущество метода — конфигурация остается на типовой поддержке.
  2. Разделение учета по организациям: Если учет зарплаты руководства ведется на отдельном юридическом лице (или выделенном подразделении), в базе включается штатный RLS по организациям. Пользователям назначаются группы доступа, ограниченные только их рабочей организацией, что исключает просмотр данных по головной или руководящей компании.

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

← На главную