Универсальный инструмент для переноса данных через табличный документ (УФ)

Публикация № 922571

Обработки - Обработка документов

Загрузка Выгрузка Импорт Экспорт Перенос Обмен Инструмент Универсальный

32
Для опытных пользователей, разработчиков, администраторов, консультантов

Принцип работы

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

 

Где может пригодиться

1. Для переноса ссылок и/или движений из рабочей базы в тестовую базу разработчика для отладки, тестирования, разбора сложных ситуаций
2. Для сохранения текущей версии любого документа, справочника (или любого ссылочного объекта или набора записей), чтобы при необходимости вернуть данные в исходное состояние
3. Для переноса данных между узлами рабочей базы в случае, если обмен работает долго или отработал некорректно
4. Для штучного или группового изменения ссылочных объектов и регистров (Можно выгрузить в табличный документ, отредактировать и загрузить обратно)
5. Для сравнения версий объектов до и после изменения.

 

Возможности

1. Умеет выгружать и загружать любые ссылочные объекты и регистры

  •     Константы
  •     Справочники
  •     Документы
  •     Планы видов характеристик
  •     Планы счетов
  •     Планы видов расчета
  •     Регистры сведений
  •     Регистры накопления
  •     Регистры бухгалтерии
  •     Регистры расчета
  •     Бизнес процессы
  •     Задачи
  •     Планы обмена

2. Выгрузка загрузка выполняется по уникальным идентификаторам
3. Настройки выгрузки

  •     Глубина выгрузки - это количество уровней вложенных объектов, которые необходимо перенести. Например, минимальный уровень 0 - переносятся только выбранные объекты, уровень 1 - переносятся выбранные объекты, а также все ссылки, упомянутые в выбранных и т.д.
  •     Выгружать движения - по умолчанию движения не выгружаются. Данная настройка относится только к выбранным объектам
  •     Выгружать табличные части - по умолчанию выгружаются только шапки. Данная настройка относится только к выбранным объектам
  •     Выгружать движения подчиненных - выгружаются движения всех вложенных объектов любого уровня вложенности
  •     Выгружать табличные части подчиненных - все вложенные объекты выгружаются с табличными частями
  •     Не удалять пустые колонки после выгрузки - по умолчанию выгружаются только заполненные реквизиты объектов. Это уменьшает объем выгружаемых данных, но если загружать сохраненную версию объекта из такого урезанного вида, то те поля которые были изначально не заполнены, при загрузке не изменятся.
  •     Список исключений - можно указать список таблиц метаданных, которые не нужно добавлять в выгрузку.

    
Плюсы

1. Широкие возможности подбора с использованием динамических списков
2. Наглядный формат обмена, в котором довольно просто разобраться и который очень легко редактировать (по сравнению с xml, json, txt)
3. Удобно переносить данные из рабочей в тестовую. Если настроить в одной базе сохранение в файл, а в другой базе - чтение из этого же файла, то выгрузка - загрузка делается в несколько кликов.
4. Не требует абсолютной идентичности конфигураций. Если при загрузке реквизит не найден, то он пропускается, не выдавая ошибку
5. Не потребует высокой квалификации и много времени, чтобы разобраться. Если вы умеете пользоваться командой "Все функции", то скорее всего быстро поймете, как обращаться с инструментом.

 

Минусы

На больших объемах данных этот инструмент использовать не получится, т.к. у табличного документа есть ограничения. Сотни и даже тысячи ссылок за раз он потянет. Опять же все зависит от настроек выгрузки и мощности оборудования. Если требуется перегружать очень много, то придется дробить или воспользоваться другими инструментами.

 

Отличия от аналогов

1. Возможность выборочно выгружать любые регистры (независимые и с регистраторами)
2. Выборочно переносить константы между базами
3. Не требует идентичности конфигураций
4. Контролируется глубина выгрузки: выгружать или не выгружать упомянутые объекты и на какую глубину.
5. Возможность выгружать или не выгружать движения и табличные части. Иногда они нужны, а иногда нет. Этот инструмент позволяет этим управлять
6. Более наглядный формат. Сразу понятно какие таблицы попали в выгрузку. Можно подредактировать выгрузку по желанию: удалить лишние таблицы, строки, изменить значения
7. Возможность указывать какие таблицы не нужно выгружать. Например, если вы не хотите, чтобы случайно затерлись данные об организации при переносе из одной базы в другую, то добавляете этот справочник в исключения и он не будет попадать в выгрузку, будет переноситься только ссылка.

 

Требования

Инструмент может работать в любой конфигурации в толстом и тонком клиенте.
Минимальный режим совместимости: 8.2.13. Минимальная версия платформы: 8.3.6 (большинство функционала будет работать и под более ранними версиями платформы 8.3)
Данные загружаются в режиме ОбменДанными.Загрузка = Истина. Это значит, что в процедурах ПередЗаписью, ПриЗаписи должны стоять отсечки, как в типовых конфигурациях, иначе некоторые объекты может не получиться записать.

 

Предупреждение

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

32

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

Наименование Файл Версия Размер
Инструмент для переноса данных через табличный документ (управляемые формы):
.epf 87,35Kb
14.10.18
82
.epf 87,35Kb 82 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Rustig 1172 15.10.18 10:11 Сейчас в теме
2. Anyu-n 27 07.11.18 10:35 Сейчас в теме
Добрый день, а рабтает только для идентичных конфигураций? Для переноса пару доков их БП2 в БП3 пойдет, как думаете?
3. json 07.11.18 10:40 Сейчас в теме
(2) В БП2 и БП3 структура данных разная. Этим инструментом вашу задачу скорее всего не решить.
4. user625761_elena-proxorova 30.11.18 08:18 Сейчас в теме
Добрый день. А между Промышленной безопасностью и ЗУП 3, выполнит перенос?
5. json 2331 30.11.18 08:42 Сейчас в теме
(4) Инструмент переносит данные между конфигурациями с идентичной или почти идентичной структурой данных.
Если в конфигураторе объекты называются одинаково и поля этих объектов называются одинаково и имеют одинаковый тип, то они перенесутся, в противном случае - не перенесутся или будет ошибка.
Касательно конфигурации Промышленная безопасность - сказать ничего не могу, т.к. с такой не работал
6. maikl007 83 16.01.19 11:54 Сейчас в теме
Ваша обработка не работает, зря потратил старпмани.
{ВнешняяОбработка.ПереносДанных.МодульОбъекта(218)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
{(10, 20)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И р.Представление <<?>>= т.Представление
7. json 2331 16.01.19 12:11 Сейчас в теме
(6)
Да, на строках неограниченной длины в регистрах падала ошибка.
Исправил. Скачайте еще раз (повторное скачивание в течение первых дней - бесплатное)
8. impron 16.01.19 21:24 Сейчас в теме
ERP 2.4.6.188 (демонстрационная база)
При попытке переноса справочника Номеклатура (нажимаем кнопку Выгрузить):
Выдает окно с сообщением: Получение элемента по индексу для значения не определено
В сообщения выводит:
{ВнешняяОбработка.ПереносДанных.МодульОбъекта(579)}: Значение не является значением объектного типа (Метаданные):[]
9. json 2331 16.01.19 21:44 Сейчас в теме
(8) Благодарю за подробное описание ошибки.
Была проблема при выгрузке реквизитов, назначенных только для группы или только для элементов.
Выложил исправленную версию
10. json 2331 16.01.19 22:33 Сейчас в теме
Выложил версию с исправлениями.
Если вы скачивали ранее и хотите получить обновленную версию - напишите мне в личку
11. impron 18.01.19 04:18 Сейчас в теме
ERP 2.4.6.188 (демонстрационная база).
На обновленной обработке заработало.
Но при переносе данных не сохранило структуру (см. приложенный файл).
Левая часть - структура в демонстрационной базе.
Правая часть - структура в базе в которую переносили номенклатуру.
Папки второго уровня переехали на первый уровень.
Прикрепленные файлы:
12. json 2331 18.01.19 08:15 Сейчас в теме
(11)
Мне не удалось повторить ошибку. Структура папок переносится корректно.

Могу предположить, что группы второго уровня ЯВНО не добавлялись в выгрузку. То есть выгружались элементы, которые находятся в этих группах. При этом когда при загрузке создавались элементы, создались и их родители. Но т.к. родители явно в выгрузке не были указаны, то они создались в корне.
В таком случае если выгрузить-загрузить только группы, то иерархия встанет на место

Если мое предположение не верно, то уточните, пожалуйста:
-версию платформы
-название справочника
-как выгружали загружали: выгрузили полностью справочник и загрузили в пустой справочник в другой базе или как-то иначе?
13. German_Tagil 6 18.02.19 05:50 Сейчас в теме
посмотрим - на обычных формах таб документ сильно выручал
14. Mx00 161 27.02.19 03:18 Сейчас в теме
Благодарю, обработка очень помогла восстановить удаленные данные, удобно что после формирования таблицы можно поправить перед загрузкой :-)
15. greywind 7 14.03.19 07:22 Сейчас в теме
Бух 3.0 (платформа 8.3.12, Релиз 3.0.67)
Ошибка:
ТИП: РегистрБухгалтерии.Хозрасчетный.Ошибка при создании данных из макета в строках с 8 по 12 : {ВнешняяОбработка.ПереносДанных.МодульОбъекта(1190)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,1)}: Процедура или функция с указанным именем не определена (ЗаполнитьИзТаблицыЗначений_РегистрБухгалтерии)
16. greywind 7 14.03.19 08:26 Сейчас в теме
Ошибка срабатывает при Загрузке документа с движениями.
17. json 2331 14.03.19 08:57 Сейчас в теме
(16) Спасибо за подробное описание.
Выложил исправленную версию
Оставьте свое сообщение