gifts2017

Конвертация данных SQL (управляемые формы).

Опубликовал Николай Зевеке (zekrus) в раздел Обмен - Перенос данных из 1C8 в 1C8

Работая с разными базами данных на клиент-серверной платформе возникает необходимость быстро и оперативно
переносить данные между базами (между магазинами например).

Работая с разными базами данных на клиент-серверной платформе возникает необходимость быстро и оперативно
переносить данные между базами (между магазинами например).

Данная обработка позволяет по названиям объектов метаданных быстро очистить данные таблицы и перенести данные из базы источника SQL - прямым запросом.

Для выполнения операции необходимо:

1. Настроить подключения к базам данных через COMConnector и ADODB указав имя к файлу с параметрами подключения с расширением .udl, а также указать имя базы данных.

2. Выбрать объект для обработки

3. Выбрать таблицу в базе приемнике (из выпадающих списков)

4. Выбрать поля таблицы в базе приемнике для обработки (из выпадающего списка)

5. Разрешить манипуляции с данными (очистку и запись).

6. Нажать кнопку "Скопировать данные таблицы источника в таблицу базы приемника".


П.С. Данная обработка является логическим продолжением существующего аналога: http://infostart.ru/public/147147/

Логика:

Шаг 1: Открываем базу источник и получаем из нее структуру метаданных с полями SQL через COMConnector.

Шаг 2: Очищаем выбранную в базе приемнике таблицу с данными и загружаем новые данные из базы источника через ADODB.

Скачать файлы

Наименование Файл Версия Размер
Конвертация данных SQL 24
.epf 14,75Kb
31.07.13
24
.epf 14,75Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Николай Зевеке (zekrus) 31.07.13 16:11
Эта штука снится мне уже 5 лет (просыпаюсь с криком).
2. Александр Капустин (kapustinag) 31.07.13 21:28
(1) zekrus, с криком ужаса? Не то очистили или не туда загрузили 5 лет назад?
Обработка для тех, кто УЖЕ делает бэкапы.
3. Николай Зевеке (zekrus) 01.08.13 09:08
(2) kapustinag, Я вижу вас никогда не мучает желание выразить идею (воплотить ее в жизнь), покажите ваши публикации может ваши идеи и муки поиска будут более впечатляющими. Объективно есть вам, что мне предложить по сабжу?
4. Анатолий Бычин (tolyan_ekb) 01.08.13 10:20
Как обработка понимает какие данные соответствуют данным в другой базе? Например, при переносе из УТ в БП.
5. Николай Зевеке (zekrus) 01.08.13 10:31
(4) tolyan_ekb, Пока к сожалению никак - на перспективу есть чем заняться с различными структурами в базах (времени просто в обрез). В целом идея - упростить процедуру выгрузки загрузки.
6. Анатолий Бычин (tolyan_ekb) 01.08.13 11:40
(5) zekrus, тогда почему конвертацией называется? Может с разными версиями баз работать?
7. Николай Зевеке (zekrus) 01.08.13 15:52
(6) tolyan_ekb, Поправил. Теперь может работать с разными версиями баз. Пробуйте ;)
8. Александр Капустин (kapustinag) 01.08.13 19:37
(3) zekrus, Вы не поняли. У меня и в мыслях не было обидеть.
Просто я воспринял Вашу фразу "Эта штука снится мне уже 5 лет (просыпаюсь с криком)" как желание поделиться каким-то прошлым опытом, возможно, негативным. И шутливо (мне казалось, что это будет именно так понято) продолжил тему. Вот и все.
Конкретно по предмету публикации - меня это заинтересовало, иначе бы я никаких комментариев не оставлял. Не так давно занимался сверткой базы УПП размером первоначально 145Гб, обошелся без непосредственного использования SQL, но решил, что в следующий раз нужно будет делать по-другому. Очень уж небыстро это делается 1С-овскими средствами.
Поэтому все материалы, касающиеся свертки с использованием SQL, обмена через SQL, иного использования SQL для задач 1С, внимательно изучаю.
9. Вадим Никонов (V.Nikonov) 07.08.13 14:07
А как обработка работает с Рекурсивными ссылками? Т.е. реквизиты ссылочного типа приводят к переносу объектов ссылок? А степень анализа уровней?
10. Николай Зевеке (zekrus) 07.08.13 14:15
(9) V.Nikonov, Все ссылки переносятся при условии идентичности типов в базах. Конвертация типов данных пока не реализована, к сожалению. Но если есть желание заказать - любая прихоть за ваши деньги!
11. Вадим Никонов (V.Nikonov) 07.08.13 17:34
(10) zekrus, Давайте уточним, переносятся ссылки (реквизиты)? А сами объекты по ссылкам?
Если переносятся объекты по ссылкам, то какой уровень вложенности допускается? Запоминаются ли ранее выгруженные объекты, для исключения повторной пересылки?
12. Николай Зевеке (zekrus) 07.08.13 20:33
(11) V.Nikonov, Переносятся зеркально все данные! Если будут указаны отдельно объекты для переноса (полностью вся таблица), то они тоже переносятся. Уровень вложенности допускается 1 в 1 как в базе источнике. Все ранее записанные данные в таблице стираются. Еще один минус есть - пока нет возможности обработки событий (до выгрузки, после выгрузки, в процессе).
13. Вадим Никонов (V.Nikonov) 08.08.13 11:19
Ещё раз уточним.
Например заказали выгрузку справочника Контрагенты. В справочнике есть реквизит "ОсновнойДоговор", который содержит ссылку на элемент справочника "ДоговорыКонтрагентов", который не выбран для выгрузки. Спрашивается, будет ли выгружен экземпляр объекта (Договор) который указан в реквизите?
Соответственно у Элемента "ДоговорКонтрагента" возможны собственные реквизиты (ссылки на другие объекты)... Они попадут под выгрузку?
Просто, если нет рекурсии (выгрузка по ссылкам), то вероятно появление кучи "битых ссылок". Если рекурсия есть, и нет анализа уже выгруженных объектов, то могут по 100 раз пересылаться один и тот же объект. Да и если разрешить все рекурсивные ссылки, то процесс может затянуться до бесконечности (есть вариант зацикливания)!
14. Николай Зевеке (zekrus) 08.08.13 11:57
(13) V.Nikonov, Нет не будет (без отметки). Нет не попадут (без отметок). Согласен что задача не простая (для этого нужен квалифицированный специалист).
15. Вадим Никонов (V.Nikonov) 08.08.13 13:08
(14) zekrus, тогда рекомендовал бы третье состояние объектов (ВыгружатьПоСсылкам). А количество уровней вложенности (объекты по Ссылкам) ограничить выгрузкой реквизитов Основного объекта...
Еще для нормального использования Вашей обработки требуется механизм Отбора (желательно весьма гибкий).
16. Николай Зевеке (zekrus) 08.08.13 13:23
(15) V.Nikonov, Я не против - оплата будет?
17. Вадим Никонов (V.Nikonov) 08.08.13 16:23
18. Николай Зевеке (zekrus) 08.08.13 16:26
(17) V.Nikonov, Супер. Только я тут не для этого. Я начал постить на всякий (конца света ждал).
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа