Как обезличить базу 1с
Существует достаточно много обработок для обезличивания баз данных. Некоторые универсальны, некоторые ориентированы на конкретные объекты метаданных. Предлагаю простое, понятное и прозрачное, а главное - легко модифицируемое решение, которое универсально подходит для обезличивания любой базы и требует минимум навыков.
Речь идёт об использовании системы "Конвертация данных 2". Суть проста - всю черновую работу по чтению, записи, модификации данных берёт на себя штатный механизм, а разработчику остаётся только указать места, где требуется обезличивание. При этом всё управляемо и без подвохов - не нарушатся ссылки, логическая целостность, не пострадает функциональность. Главное - указать объекты и поля, которые обезличить. И весь инструментарий КД к нашим услугам.
Идея проста: создаём конвертацию, берём копию базы (ну или не копию), из неё выгружаем в файл и обратно в неё же загружаем этот файл, и готово. Итак:
1. Выгружаем описание нужной базы, создаём конвертацию, в качестве источника и приёмника указываем одну и ту же конфигурацию.
2. При необходимости, параметрами определяем объекты, подлежащие обезличиванию (опять же, их удобно будет указать в пользовательском режиме средствами отбора и периода в Универсальном обмене XML). Тут, очевидно, можно по-всякому - и через собственные произвольные выборки, и стандартными запросами, смотря по конкретике задачи. Хоть принудительно "ВыгрузитьДанныеПоПравилу", хоть как. Например, определив массив:
3. Поскольку база одна и та же, смело используем стыковку по GUID. Если под обезличивание попадают поля, уникально идентифицирующие элемент данных, то это единственный надёжный способ, поэтому флаг продолжения поиска выключаем (казалось бы - зачем? а затем, что битые ссылки иногда вынуждают КД продолжить поиск уже по ключевым полям).
4. Обезличиваем нужные реквизиты нужных объектов любым нравящимся способом - например, сделать наименования равными кодам:
С тем же успехом можно:
Простор для фантазии)
5. При необходимости обрабатываем не только справочники, документы и независимые регистры сведений, но и константы, если они простых типов:
6. Если в базе есть регистры и прочие вторичные данные, чьи поля простых типов зависят от неких операций (обычно от проведения документов), то перепроводим:
7. И только со значениями перечислений трудновато, разве что, исходя из точного понимания механизма, действительно аккуратно подменить на некое обезличенное значение, например:
Ещё можно перекидывать через ПараметрыОбъекта, тогда с любыми данными полная свобода манёвра, но больше хлопот.
Всё. Принцип я описал, конкретных реализаций возможна масса. При обезличивании проводящихся документов не забывайте отключать и затем включать итоги.
Логирование, отладка - всё уже есть штатно.
Замечу, что таким же образом можно шифровать и затем дешифровать содержимое баз. Достаточно сделать две конвертации - одна будет зашифровывать, хешировать, как-либо ещё преобразовывать данные, выгружая в файл. Затем файл передаём, хоть по незащищённому каналу. Затем вторая конвертация согласно принципам шифровки грузит из файла в базу.
Обработка презназначена для обезличивания данных в справочниках базы данных, если база передается стороннему контрагенту или разработчику. Подходит для любой конфигурации на Управляемых формах. Тестировалось на самописных конфигурациях. 1С:Предприятие 8.3 (8.3.18.1334)
Очень часто для демонстрации конфигурации, базы данных для разработки, для передачи для нужд разрабочиков требуется обезличить данные в базе.
Именно для этого создана данная обработка.
Вне зависимости от типа базы, она проходит по всем справочникам, которые есть в конфигурации, вы выбираете, какие справочники и реквизиты нужно обезличить.
Если реквизит текстовый, то он обезличится простым текстом с указанием кода.
Если Дата - поставит дату 01.01.2000.
Если числовое, то поставит 0.
Табличные Части не обрабатываются.
ВНИМАНИЕ! Проверьте что запускаете обработку, ТОЛЬКО НА ДУБЛИКАТЕ базы.
Тестировалось на самописных конфигурациях. 1С:Предприятие 8.3 (8.3.18.1334)
Со своими задачими справлялась на все 100%.
Специальные предложения
А в чем отличие (или преимущество от типовой) от 1С)?
(1) а что-то я не в курсе был, что за обработки такие - напишите о них, чтобы не скачивать и не тестить.
1с даже не соизволили картинки приложить к своим обработкам и мало-мальский обзор написать.
(1) В нашем случае Конфигурация самописная, полностью с нуля.
Я пытался запустить обработку, но она начала выдавать ошибки, поэтому было решено самому написать то, что нужно + немного универсальности на будущее для других наших конфигураций.
Основное преимущество это простота и универсальность, доступная даже для начинающих разработчиков.
В самом коде можно легко разобраться и понять где находится момент изменения данных, и скорректировать под себя как называть и менять значение реквизита при выполнении кода.
(4) идея хорошая. Но для этого нужно:
- чтобы у вас была установлена конфигурация КД,
- в вашей конфигурации должен быть модуль универсального обмена,
- у вас есть время для того выгрузить файл, написать правила обмена
- выгрузить файл с данными и загрузить обратно.
Если к этому добаить что:
- конфигурация очень динаминая и дорабатывается регулярно,
- меняются реквизиты и объекты, которые чувствительны к конфиденциальности.
То писать правила и выгружать данные займет много времени.
Данная обработка удобна, когда в команду входит новый разработчик и надо развернуть базу у него, но при этом все конфиденциальные данные скрыть.
Или надо передать базу 3му лицу для анализа каких либо данных, работоспособности и т.д. - тут достаточно скопировать базу, запустить обработку почистить и передать.
Именно для для таких ситуация удобна данная обработка.
Опишу свою ситуацию:
В нашей ситуации нужна была демонстрация работы базы по ZOOM потенциальным клиентам. Причем она работает только когда сделано много настроек и есть объем данных на 3 месяца.
Как это сделать за 1 вечер? Пришлось делать копию и делать обработку, которая скрывала личные и персональыне данные.
На демонтрации люди не видели и не имели представления о конкретной Организации пример которой был показан.
Это время в разы меньше времени на написание собственной обработки - выборки, отборов, механизма записи.
Это также сопоставимо со временем тестирования собственной обработки, только потрачено на другое будет.
конфигурация очень динаминая и дорабатывается регулярно, меняются реквизиты и объекты, которые чувствительны к конфиденциальности
Единственный реальный довод в пользу универсальной собственной обработки. С этим согласен.
Я сперва применял обфускацию средствами КД тоже для клиентов, но потом решили, что сделать демку один раз проще. Потом применял для партнёрских и субподрядных контор, чтобы они могли оценить объём работ, и вот тут подход себя оправдал на 100%
skype: live:di-sem
@programmist_1C
Обезличивание информации в базе 1С. Изменение конфиденциальной информации 1С.
Чтобы было понятно о чем обработка приведу пример.
Справочники контрагенты и номенклатура до обезличивания:
Справочники контрагенты и номенклатура после обезличивания:
Обработку можно скачать тут.
Просто распакуйте (перетащите) вложенный в архив файл (с расширением epf), например, на рабочий стол и открывайте его прямо из 1С через меню Файл->Открыть.
Если у вас управляемый интерфейс (такси и прочее), то меню вызывается через левый верхний кружок со стрелкой вниз.
В обработке есть 2 вкладки: "Список объектов" и "Общие настройки изменения данных".
Список объектов - тут можно выбрать объекты, которые нужно скрыть от посторонних глаз.
Общие настройки изменения данных - тут выбираете алгоритм обезличивания. Достаточно просто проставить галочки.
Внимание. Все манипуляции ни в коем случае не выполнять на рабочей базе. Обработку запускать только в копии базы!
Как запустить обработку обезличивание базы 1с если у вас управляемые формы(последние версии конфигураций).
Нужно сделать так.
Чтобы запустить 1с предприятие в режиме толстого клиента нужно в окне настройки запуска баз указать ключ /RunModeOrdinaryApplication
skype: live:di-sem
@programmist_1C
Обезличивание информации в базе 1С. Изменение конфиденциальной информации 1С.
Чтобы было понятно о чем обработка приведу пример.
Справочники контрагенты и номенклатура до обезличивания:
Справочники контрагенты и номенклатура после обезличивания:
Обработку можно скачать тут.
Просто распакуйте (перетащите) вложенный в архив файл (с расширением epf), например, на рабочий стол и открывайте его прямо из 1С через меню Файл->Открыть.
Если у вас управляемый интерфейс (такси и прочее), то меню вызывается через левый верхний кружок со стрелкой вниз.
В обработке есть 2 вкладки: "Список объектов" и "Общие настройки изменения данных".
Список объектов - тут можно выбрать объекты, которые нужно скрыть от посторонних глаз.
Общие настройки изменения данных - тут выбираете алгоритм обезличивания. Достаточно просто проставить галочки.
Внимание. Все манипуляции ни в коем случае не выполнять на рабочей базе. Обработку запускать только в копии базы!
Как запустить обработку обезличивание базы 1с если у вас управляемые формы(последние версии конфигураций).
Нужно сделать так.
Чтобы запустить 1с предприятие в режиме толстого клиента нужно в окне настройки запуска баз указать ключ /RunModeOrdinaryApplication
Подготовительные действия с информационной базой для передачи ее разработчику включают:
- Резервное копирование. Все действия с информационной базой выполняются только на ее копии!
- Удаление конфиденциальной информации. Выполняется обезличивание объектов информационной базы, позволяющих идентифицировать субъекты персональных данных.
- Выгрузка базы и передача ее разработчику.
Субъектами персональных данных в зарплатной программе являются организации, работники, контрагенты. Их конфиденциальная информация может хранится в справочниках, константах, регистрах сведений. Далее мы рассмотрим, каким образом ее можно удалить.
ВНИМАНИЕ. Выбирайте только данные, которые действительно являются конфиденциальными. Обезличивать все данные информационной базы нельзя - это сделает невозможным анализ и расследование.
Конфигурации на платформе 1С:Предприятие 7.7
Рассмотрим удаление конфиденциальной информации на примере конфигурации Камин:Расчет заработной платы. Версия 2.0.
-
и сохраните ее на жесткий диск своего компьютера. Запустите КОПИЮ информационной базы и откройте форму обработки Файл - Открыть.
- Перейдите на закладку "Общие настройки" и установите настройки, как показано на рисунке.
- Перейдите на закладку "Список объектов" и выберите следующие объекты:
1) Константы ("Название организации", "В госреестре", "ИНН", "Фамилия ЧП", "Имя ЧП", "Отчество ЧП", "Свидетельство ЧП").
2) Справочники ("Акционеры", "Документы сотрудников", "Контрагенты", "Сотрудники", "Родственники", "Склонения ФИО", "Параметры сотрудника", "Районы", "Города", "Населенные пункты", "Улицы" и "Дома").
Конфигурации 1С:Предприятие 8 (обычный интерфейс)
Удаление конфиденциальной информации в конфигурации с обычным интерфейсом будет рассмотрено на примере Камин:Расчет заработной платы. Версия 3.0
Обработку для изменения конфиденциальной информации можно скачать на сайте информационно-технологического сопровождения (ИТС).
Разработка и администрирование - Рекомендации по разработке и администрированию - Платформа 1С:Предприятие 8 - Разработка - Разработчикам, администраторам, платформа 8.1 - Универсальные отчеты и обработки - Изменение конфиденциальной информации.
Конфигурации 1С:Предприятие 8 (управляемый интерфейс)
В современных конфигурациях на основе 1С:Библиотеки стандартных подсистем обработка скрытия конфиденциальной информации встроена. Перейдите к настройке параметров (Сервис и настройки - Настройки - Параметры) и установите флажок "Режим технического специалиста", а затем к функциям технического специалиста (Сервис и настройки - Функции технического специалиста). В ветке «Обработки» найдите и откройте обработку «Скрытие конфиденциальной информации».
Удаление конфиденциальной информации в конфигурации с управляемым интерфейсом будет рассмотрено на примере Камин:Расчет заработной платы. Версия 5.0.
Если в вашу конфигурацию обработка скрытия конфиденциальной информации не входит, то скачать ее можно на сайте информационно-технологического сопровождения (ИТС):
Разработка и администрирование - Рекомендации по разработке и администрированию - Платформа 1С:Предприятие 8 - Разработка - Разработчикам - Дополнительные средства разработки: библиотеки, обработки, руководства - Универсальные отчеты и обработки - Скрытие конфиденциальной информации
Читайте также: