Как запретить копирование данных в буфер обмена из форм в 1С 8.3?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

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

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

1. Глобальное ограничение через Права Доступа (Роли)

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

В типовых конфигурациях, таких как Управление торговлей 11, ERP или Бухгалтерия предприятия, разработчиками уже создана специализированная профильная роль. Разберем, как ее использовать:

  1. Откроем режим Предприятия (или Конфигуратор) и перейдем в раздел настройки пользователей и прав.
  2. Найдем системную роль под названием Вывод на принтер, в файл, в буфер обмена.
  3. Скопируем профиль групп доступа сотрудника, создав новый (например, "Менеджер без права вывода").
  4. Исключим эту роль из нового профиля и назначим его "ненадежному" сотруднику.

Если мы применим этот метод, программа глобально запретит пользователю нажимать комбинации горячих клавиш Ctrl+C или Ctrl+Ins в любых списках. Кроме того, данная мера автоматически заблокирует печать таблиц и их сохранение в форматы Excel или PDF.

2. Блокировка команды «Вывести список» для конкретной формы

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

Чтобы этого избежать, выполним следующие действия в конфигураторе:

  1. Откроем форму нужного списка (например, форму списка справочника Контрагенты).
  2. Выделим элемент формы, представляющий собой основное табличное поле.
  3. В палитре свойств элемента найдем свойство Вывод.
  4. Установим это свойство в значение ИспользованиеВывода.Запретить.

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

3. Программный запрет создания дублей через копирование (клавиша F9)

Часто под термином "запрет копирования" руководство подразумевает не только буфер обмена Windows, но и программную невозможность создать новую карточку контрагента путем копирования уже существующей. Проанализируем ситуацию: нам нужно перехватить действие пользователя до того, как скопированная карточка будет открыта на экране.

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


&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    
    Если Копирование = Истина Тогда
        Отказ = Истина;
        Сообщить("Создание контрагентов путем копирования запрещено политикой безопасности!");
    КонецЕсли;

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

Благодаря этому условию система жестко заблокирует использование клавиши F9 и пункта меню "Добавить копированием", отменяя стандартную обработку действия.

4. Новые возможности платформы (начиная с релиза 1С:Предприятие 8.3.24)

Долгое время в 1С не было прямых платформенных методов работы с буфером обмена, и разработчикам приходилось использовать костыли вроде COM-объектов. Однако, если мы планируем использовать свежие релизы платформы, у нас появляются новые мощные инструменты. Рассмотрим подробнее.

Начиная с версии 8.3.24, разработчикам был добавлен встроенный объект клиентского приложения СредстваБуфераОбмена. Теперь у нас есть платформенные методы для асинхронного чтения и проверки данных в буфере:

  1. ИспользованиеДоступно() — позволяет проверить, разрешено ли текущему клиенту работать с буфером.
  2. СодержитДанныеАсинх() — проверяет наличие в памяти данных определенного формата.
  3. ПолучитьДанныеАсинх() — позволяет программно извлечь содержимое для проверки.

В перспективе грамотное применение объекта СредстваБуфераОбмена дает нам больше гибкости для контроля за тем, что именно попадает в оперативную память системы из интерфейса 1С.

5. Особенности работы ограничений через веб-клиент

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

Для полноценного копирования больших объемов текста в 1С через веб-клиент требуется установить Расширение для работы с файлами и криптографией. Если системный администратор компании на уровне домена принудительно запретит установку этого расширения в браузерах сотрудников, они столкнутся с серьезными техническими сложностями при попытке скопировать списки в системный буфер Windows. Это можно использовать как дополнительный контур защиты.

6. Комплексные меры: Защищенная платформа 1С:Предприятие 8.3z и настройки ОС

Если требования к безопасности в компании близки к параноидальным, встроенных средств типовой платформы может не хватить. В таких случаях рассмотрим применение сертифицированного ПО. Существует специализированная защищенная платформа 1С:Предприятие 8.3z (она обычно отстает от последней версии на пару-тройку релизов). В ней на базовом уровне жестко порезаны многие механизмы вывода информации.

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

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

Подведем итог: Техническая возможность запретить пользователям использование буфера обмена и массовый экспорт в 1С определенно есть. Самый быстрый и грамотный путь разработчика — снять галочку с системной роли вывода в буфер обмена и назначить пользователю урезанный профиль доступа. Это закроет программные пути утечки клиентской базы, после чего эстафету защиты можно передавать системным администраторам.

← На главную