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

Стандартная обработка «Выгрузка и загрузка данных XML» между идентичными конфигурациями, дополненная анализом выгружаемых данных, и анализом журнала регистрации, для выгрузки только измененных объектов.

Общее описание

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

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

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

 

Применение:

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

 

Отличия от стандартной:

  1. Возможность сохранить настройку с отмеченными метаданными в файл. Полезно, если формируется одинаковые выгрузки из однотипных конфигураций
  2. Возможность сохранить настройку с теми объектами, изменения которых зафиксированы в журнале регистрации. Использование, в основной базе сохраняем эти объекты, затем в копии восстанавливаем данную настройку, и выгружаем только их. Полезно для восстановления старой версии документа.
  3. Анализ сохраняем данных. Перед загрузкой информации в базу открывается окно, где можно отметить только нужные объекты.

Пример:

 

 

 

30 Comments

  1. karpik666

    Интересно мнение часто ли приходиться пользоваться обменом между идентичными конфигурациями?

    Reply
  2. Ledok

    (1) бывает. Например перенести удаленные документы из бэкапа в рабочую базу.

    Reply
  3. karpik666

    (2) Ledok, а приходилось сливать несколько баз в одну?

    Reply
  4. karpik666

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

    Reply
  5. progr-2008

    Да, иногда переношу данные выборочно, между базами УПП.

    Reply
  6. karpik666

    (6) progr-2008, чем Мне понравился обмен между идентичными конфигурациями, тем что как раз не надо писать правила, но при такой загрузке перезаполняются все объекты по guid, что не всегда нужно. Если формировать автоматически все правила в кд, то они скорее всего не будут соответствовать предъявленным требованиям — нужно переписывать в более сложное, а более сложное Это затраты времени.

    Reply
  7. progr-2008

    (7) нет, автоматически не надо.

    На сайте пользователей 1С есть разные варианты правил, только это для старых версий типовых конфигураций.

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

    И guid убираю обычно при такой корректировке.

    Reply
  8. Ledok

    (3) неоднократно. Операция дорогостоящая, разовая. Всегда хватало типовых правил обмена. Мне несложно набросать алгоритм — помечающий нужные данные для обмена. Ну и провести обмен. Уверена кому-то поможет ваш инструмент, но я пока воздержусь.

    То что вы GUIDом из источника в приемнике проверяете на дублирование, так не вами (первым) придумано. Года как два с половиной пользуюсь.

    Reply
  9. karpik666

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

    Reply
  10. 1st RUS

    то-ли лыжи не едут, то ли я …

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

    скачал тут.

    почитал.

    глянул видео.

    не понял.

    1. мне вообще в другую базу данные выгружать надо, а на видео автор в ту же загружает видимо.

    2. откуда берется файл с настройками?

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

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

    дяденьки, расскажите, что я делаю не так.

    Reply
  11. karpik666

    (11) 1st RUS,

    по порядку:

    1) В туже самую базу я выгружал для примера, что точно конфигурации идентичные. Обработка основана на обработке с ИТС «ВыгрузкаЗагрузкаДанныхXML» и предназначена для обмена между абсолютно одинаковыми конфигурациями. Поэтому, если у вас не будет работать стандартная обработка, то не будет работать и моя.

    2) Файл с настройками берется, из уже открытой формы анализа. Я его получаю в конце видео. Его можно не указывать, тогда данные будут сопоставлены по GUID.

    Поэтому, чтобы она работала у вас должны быть базы с одинаковыми конфигурациями.

    Reply
  12. karpik666

    Обновление от 10.08.2015:

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

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

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

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

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

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

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

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

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

    Reply
  13. karpik666

    Обновлено 11.09.2015

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

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

    Reply
  14. fanet

    Все конечно замечательно только под 8.3 не работает! Автор может на управляемых формах еще сделаете?

    Reply
  15. karpik666

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

    Reply
  16. karpik666

    Обновлено 25.10.2015

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

    Reply
  17. karpik666

    Обновлено 01.11.2015

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

    Reply
  18. karpik666

    Обновлено 07.11.2015

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

    Reply
  19. karpik666

    Обновлено 25.02.2015

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

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

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

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

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

    Reply
  20. Осторожный

    {ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(3177)}: Значение не является значением объектного типа (Получить)

    лСтруктура = пСоответствиеНастроек.Получить(пПолноеИмя);

    {ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(3177)}: Значение не является значением объектного типа (Получить)

    лСтруктура = пСоответствиеНастроек.Получить(пПолноеИмя);

    При выставленной галке анализа, база Камин 3.5(Бюджет)

    Reply
  21. karpik666

    (21) Осторожный, здравствуйте, а какие данные пытаетесь проанализировать? И База клиент-серверная или файловая?

    Reply
  22. karpik666

    (21) Осторожный, Ошибку исправил, заново скачайте обработку, стартмани не должны списаться.

    Reply
  23. Осторожный

    База файловая, пытался слить справочники и документы с регистрами сведений

    Reply
  24. Осторожный

    Практически не попадает в анализе соответствие справочника Периоды, соответственно двоит, с учётом того что периоды есть почти во всех документах, получается жуткая каша (

    Reply
  25. karpik666

    (25) Осторожный, в анализе можно задать соответствие по определенном условию, либо по определенным полям, смотрите вверху «Поля поиска», либо на крайняк можно вручную сопоставить.

    Reply
  26. Осторожный

    (26) Крайне сложно ориентируясь на Guid-ы проставить соответствие, не совсем понятно почему не находит автоматически ( Исправил в слитой базе поиском и заменой дублей )

    Заглянул в код, ёмкая работа проделана) Респект!

    ps но, наверное, для следующей пачки слияний буду использовать конвертацию, всё-же чуть предсказуемее выходит

    Reply
  27. karpik666

    (27) Осторожный, тут просто дело восприятия, я например с помощью данной обработки смог слить 5 баз зупа, и как раз в это же время ее отлаживал. Посмотрите видео, где я показываю как сохранять настройки и как делать сопоставление, я когда делал эту штуку как раз и рассчитывал на то, что не нужно каких-то особых знаний для объединения баз.

    Reply
  28. NoRazum

    Если делать поиск только по «ИмяПредопределенныхДанных», то тогда падает с ошибкой «нельзя сравнивать поля неограниченно длины».

    Это фича платформы. Но когда перегружаешь Справочник «Вид Контактной информации» или другой где много предопределенных он как нужно было бы.

    на платформе 8.3.10.2466, раньше не знаю не редко пользовался этой обработкой.

    Reply
  29. Romul888

    Не понятно как сделать файл настроек… Открываешь первый раз и в таблице Метаданные окна Анализ выгрузки Пусто. 8.3.13 УТ 14.5

    Reply
  30. СергейКа

    Если допилить ошибки и перевести на упр. форму, то пользоваться можно.

    Reply

Leave a Comment

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