При необходимости заказать разработку сложного отчета или доработку системы у стороннего специалиста, перед владельцем бизнеса или администратором базы встает серьезная дилемма. С одной стороны, программисту нужны реальные данные для тестирования алгоритмов и проверки корректности цифр. С другой стороны, база содержит коммерческую тайну: списки клиентов, цены, объемы продаж и персональные данные сотрудников. В этой статье мы разберем по шагам, как подготовить информационную базу так, чтобы специалист смог выполнить работу, не получив доступа к лишней информации.
Это самый безопасный метод, который полностью исключает утечку информации, так как в передаваемом файле содержится только структура базы данных (метаданные), но нет ни одной записи в справочниках или документах. Рассмотрим, как это сделать:
Конфигурация — Открыть конфигурацию (если она еще не открыта).Конфигурация — Сохранить конфигурацию в файл.....cf.После этого разработчик сможет создать пустую базу у себя, загрузить ваш файл и увидеть все объекты. Однако проанализируем ситуацию: на пустой базе отчет не выдаст никаких данных. Программисту придется вручную создавать тестовых контрагентов и документы. Это значительно увеличивает время работы и может привести к ошибкам, если структура данных в вашей базе специфична.
Если нам нужно оставить структуру данных и связи между документами, но скрыть реальные названия и суммы, мы можем воспользоваться встроенным инструментом Групповая обработка объектов. Разберем, как изменить наиболее ценную информацию:
Сначала создадим копию базы. Никогда не проводите эти действия в рабочей базе! В копии выполним следующие действия:
Контрагенты и массово изменим их наименования на «Тестовый клиент 1», «Тестовый клиент 2» и так далее.РеализацияТоваровУслуг) можно изменить суммы, используя несложные алгоритмы или умножение на случайный коэффициент.Пример логики для подмены наименований (условный код для обработки):
Выборка = Справочники.Контрагенты.Выбрать();
Счетчик = 1;
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
Объект.Наименование = "Контрагент № " + Счетчик;
Объект.НаименованиеПолное = "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ № " + Счетчик;
Объект.ИНН = "0000000000";
Объект.Записать();
Счетчик = Счетчик + 1;
КонецЦикла;
Проанализируем профессиональный подход. Фирма «1С» предлагает специальный продукт для обезличивания данных. В отличие от ручной правки, этот инструмент гарантирует сохранение ссылочной целостности. Это означает, что если вы замените Ивана Иванова на Петра Петрова, то эта замена пройдет корректно во всех документах, где этот сотрудник фигурирует. Рассмотрим преимущества этого метода:
Выясним причину, почему иногда не стоит отдавать всю базу, даже «покоцанную». Если отчет касается только одного склада или одного подразделения, логично передать только эти данные. С помощью конфигурации Конвертация данных можно настроить выгрузку:
Номенклатура и документы по складу Основной).В результате программист получит компактную базу объемом в несколько мегабайт, которая быстро открывается и содержит только необходимый минимум информации.
Если база слишком велика или данные настолько чувствительны, что их нельзя выносить за периметр компании, рассмотрим вариант удаленной работы. Разработчик подключается через AnyDesk, TeamViewer или RDP к вашему компьютеру.
Важный нюанс: при таком подходе специалист видит реальные данные. Чтобы обезопасить себя, можно использовать механизм RLS (Row Level Security). Настроим для учетной записи программиста права доступа так, чтобы он видел только тестовую организацию или ограниченный набор документов. Однако помните, что если вы даете права Администратор или доступ в Конфигуратор, опытный специалист сможет обойти эти ограничения.
Независимо от выбранного технического способа, работа с внешним исполнителем должна сопровождаться юридическими гарантиями. Посмотрим на этот вопрос с точки зрения законодательства. Обычного договора оказания услуг недостаточно. Необходимо:
Рассмотрев все варианты, мы рекомендуем следующий алгоритм действий:
1. Если отчет простой (печатная форма) — достаточно передать .cf файл конфигурации.
2. Если отчет сложный и требует анализа движений — используйте копию базы, в которой предварительно пройдетесь Групповой обработкой объектов по справочникам Контрагенты, ФизическиеЛица и Организации.
3. Если вы постоянно работаете с внешними разработчиками — выделите время на создание эталонной демо-базы, в которой будут настроены все константы и учетная политика, но загружены только вымышленные данные. Это сэкономит ваше время и деньги в долгосрочной перспективе, так как «кроилово ведет к попадалову» — попытка сэкономить на подготовке базы часто приводит к тому, что программист тратит оплачиваемые часы на разгадывание ребусов в «испорченных» данных.