Одной из самых чувствительных тем в области информационной безопасности предприятия является конфиденциальность данных о заработной плате. Часто возникает ситуация, когда рядовым бухгалтерам или другим пользователям системы 1С необходимо видеть общие обороты по предприятию, но при этом нельзя допускать возможности «проваливания» до первичных документов или просмотра детализации по конкретным сотрудникам на 70 счете (Расчеты с персоналом по оплате труда).
В этой статье мы подробно разберем, почему стандартные механизмы защиты иногда оказываются бессильны и какими методами можно эффективно ограничить доступ к информации о зарплате, сохранив при этом работоспособность базы.
Рассмотрим сначала техническое ограничение системы. В 1С:Предприятии существует мощный механизм RLS (Record Level Security) — разграничение доступа на уровне записей. Казалось бы, логично настроить его так, чтобы он скрывал записи, где в поле «Счет» указан 70-й. Однако на практике в типовой 1С:Бухгалтерии 8 это реализовать крайне сложно по следующим причинам:
Организация. Бухгалтерский счет является реквизитом (или ресурсом), а не измерением, на которое легко наложить фильтр доступа.Проанализировав ситуацию, мы приходим к выводу, что проблему нужно решать не «запретом на чтение», а изменением архитектуры хранения данных.
Самый эффективный и рекомендуемый методистами 1С способ — это ведение учета по 70 счету сводно. Разберем по шагам, как это работает и как это настроить.
Идея заключается в том, что детальный расчет зарплаты (по каждому сотруднику, с учетом больничных, отпусков и премий) ведется в специализированной базе 1С:ЗУП (Зарплата и управление персоналом). В бухгалтерскую же базу данные передаются только общими суммами по подразделениям.
Как настроить сводный учет в 1С:Бухгалтерии:
Выясним, что происходит в системе после включения этой настройки. На плане счетов для счета 70 отключается субконто Работники организации. Это означает, что в любой проводке, будь то начисление или выплата, аналитика «Сотрудник» просто исчезает. Вместо фамилий в документах и отчетах будет фигурировать обобщенное значение «Сотрудники организации».
Прежде чем менять настройки, проанализируем последствия, так как это действие может иметь необратимый характер для данных текущего периода:
Если бизнес-процессы требуют сохранения детального учета в бухгалтерии, но вы хотите запретить пользователям открывать первичные документы из отчетов (то самое «проваливание»), можно воспользоваться механизмом расширений. Рассмотрим пример логики, которую может реализовать программист.
Нам нужно перехватить событие обработки расшифровки в стандартных отчетах (например, в ОСВ или Карточке счета). Мы можем создать расширение и добавить код, который будет проверять, к какому счету относится выбранная строка.
// Пример логики в расширении для формы отчета
&НаКлиенте
Процедура Расширение_РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
ПеременнаяДанные = ПолучитьДанныеРасшифровки(Расшифровка);
// Проверяем, есть ли в данных расшифровки упоминание 70 счета
Если ПеременнаяДанные.Счет = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда Тогда
СтандартнаяОбработка = Ложь;
Предупреждение("У вас недостаточно прав для просмотра детализации по данному счету!");
КонецЕсли;
КонецПроцедуры
Этот метод позволяет пользователю видеть общую сумму в отчете, но блокирует открытие карточки счета или конкретного документа при двойном клике.
Разберем ситуацию, когда мы закрыли 70 счет, но информация все равно «просачивается». Проанализируем другие разделы учета, где фигурируют зарплатные данные:
Отражение зарплаты в бухучете. Если он загружается из ЗУП с детализацией по сотрудникам (даже если проводки потом схлопываются), пользователь с правами на просмотр этого документа увидит весь список фамилий и сумм. Чтобы этого избежать, в настройках синхронизации в ЗУП обязательно нужно выбрать вариант «Сводно по сотрудникам».Показывать счета учета в документах. Это психологическая мера, которая убирает лишние колонки из документов, не ограничивая при этом права доступа.Подводя итог, можно сказать, что «серебряной пули» в виде одной галочки «Скрыть 70 счет» не существует. Мы рекомендуем комбинированный подход:
Посмотрим на ситуацию реально: если пользователю разрешено формировать оборотно-сальдовую ведомость, он так или иначе видит финансовое состояние компании. Наша задача — максимально усложнить получение доступа к персональным данным, не нарушая при этом целостность бухгалтерского учета.