Перенос по OLE справочников, документов и пользователей из базы источника с идентичной конфигурацией без использования правил обмена, поиск по реквизитам, замена ГУИД, сохранение настроек в файл
Внимание!!! Не забывайте делать резервные копии перед началом работы с обработкой!
Хочу представить обработку по импорту данных из одной базы в другую через ОЛЕ.
Некоторые скажут — да такого софта пруд пруди. Возможно, но…
Кому может пригодиться обработка
- тем, у кого есть много баз с одинаковыми данными и кто мечтает о консолидации.
- тем, у кого бухгалтера не решились делать проведение в основной базе, сделали его в копии, их все устроило, но в «живой» базе они тоже вносили документы.
- тем, у кого «упала» база, но часть информации есть в одном бэкапе, а часть в другом.
- тем, кто после смены пути сервера продолжил бить первичку в старую базу.
- тем, кто создает новую базу из старой, в которой уже есть несколько валют и организация, а при этом типовая свертка вешает сервер на несколько дней.
- тем, кто не любит правила обмена и не знает что такое «Конвертация данных».
Преимущества данной обработки
- Скорость. Загрузка справочников и документов происходит в базе приемнике, при этом база источник совершенно не напрягается.
- Альтернативный бэкап. Эту обработку можно использовать как бэкап данных. При этом бэкапом можно пользоваться он-лайн, ведь пользователи тоже перегружаются. Например запускать бэкап каждые 10 минут во фронт-офисной системе.
- Простота. Настройка объектов выгрузки, равно как и выбор методики поиска объекта в базе приемнике производится с помощью нажатия галочек, а не с помощью программирования.
- Замена ГУИД. Одновременно с импортом информации из базы-источника, если в настройке справочника или документа стоит галочка «Заменять ГУИД базы-источника» обработка исправляет все объекты, которые были найдены по коду или наименованию или реквизиту и у которых ГУИД не совпадает с ГУИД в базе источнике. Таким же образом устраняются дубли справочников.
- Есть дополнительный режим замены ГУИД у произвольного объекта.
- Результат настроек можно надежно сохранить в файле, при этом доступны настроки нескольких пресетов. Сохранение и загрузка настроек сделаны через сериализацию объектов метаданных обработки.
- Обработка может быть использована для любой конфигурации 1С 8.2-8.3, в том числе и для самописной.
- После замены у элементов нового ГУИД, последовательности , в которых участвовал этот объект остаются прежними и не «слетают».
Поставляется только в неуправляемой форме.
Работает как в серверном, так и в файловом вариантах.
Код открыт.
Отредактировано 14.09.16
Шикарный инструмент. И как раз вовремя, думал писать что-то свое.
Вопрос: типовой отбор работает только по периоду. Если нужно перенести конкретный документ/справочник, то видимо для этого есть поле Текст запроса.
Однако, как им пользоваться — информации нет.
Да и было бы неплохо сделать какие-нибудь стандартные отборы на подобие универсального отчета.
(1) WellMaster, Спасибо!
По поводу поля «Текст запроса» — да все верно это дополнительное поле, в которое можно вписать произвольный текст на языке запросов 1С (слово «ГДЕ» само добавляется в тексте программы), но классический отбор в виде объекта Отбор как в универсальном отчете здесь не получится, по причине того, что запрос на самом деле исполняется на стороне COM объекта и все объекты отбора — тоже COM объекты.
Пример как можно выгрузить конкретный элемент справочника:
В базе источнике есть элемент справочника Контрагенты с кодом «0000002346»
В поле «Текст запроса» пишем в строке со справочником «Контрагенты» пишем
Имя справочника должно быть такое как он называется в конфигураторе. В таблицах есть это поле, оно называется «ИмяСправочника» (по умолчанию видимость скрыта)
Для документа «Реализация товаров и услуг 00007637 от 14.07.2016 17:00:50» в поле «Текст запроса» нужно написать:
Обработку скачал …
1. Хотелось бы хоть немного описания обработки.
2. Нажал «Проверить подключение» и получил в сообщении «ИнформацияОбОшибке» и больше ничего. И как это понимать ?
Аналогичная проблема с подключением к базе источнику: «ИнформацияОбОшибке».
За два месяца автор так и не ответил.
(4) Shura2000,
Удалил старые ненужные платформы и перерегистрировал одну dll
regsvr32 «C:Program Files (x86)1cv88.3.8.2027incomcntr.dll»
(5) Shura2000, пардон муа.
Вероятно, у подключаемого пользователя есть пробел, например «Иванов Иван».
Решение:
1. Можно зайти под пользователем у которого нет пробела, например, под Администратором
2. В модуле формы в строках 219 и 233 засунуть пользователя в кавычки «»»
сейчас там
[1C-CODE]бд=Connection.Connect(СтрокаСоединения+» Usr=»+СокрЛП(Пользователь)+»; Pwd=»+СокрлП(Пароль));[1C-CODE]
Добрый день!
На управляемых формах такая обработка у вас есть?
Добрый день.
Нет, на управляемых формах эту обработку не делал, но пробовал переносить справочники из/в Розница 2.2 (управляемые формы) — все отлично переносится, если запустить 1С в режиме обычные формы/толстый клиент.