Согласен с позицией Заказчика, вручать кому ни попадя результаты ведения деятельности на протяжении последних двух веков, по меньшей мере, нерезонно.
Однако работать надо и для успешного выполнения необходима база... С данными... Желательно с подробными...
Предлагаемая обработка позволяет решить конфликт интересов сторон: Исполнитель получает базу данных, а Заказчик может не беспокоится, что куда-то на сторону уйдет, например, база контактов контрагентов, кропотливо собранная несколькими поколениями менеджеров :)
Собственно, в том виде, в который приходит база после обработки, ее можно нормально использовать, на мой взгляд, только для отладки обмена данными.
Разбираться в такой базе, почему не закрывается 23 счет, я бы, пожалуй, не стал... :)
Как это работает.
Обрабатываются справочники и регистры сведений (в версии для 7.7 - только справочники). Обфускации подлежат все реквизиты (для регистров сведений - ресурсы), которые имеют строковый тип.
Для получения беспорядочного набора символов используется генератор случайных чисел. В версии для 7.7 для генерации чисел используется объект MSScriptControl.ScriptControl (спасибо Rusel2009 за его публикацию Генерация случайных чисел (random) , натолкнувшую, собственно, на эту идею).
Кроме генератора случайных чисел предусмотрен режим "лояльной" обфускации, результаты работы которого более приятны взору. В этом режиме наименования справочников и реквизитов формируются как "ИмяОбъектаМетаданных"+"ПорядковыйНомер". То есть, справочник "Контрагенты", например, примет вид:
- Контрагенты 1
- Контрагенты 2
- ...
- Контрагенты N
Численные значения остаются без изменений, поскольку задача их искажения не стояла, но, в принципе, можно и их "порубать на шматки" :)
Хочется обратить внимание, что изменения, вносимые обработкой - необратимые, поэтому желательно заранее запастись резервной копией, да и вообще, не производить никаких тестов на рабочей базе.
Обработки универсальны, будут работать на любой конфигурации. Тестировались на 4-х базах 7.7 и на 6-ти 8.2 (в том числе - одна самописная).