Обработка копирует базу полностью из режима предприятия, не входит в конфигуратор, не запускает его в командной строке и даже почти не нуждается вообще в его наличии. Не требует полных прав в копируемой базе, нужно только право на открытие внешних обработок. Ни в один момент работы обработки в оригинальной базе, копирующий сеанс не будет отличаться от обычной работы обычного пользователя.
Как это вообще возможно? Метаганерация. Обработка делает следующее:
- сканирует метаданные конфигурации в которой она открыта и строит xml файлы конфигурации.
- выгружает данные из базы в которой она открыта в файлы
- создает новую базу и загружает в нее конфигурацию из xml (вот как раз на этом этапе нам и нужен будет конфигуратор, но ходить он будет в копию, а не в оригинальную базу и если его нет - можно все файлы унести туда где он есть и продолжить там)
- загружает данные в копию
Не всё возможно сделать кодо-мета-генерацией, поэтому копия базы будет несколько отличаться от оригинала:
- тексты программных модулей принципиально недостижимы из кода - они перенесены не будут, база-копия не будет обладать логикой оригинала. И, кстати, не факт что это плохо - копия гарантированно не начнет обмениваться данными с продуктивным окружением и не отправит информацию о самом факте своего существования "куда следует".
- формы постигнет та же участь. Их структуру сканировать можно, но я не стал заниматься копированием форм из-за ограниченной их полезности без модулей, а также обилия вариантов настроек элементов формы. На моё счастье платформа строит какие-никакие формы по умолчанию (их хорошо видно на скриншотах).
Но все-таки от оригинала останется самое важное - это структура метаданных и сами данные (включая ссылочную целостность). База-копия будет открываться без каких-либо паролей и будет доступна для просмотра и редактирования данных, а работая в консоли запросов вы вообще вряд ли заметите разницу.
Achtung! Эта обработка была создана for fun, я не ставил перед собой задачи аккуратно и педантично перенести все свойства объектов метаданных из одной конфы в другую. Я перенес тот минимум, который позволяет загрузить данные в копию. Также, эта обработка не тестировалась во всех возможных сценариях, но как минимум демо-базу Розницы она успешно копирует.
Чтобы была возможность выгружать не слишком много, на форме есть фильтр по метаданным и по дате. Данные при выгрузке пакетируются, поэтому проблем с памятью даже с очень большими объемами возникать не должно.
Разрабатывалось и тестировалось на платформе 8.3.13.1690, как это будет работать на других версиях одному Богу известно, но навскидку можно пробовать работать на версиях 8.3.* Еще одна интересная тема: а что если выгрузить из 8.3.13.1690, а загружать на 8.3.7.хххх? Теоретически, такому сценарию тоже ничто не мешает.