Выгрузка и загрузка данных XML с анализом, выборочной загрузкой с использованием Журнала Регистрации

Опубликовал karpik666 в раздел Обмен - Обмен через XML

Обработка обмена между идентичными конфигурациями XML с анализом выгружаемых данных.

Описание

Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью.

Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и т. д.

Обработка поддерживает выгрузку данных по отбору или определенных объектов и проверку объектов на наличие недопустимых символов при обмене через XML.

 

Использование

Для синхронизации по определенному реквизиту справочников, документов или других данных между базами, для создания полной или частичной резервной копии данных, осуществления обмена данными между информационными базами, а также как вспомогательный инструмент при восстановлении сбойных информационных баз.

Какие изменения по сравнению со стандартной обработкой

1.        Добавлена возможность сохранять настройки выбора метаданных для выгрузки. Очень полезно, если выгружаете только определенные данные из одних и тех же конфигураций.

2.        Добавлена возможность создавать файл, который содержит ссылки измененных данных, файл создается на основе журнала регистрации. Предполагаемый вариант использования, это когда в основной базе были пользователем изменены определенным данные, и теперь нужно восстановить предыдущие. Для этого мы отмечаем какие документы были изменены в основной базе, а затем выгружаем их из копии.

3.        Добавлен функционал по анализу выгружаемых данных, теперь можно выбирать только те данные, которые нам нужны. Также такой вариант можно использовать и для разных конфигураций: вначале пишем простые правила переноса из одной конфигурации в другую, переносим данные в чистую базу, а затем используя данную обработку анализируем, то что загружаем.  

Пример работы:

Обновлено 03.07.2015

Обновил описание на более человеческое


Обновлено 10.08.2015

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

Добавил возможность сохранять отметки на выгрузку дерева метаданных в xml и последующей его загрузкой. Полезно, если выгружаете одни и те же объекты в разных базах.

Добавил цветовой оформление строк: если объект выгрузки не указан, а стоит пометка, то строка будет выделена вся, если объект выгрузки указан, то будут выделены только те ячейки, которые отмечены в "поля выбора"

Цена снижена.

Исправлена ошибка с формированием битых ссылок при повторной загрузке в базу уже загруженных данных.

При открытии обработки в настройках автоматически проставляются: "Выполнять в транзакции" и "В Режим обмена данными "Загрузка = Истина"".

Заменил кнопку "отметить заполненное" на "Отметить не заполненное" - теперь, чтобы отметить все новые данные на выгрузку выбираем "Установить все флагу", а затем "Отметить все не заполненное".

Исправил "Отметить по отбору", теперь строки для заполнения корректно помечаются и в правильном порядке. (Внимание, если в таблице много данных, то данный способ заполнения будет очень долгим)

Мелкие исправления и оптимизации.

Скоро обновлю описание и скриншоты.


Обновлено 11.09.2015 

Исправлена ошибка при записи новых объектов, приводящая иногда к формированию битых ссылок.

Ускорена процедура анализа.

 

Обновлено 25.10.2015

Исправлена ошибка с кэшированием, возникающая при записи документа в табличную часть, либо в регистр

 

Обновлено 01.11.2015

Добавлен функционал переноса измененных данных из журнала регистрации.


Обновлено 07.11.2015

Исправлена ошибка: не анализировались все реквизиты метаданных Задачи.

 

Обновлено 25.02.2015

Добавлена индикация при записи.

Изменен споособ кэширования данных, теперь кэширвования происходит гораздо быстрее, а также исключена возможность формирование битых ссылок.

Исправлена ошибка, если данные выгружаются не по ссылке.

Обработана ошибка, если в выгрузке учавствует план обмена, теперь он появляется в списках, но создавать план обмена нельзя. 

Кнопки контекстного меню перенесены в дерево метаданных, теперь можно отмечать сразу по видам метаданных, например только регистры, или документы.

 

Обработка периодически обновляется. Те, кто скачал обработку более 7 дней назад и не хочет повторно качать, пришлит мне в сообщении свой e-mail, я вышлю вам обновленную версию.

Мои работы:

Общее

Перенос данных XML с Анализом и выборочной загрузкой.

Универсальный редактор таблиц и движения документа (LITE) (Обычная Форма)

Универсальный редактор таблиц и движения документа (PRO) (Обычная Форма)

Универсальный редактор Таблиц и Движений документов (Управляемая форма)

Запуск 1С под другим пользователем без пароля.

 

Управление торговлей 11

Установка цен в УТ11. Произвольный запрос к данным ИБ

 

ЗУП 2.5

Скрываем неиспользуемые виды расчета

Резервы отпусков в Документе "Отражение Зарплаты в Регламентированном Учете" (Оценочные Обязательства)

 

Комплексная И УПП

Форма работы с сотрудниками, как из зуп 2.5

 

Файлы

Наименование Файл Версия Размер Кол. Скачив.
Выгрузка загрузка данных с анализом XML 8.2
.epf 151,54Kb
23.03.16
82
.epf 1.0.8 151,54Kb 82 Скачать

См. также

Лучшие комментарии

27. Осторожный (файл скачал) 23.03.2016 18:07
(26) karpik666, Крайне сложно ориентируясь на Guid-ы проставить соответствие, не совсем понятно почему не находит автоматически ( Исправил в слитой базе поиском и заменой дублей )
Заглянул в код, ёмкая работа проделана) Респект!
ps но, наверное, для следующей пачки слияний буду использовать конвертацию, всё-же чуть предсказуемее выходит
Ответили: (28)
+ 1 [ karpik666; ]
# Ответить
28. karpik666 23.03.2016 18:19
(27) Осторожный, тут просто дело восприятия, я например с помощью данной обработки смог слить 5 баз зупа, и как раз в это же время ее отлаживал. Посмотрите видео, где я показываю как сохранять настройки и как делать сопоставление, я когда делал эту штуку как раз и рассчитывал на то, что не нужно каких-то особых знаний для объединения баз.
+ 1 [ mart-artur; ]
# Ответить

Комментарии

1. karpik666 02.07.2015 06:21
Интересно мнение часто ли приходиться пользоваться обменом между идентичными конфигурациями?
Ответили: (2)
# Ответить
2. Ledok 02.07.2015 06:52
(1) karpik666, бывает. Например перенести удаленные документы из бэкапа в рабочую базу.
Ответили: (3)
# Ответить
3. karpik666 02.07.2015 06:54
(2) Ledok, а приходилось сливать несколько баз в одну?
Ответили: (9)
# Ответить
4. karpik666 03.07.2015 06:47
Обновил описание публикации
# Ответить
5. progr-2008 03.07.2015 16:28
Да, иногда переношу данные выборочно, между базами УПП.
# Ответить
6. progr-2008 03.07.2015 16:30
А для слияния баз лучше сделать свои правила в КД 2.0.
Ответили: (7)
# Ответить
7. karpik666 03.07.2015 22:33
(6) progr-2008, чем Мне понравился обмен между идентичными конфигурациями, тем что как раз не надо писать правила, но при такой загрузке перезаполняются все объекты по guid, что не всегда нужно. Если формировать автоматически все правила в кд, то они скорее всего не будут соответствовать предъявленным требованиям - нужно переписывать в более сложное, а более сложное Это затраты времени.
Ответили: (8)
# Ответить
8. progr-2008 04.07.2015 21:26
(7) karpik666, нет, автоматически не надо.
На сайте пользователей 1С есть разные варианты правил, только это для старых версий типовых конфигураций.
Я загружаю эти исходные правила, вот их и корректирую, это намного проще, чем разрабатывать с нуля.
И guid убираю обычно при такой корректировке.
# Ответить
9. Ledok 08.07.2015 09:15
(3) karpik666, неоднократно. Операция дорогостоящая, разовая. Всегда хватало типовых правил обмена. Мне несложно набросать алгоритм - помечающий нужные данные для обмена. Ну и провести обмен. Уверена кому-то поможет ваш инструмент, но я пока воздержусь.
То что вы GUIDом из источника в приемнике проверяете на дублирование, так не вами (первым) придумано. Года как два с половиной пользуюсь.
Ответили: (10)
# Ответить
10. karpik666 08.07.2015 09:20
(9) Ledok, к примеру я данную обработку использовал для синхронизации кодов физических лиц, и контрагентов, и переноса документов корректировки регистров. Иногда необходимо наглядно видеть, и выбирать что и как переносить. Согласитесь, что правила набрасывать дольше, чем уже готовое решение, единственное ограничение это то, что конфигурации должны быть одинаковыми.
# Ответить
11. 1st RUS (файл скачал) 21.07.2015 08:35
то-ли лыжи не едут, то ли я ...

у меня конфигурации чуть-чуть различаются. на мелочь, но стандартная из за этого н работает.

скачал тут.
почитал.
глянул видео.
не понял.

1. мне вообще в другую базу данные выгружать надо, а на видео автор в ту же загружает видимо.
2. откуда берется файл с настройками?
3. поковырялся кривыми руками в обработке. решил открыть форму анализа при выгрузке. дабы, наверное, сформировать этот файл (с настройками)
форма открылась, но одни ошибки, и ничего записать не удалось.

дяденьки, расскажите, что я делаю не так.
Ответили: (12)
# Ответить
12. karpik666 21.07.2015 09:04
(11) 1st RUS,
по порядку:
1) В туже самую базу я выгружал для примера, что точно конфигурации идентичные. Обработка основана на обработке с ИТС "ВыгрузкаЗагрузкаДанныхXML" и предназначена для обмена между абсолютно одинаковыми конфигурациями. Поэтому, если у вас не будет работать стандартная обработка, то не будет работать и моя.
2) Файл с настройками берется, из уже открытой формы анализа. Я его получаю в конце видео. Его можно не указывать, тогда данные будут сопоставлены по GUID.
Поэтому, чтобы она работала у вас должны быть базы с одинаковыми конфигурациями.
# Ответить
13. karpik666 10.08.2015 08:01
Обновление от 10.08.2015:

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

Добавил возможность сохранять отметки на выгрузку дерева метаданных в xml и последующей его загрузкой. Полезно, если выгружаете одни и те же объекты в разных базах.

Добавил цветовой оформление строк: если объект выгрузки не указан, а стоит пометка, то строка будет выделена вся, если объект выгрузки указан, то будут выделены только те ячейки, которые отмечены в "поля выбора"

Цена снижена.

Исправлена ошибка с формированием битых ссылок при повторной загрузке в базу уже загруженных данных.

При открытии обработки в настройках автоматически проставляются: "Выполнять в транзакции" и "В Режим обмена данными "Загрузка = Истина"".

Заменил кнопку "Отметить заполненное" на "Отметить не заполненное" - теперь, чтобы отметить все новые данные на выгрузку выбираем "Установить все флаги", а затем "Отметить все не заполненное".

Исправил "Отметить по отбору", теперь строки для заполнения корректно помечаются и в правильном порядке. (Внимание, если в таблице много данных, то данный способ заполнения будет очень долгим)

Мелкие исправления и оптимизации.
# Ответить
14. karpik666 11.09.2015 04:55
Обновлено 11.09.2015

Исправлена ошибка при записи новых объектов, приводящая иногда к формированию битых ссылок.
Ускорена процедура анализа.
# Ответить
15. fanet (файл скачал) 30.09.2015 10:13
Все конечно замечательно только под 8.3 не работает! Автор может на управляемых формах еще сделаете?
Ответили: (16)
# Ответить
16. karpik666 30.09.2015 10:16
(15) fanet, когда то хотел, но на переделку гораздо больше времени уйдет, если сильно не понадобится не буду делать, а так для переноса можно и конфигурацию на управляемых формах в режиме обычного приложения запустить, там она будет работать.
# Ответить
17. karpik666 25.10.2015 08:09
Обновлено 25.10.2015

Исправлена ошибка с кэшированием, возникающая при записи документа в табличную часть, либо в регистр
# Ответить
18. karpik666 01.11.2015 17:24
Обновлено 01.11.2015

Добавлен функционал переноса измененных данных из журнала регистрации.
# Ответить
19. karpik666 07.11.2015 16:07
Обновлено 07.11.2015
Исправлена ошибка: не анализировались все реквизиты метаданных Задачи.
# Ответить
20. karpik666 25.02.2016 10:06
Обновлено 25.02.2015

Добавлена индикация при записи.

Изменен споособ кэширования данных, теперь кэширвования происходит гораздо быстрее, а также исключена возможность формирование битых ссылок.

Исправлена ошибка, если данные выгружаются не по ссылке.

Обработана ошибка, если в выгрузке учавствует план обмена, теперь он появляется в списках, но создавать план обмена нельзя.

Кнопки контекстного меню перенесены в дерево метаданных, теперь можно отмечать сразу по видам метаданных, например только регистры, или документы.
# Ответить
21. Осторожный (файл скачал) 23.03.2016 13:58
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(3177)}: Значение не является значением объектного типа (Получить)
лСтруктура = пСоответствиеНастроек.Получить(пПолноеИмя);
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(3177)}: Значение не является значением объектного типа (Получить)
лСтруктура = пСоответствиеНастроек.Получить(пПолноеИмя);

При выставленной галке анализа, база Камин 3.5(Бюджет)
Ответили: (22) (23)
# Ответить
22. karpik666 23.03.2016 14:15
(21) Осторожный, здравствуйте, а какие данные пытаетесь проанализировать? И База клиент-серверная или файловая?
# Ответить
23. karpik666 23.03.2016 14:31
(21) Осторожный, Ошибку исправил, заново скачайте обработку, стартмани не должны списаться.
# Ответить
24. Осторожный (файл скачал) 23.03.2016 14:42
База файловая, пытался слить справочники и документы с регистрами сведений
# Ответить
25. Осторожный (файл скачал) 23.03.2016 16:49
Практически не попадает в анализе соответствие справочника Периоды, соответственно двоит, с учётом того что периоды есть почти во всех документах, получается жуткая каша (
Ответили: (26)
# Ответить
26. karpik666 23.03.2016 17:25
(25) Осторожный, в анализе можно задать соответствие по определенном условию, либо по определенным полям, смотрите вверху "Поля поиска", либо на крайняк можно вручную сопоставить.
Ответили: (27)
# Ответить
27. Осторожный (файл скачал) 23.03.2016 18:07
(26) karpik666, Крайне сложно ориентируясь на Guid-ы проставить соответствие, не совсем понятно почему не находит автоматически ( Исправил в слитой базе поиском и заменой дублей )
Заглянул в код, ёмкая работа проделана) Респект!
ps но, наверное, для следующей пачки слияний буду использовать конвертацию, всё-же чуть предсказуемее выходит
Ответили: (28)
+ 1 [ karpik666; ]
# Ответить
28. karpik666 23.03.2016 18:19
(27) Осторожный, тут просто дело восприятия, я например с помощью данной обработки смог слить 5 баз зупа, и как раз в это же время ее отлаживал. Посмотрите видео, где я показываю как сохранять настройки и как делать сопоставление, я когда делал эту штуку как раз и рассчитывал на то, что не нужно каких-то особых знаний для объединения баз.
+ 1 [ mart-artur; ]
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл