Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ)

Опубликовал ekaruk в раздел Администрирование - Распределенная БД (УРИБ, УРБД)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов).
Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций.
Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ.
При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

Универсальная выгрузка любых объектов 1С в текстовый файл и загрузка в любую другую базу 1С. Либо просто перенос через буфер обмена.

Переносит данные между любыми ИБ на любых конфигурациях, интерфейсах и платформах 8.2, 8.3 (в том числе в режиме совместимости с 8.1). Не требует никаких настроек.

На скриншотах пример переноса документов и справочников из ERP Такси 8.3 в БП1.6 ОФ 8.2.

При переносе данных поля, которые совпадают, заполняются, поля, которые не совпадают, игнорируются. Табличные части очищаются и переносятся заново. Существующие объекты обновляются. Новые записываются с УИДом базы-источника.

Синхронизация ссылок по УИД. Обработка ничего не проверяет, просто переносит объекты в режиме обмена данными. Движения не переносит. 

Порядок работы:

Порядок работы аналогичен типовой обработке "Выгрузка/загрузка XML"

1. Запускаем обработку в исходной базе.
2. Добавляем в ТЧ объекты, которые хотим перенести. Либо поштучно, либо запросом. Для формирования запроса можно использовать конструктор запросов. 
3. Нажимаем "Объекты -> JSON". Текст отображается в правом поле. 
4. Нажимаем "Сохранить в файл" или копируем сформированный текст в буфер обмена - Ctrl+С
5. Открываем вторую базу.
6. Нажимаем "Загрузить из файла" или вставляем текст из буфера Ctrl + V
7. Нажимаем кнопку "JSON -> Объекты"
8. Проверяем результат

Перенос в отличающиеся объекты метаданных (например документы поступления в документы реализации) стандартно не предусмотрен. Но можно нажать Ctrl+H и заменить имена объектов в тексте перед загрузкой.
Аналогично можно заменить перед загрузкой имена полей, если в справочниках двух баз отличаются имена реквизитов.

p.s.  Также можно использовать для корректировки невидимых на форме реквизитов. Выгружаем объект в текст, правим нужные реквизиты, загружаем обратно.  

Рекоммендуемый режим работы УФ Такси. Также есть дополнительная обычная форма. 

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

upd. Добавлена версия 1.2.1. Доработан управляемый интерфейс аналогично типовой обработке "Выгрузка/загрузка XML". Упрощен выбор объектов для переноса, добавлена возможность добавления объектов запросом для массовой выгрузки. С 8.3.5.1068 доступен конструктор запроса.

Проверялась на: БП3.0, БП1.6, УПП 1.3, ERP 2.0, УТ11.1, УТ10.3, Розница 2.1 - теоретически должна корректно переносить данные между любыми конфигурациями 8.2-8.3 (в том числе в режиме совместимости с 8.1).
Если на какой-то не работает, пишите в комментариях.

Также рекоммендую из других универсальных разработок: 

  1. [Расширение] Проверка ввода данных и события форм без изменения конфигурации (для БП, УТ, ЗУП, Розницы, ERP)
  2. [Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении
  3. Комплексная проверка ведения учета в УТ10, УТ11, КА, УПП, ERP - простой отчет для проверки корректности ведения учета по всем разделам учета.

Файлы

Наименование Файл Дата Размер Кол. Скачив.
ПереносОбъектов1С_JSON_1_2.epf (устарело)
.epf 19,77Kb
29.04.16
350
.epf 29.04.16 19,77Kb 350 Скачать
ВыгрузкаЗагрузкаJSON82_1.2.1.epf (8.2+)
.epf 26,88Kb
29.04.16
491
.epf 29.04.16 26,88Kb 491 Скачать
ВыгрузкаЗагрузкаJSON_1.2.1.epf (8.3+)
.epf 26,89Kb
29.04.16
1052
.epf 29.04.16 26,89Kb 1052 Скачать

См. также

PowerTools от 1 000 руб.

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

45. lap_soft (файл скачал) 20.04.2015 04:31
(43) Прошу прощения с оформлением постов еще не разбирался :), я сталкивался с тем что когда выкладывал доработку её не видели, поэтому решил выложить код, при том что его не много.
(44) Да смысл именно в том чтобы перенести наработку пользователей, за период. Перенос движений наверное делать так-же, что совпало по наименованиям, переносим, нет ну и ладно.
# Ответить
46. Dach 17.06.2015 11:11
JSON рулит! Екатерина, Вы - большой молодец. А теоретически, можно переписать обычный xml-обмен по правилам на JSON? В каком направлении копать?
Ответили: (47)
+ 2 [ cleaner_it; dj_serega; ]
# Ответить
24. eeeio (файл скачал) 04.03.2015 09:28
Вот версия с добавленным обычным интерфейсом. Автору: могу вам отдать для размещения вверху.
Ответили: (25)
+ 2 [ PowerBoy; Iyar; ]
# Ответить
68. CheBurator 01.08.2015 20:35
(67) угу, спсб.
по сути ничего нового. текстовые файлы, более компактные чем иксемель. По факьту если идти до лог конца, то для частных задач ни иксемель, ни джсон не нужны - вполне подойдет любой структурированный текстовый файл.
+ 1 [ the1; ]
# Ответить
73. ZLENKO 18.08.2015 16:48
(69) bb1962, "Ну и как Вы собираетесь решать эту проблему при "универсальном, не требующем никаких настроек" переносе?"

Вы путаете инструмент для разработчика и готовое решение для пользователя. Разработка полезная. Ждем версию для 8.3.7 :-)
Ответили: (76)
+ 1 [ sorb; ]
# Ответить

Комментарии

1. validat (файл скачал) 22.10.2014 23:05
Спасибо. Поработаю с обработкой, непременно напишу о результатах
# Ответить
2. EM-S (файл скачал) 28.10.2014 23:48
В рознице 2.0 8.2 не запускается. Пишет переменная не определена ЭтотОбъект. Почему?
Ответили: (3)
# Ответить
3. ekaruk 29.10.2014 09:12
(2) EM-S, В обновленной версии возникала ошибка при запуске в режиме совместимости.
Поправила.
Можете скачать еще раз или заменить в старой "ЭтотОбъект" на "ЭтаФорма"
# Ответить
4. EM-S (файл скачал) 30.10.2014 00:26
А можете проверить эту обработку в Рознице 2.0?: Не формируется запрос на выбор всех контрагентов.
При нажатии "Объекты -> JSON" выдает "Преобразование не удалось"
Ответили: (5)
# Ответить
5. ekaruk 30.10.2014 06:42
(4) EM-S, Версии 2.0 не нашла.
Запустила на демобазе "Розница, редакция 2.1 (2.1.4.9)" на полной поддержке.
Платформа "1С:Предприятие 8.3 (8.3.5.1119)"
Абсолютно корректно формируется запрос, выгружаются все контрагенты и загружаются обратно.

Выложите куда-нибудь на файлообменник свою копию, попробую проверить.
Или можете свою обновить до актуальной. Данные от этого не изменятся.
# Ответить
6. avz_1C 01.11.2014 15:01
Сильно!
# Ответить
7. gortol (файл скачал) 11.11.2014 11:20
ВыгрузкаЗагрузкаJSON_1.2.1.epf -> к сожалению не вызвать конструктор запросов - ошибка: неизвестное имя формы: externaldataprocessor.querywizard.form
то есть выбрать скажем все значения справочника уже не могу(((

платформа 8.3.5.1146, конфа Бух3.0
Ответили: (8)
# Ответить
8. ekaruk 11.11.2014 13:25
(7) gortol, Попробовала на 8.3.5.1248. У меня тоже проявилось в серверном варианте в толстом клиенте.
Пока не могу понять причину. Возможно, ошибка платформы, позже поправят.
Корректно работает в файловом варианте или в тонком клиенте для серверной базы.

В крайнем случае тест запроса можно вручную написать или сформировать в конфигураторе и скопировать.
# Ответить
9. valya977 (файл скачал) 11.12.2014 21:57
Спасибо обработка сработала на ура! Бухгалтерия предприятия, редакция 3.0 (3.0.31.14)
# Ответить
10. Kozhanov (файл скачал) 17.12.2014 16:58
Все работает, спасибо!
# Ответить
11. pizzeed (файл скачал) 11.01.2015 18:13
Доброго времени суток.
Существует ли возможность подбора не вручную позиций справочников Номенклатура и Контрагенты?
У меня не получилось. Огромная база номенклатуры, очень неудобно выбирать каждую позицию вручную для формирования Текста JSON.
Использовал ВыгрузкаЗагрузкаJSON_1.2.1.epf
Выгружаю из УТ (10.3.27.2), 1С:Предприятие 8.2 (8.2.19.90), планирую загрузить в Комплексная автоматизация, редакция 1.1 (1.1.55.1), 1С:Предприятие 8.3 (8.3.5.1068)
Ответили: (12)
# Ответить
12. ekaruk 12.01.2015 10:50
(11) pizzeed, Вы можете выбрать произвольным запросом данные по любому условию.
Такая возможность есть только в управляемой форме. Соответственно нужно запустить конфигурацию в управляемом режиме. Насколько я помню, УТ 10.3 вполне запускается в тонком клиенте.
# Ответить
13. zerik (файл скачал) 14.01.2015 00:41
Отличная обработка, спасибо.
Мужу респект =) я его спалил по комметриям в модуле =)
# Ответить
14. olga1512 (файл скачал) 26.01.2015 23:38
Спасибо большое!!! все работает - вы молодец!!!!!
# Ответить
15. masik85 (файл скачал) 03.02.2015 16:18
Очень здорово придумано!! Браво! Пробовала на переносе ЗУП 8.2- УПП 8.3(обычное приложение), что было в базе все нашлось и расставилось, чего не было- появились UIN и <Объект не найден> сначала испугалась, что создались объекты, но...пронесло :)) Спасибо .
Скачала 8.2+ ,кнопки Добавить запросом и выгрузить в файл- нет.
Ответили: (16)
# Ответить
16. ekaruk 03.02.2015 16:37
(15) masik85, В отличии от типовой выгрузки, переносятся только те объекты, которые вы добавили в список.
Если в объектах есть ссылки на отсутствующие во второй базе элементы, то они будут отображаться как "объект не найден"
# Ответить
17. masik85 (файл скачал) 03.02.2015 16:42
Скачала 8.2+ ,кнопки Добавить запросом и выгрузить в файл- нет.
Ответили: (18)
# Ответить
18. ekaruk 03.02.2015 16:50
(17) masik85, Этот функционал только на управляемой форме.
Нужно запустить конфигурацию в управляемом режиме либо включить обработку в состав конфигурации и использовать управляемую форму как основную..
Ответили: (19)
# Ответить
19. masik85 (файл скачал) 03.02.2015 16:53
(18) ekaruk, понятно..спасибо
# Ответить
20. dreamworker666 18.02.2015 19:00
При попытке переноса 1 контрагента через управляемую форму данные выгружаются успешно из ут 11.1.7.49 но при загрузке в ут 11,1,9,70 выдает вот такое сообщение и элемент не создается


{Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(93)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("Справочник.Партнеры." + ИмяФормыДляОткрытия, Новый Структура("Ключ", Объект.Партнер), );
по причине:
Объект не найден
Ответили: (21)
# Ответить
21. ekaruk 18.02.2015 21:12
(20) dreamworker666, Это ошибка при открытии формы, а не при создании элемента. Насколько я понимаю, элемент справочника перенесся корректно и вы пытаетесь его просмотреть.
Такая ошибка возможна, если у вас установлена опция "Использовать партнеров как контрагентов" и вы перенесли только элемент справочника "Контрагенты". и пытаетесь его открыть. Для работы УТ11 обязателен перенос связанных элементов справочника "Партнеры" и "Контрагенты" одновременно. Один без другого не имеет смысла.
# Ответить
22. V.Nikonov 20.02.2015 12:26
Механизма рекурсии не будет? Т.е. для списка номенклатуры автоматически подключать ЕдиницыИзмерения...
Ответили: (23)
# Ответить
23. ekaruk 20.02.2015 13:06
(22) V.Nikonov, Сейчас нету. Только то, что отобрано.
Технически добавить перенос связанных несложно.
Вопрос в том, что переносить.

Если переносить все подряд, то можно из-за одного элемента перенести пол-базы. Не факт, что пользователю это действительно нужно. Можно случайно перетереть корректные данные текущей базы данными другой базы, которые пользователь не выбирал.

Предложите варианты, как должен работать перенос связанных элементов с точки зрения логики.
Я подумаю.
Смысл в том, что должно быть универсально для любых баз без привязки к конфигурациям.
# Ответить
24. eeeio (файл скачал) 04.03.2015 09:28
Вот версия с добавленным обычным интерфейсом. Автору: могу вам отдать для размещения вверху.
Ответили: (25)

Прикрепленные файлы:

ВыгрузкаЗагрузкаJSON_1.3.0.epf
+ 2 [ PowerBoy; Iyar; ]
# Ответить
25. ekaruk 04.03.2015 11:09
(24) eeeio, Спасибо.
Я так и не добралась доработать обычный режим до текущего состояния управляемой формы.
Пусть тут пока в бесплатном варианте висит, я не против.
Позже объединю с обоими вариантами.
Все равно скорее всего отдельно буду добавлять вариант под 8.3.6. На ней гораздо быстрее будет работать на встроенном JSON.
Ответили: (26) (34)
# Ответить
26. eeeio (файл скачал) 04.03.2015 11:29
(25) там также добавил сохранение текста и параметров запроса внутри сеанса работы с обработкой (т.е. после ее закрытия они не сохраняются)
# Ответить
27. iret 13.03.2015 22:59
Здравствуйте! А можно дополнить эту обработку еще переносом регламентированных отчетов (статистики)?
Ответили: (28)
# Ответить
28. ekaruk 13.03.2015 23:34
(27) iret, Не совсем поняла, что имеется в виду.
Насколько я понимаю, в большинстве конфигураций регламентированные отчеты это просто справочник.
Вы можете перенести его записи аналогично любому другому справочнику.
# Ответить
29. MaxS (файл скачал) 21.03.2015 21:37
Решил перенести все дополнительные обработки (из соответствующего справочника) из УТ 11.1.9.70 в УТ 11.1.2.6. 56 элементов. Выгруженный файл получился 20Мб. Загружается уже часов 20 в файловой базе на процессоре i7-3770 с HDD 10k rpm.
Вручную можно было бы перенести за час. :(
# Ответить
30. Гость 23.03.2015 15:09
Клиент - сервер. Платформа 8.3.5.1383, Конфигурация Бух 3.0, сервер на линухе, Ваша обработка будет работать?
Ответили: (31)
# Ответить
31. ekaruk 23.03.2015 18:10
(30) Гость, Да, должна работать.
Ограничений по режиму работы нет.
# Ответить
32. laf (файл скачал) 26.03.2015 17:40
Спасибо. Очень нужно было. Проверю.
# Ответить
33. IlyasDesign (файл скачал) 31.03.2015 16:47
А планируется возможность переносить регистры сведений?
Ответили: (35)
# Ответить
34. AlexO 31.03.2015 16:54
(25) ekaruk, а чем вариант УФ 8.2 отличается от УФ 8.3? Таксей? Или функционалом?
Ответили: (36)
# Ответить
35. ekaruk 31.03.2015 16:54
(33) IlyasDesign, Была такая мысль для независимых регистров.
Пока не могу решить, что делать в случаях:
1. Разной структуры, из-за которой в другой базе получаются дубли по ключам.
2. Как их удобно отбирать пользователю (сейчас пользователь просто выбирает ссылку). Как должен выглядеть выбор записей из разных регистров не знаю.
Зависимые регистры, на мой взгляд, логичнее переносить документами и формировать заново от регистратора.
# Ответить
36. ekaruk 31.03.2015 16:56
(34) AlexO, Нет конструктора запросов и немного синтаксисом.
Грубо говоря, вариант для 8.2 это вариант для 8.3 из которого выкинуто все неподдерживаемое.
Ответили: (37)
# Ответить
37. AlexO 31.03.2015 16:59
(36) ekaruk, Получается, можно скачать последний вариант, и убрать неподдерживаемые функции? Мне, например, работа в 8.3 очень не нравится ))
(25) ekaruk,
На ней гораздо быстрее будет работать на встроенном JSON.
Т.е. у 8.3.6 быстрее с текстом чем у 8.3.5, вы хотите сказать? Встроенного JSON у 1С нет.
Ответили: (38)
# Ответить
38. ekaruk 31.03.2015 17:13
(37) AlexO, Вариант для 8.2 это и есть последний с выкинутыми функциями. Можно скачать и выкинуть самостоятельно.
У 1С с 8.3.6 есть встроенная в платформу работа с JSON.
На текущий момент я ее не использую, т.е. никакой разницы в скорости нет.
Переделаю обработку на использование встроенного JSON уже в 8.3.7, когда появится полноценная сериализация объектов.
Ответили: (39)
# Ответить
39. AlexO 31.03.2015 17:22
(38) ekaruk,
У 1С с 8.3.6 есть встроенная в платформу работа с JSON.
Я вот не вижу разницы - что JSON у 1С, что работа с текстовым файлом, хотя, может быть, это только на мой непосвященный в тонкости реализации JSON в 8.3.6, взгляд.
Поэтому, ваш вариант даже предпочтительней - он понятно, что делает, и можно подстроить/отследить ход процесса.
когда появится полноценная сериализация объектов.
А чем не устраивает существующая с 8.1 сериализация?
Ответили: (40)
# Ответить
40. ekaruk 31.03.2015 18:31
(39) AlexO, Работа со строкой очень медленная на больших объемах.
Встроенный в платформу разбор лучше.
Ответили: (41)
# Ответить
41. AlexO 01.04.2015 09:14
(40) ekaruk,
Встроенный в платформу разбор лучше.
Наверняка, если бы он был существенно лучше, вы бы использовали его ))
# Ответить
42. lap_soft (файл скачал) 17.04.2015 06:29
Спасибо за хорошую обработку очень пригодилась.

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

код моей обработки

&НаСервере
Процедура ВыбратьОбъектыИзЖРНаСервере(ДатаНачала,ДатаОкончания)
	отбор = новый структура("ДатаНачала,ДатаОкончания",ДатаНачала,ДатаОкончания);	
	массивСобытий =  новый массив;
	массивСобытий.Добавить("_$Data$_.New");
	массивСобытий.Добавить("_$Data$_.Post");
	массивСобытий.Добавить("_$Data$_.Unpost");
	массивСобытий.Добавить("_$Data$_.Update");
	Отбор.Вставить("Событие",массивСобытий);
	
	Список1 = новый таблицаЗначений;
	ВыгрузитьЖурналРегистрации(Список1, отбор, "Данные");
	
	Список1.Свернуть("Данные","");
	зн1=Список1.Количество();
	пока зн1>0 Цикл
		зн1=зн1-1;
		зн=Список1[зн1];
		Если не ЗначениеЗаполнено(зн.Данные) Тогда
			Список1.Удалить(зн1);
		КонецЕсли; 
	КонецЦикла; 
	Список1.Колонки.Найти("Данные").Имя="СсылкаНаОбъект";
	объект.ПереносимыеОбъекты.Загрузить(Список1);
	
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьОбъектыИзЖР(Команда)
	
	Если 0=1 Тогда // тут нельзя полдня выбрать :(
		
		ПеременнаяТипаСтандартныйПериод = Новый СтандартныйПериод; 
		
		
		Диалог = Новый ДиалогРедактированияСтандартногоПериода(); 
		Диалог.Период = ПеременнаяТипаСтандартныйПериод; 
		Диалог.Период.Вариант=ВариантСтандартногоПериода.ПроизвольныйПериод; 
		Если Диалог.Редактировать() Тогда 
			ПеременнаяТипаСтандартныйПериод = Диалог.Период; 
			ВыбратьОбъектыИзЖРНаСервере(ПеременнаяТипаСтандартныйПериод.ДатаНачала,ПеременнаяТипаСтандартныйПериод.ДатаОкончания);
		КонецЕсли;
		
	иначеесли 1=1 тогда
		ДатаНачала=ТекущаяДата();
		ВвестиДату(ДатаНачала,"ВВедите Дату Начала",ЧастиДаты.ДатаВремя);
		
		ДатаОкончания=ТекущаяДата();
		ВвестиДату(ДатаОкончания,"ВВедите Дату Окончания",ЧастиДаты.ДатаВремя);
		Если ЗначениеЗаполнено(ДатаНачала) Тогда 
			ВыбратьОбъектыИзЖРНаСервере(ДатаНачала,ДатаОкончания);
		КонецЕсли;
		
	КонецЕсли; 
	
	
КонецПроцедуры
...Показать Скрыть


я думаю что в обработку можно добавить дополнительные отборы (пользователь, тип приложения, виды объектов).

Ещё хотелось бы в будущем увидеть возможность переноса документов вместе с движениями.
Ответили: (43) (44)
# Ответить
43. AlexO 17.04.2015 09:33
(42) lap_soft, код можно (и нужно) оформлять как "код".
А хотите чем-то поделиться - так выложите прямо здесь модифицированную обработку с комментариями )
Ответили: (45)
# Ответить
44. ekaruk 17.04.2015 09:54
(42) lap_soft, Насколько я понимаю, смысл в том, чтобы выбрать все измененные за какой-о период. В принципе мысль интересная.
По движениям не совсем понятно, что делать с отличающимися регистрами. Каша будет получаться. Подумаю еще.
Ответили: (45)
# Ответить
45. lap_soft (файл скачал) 20.04.2015 04:31
(43) Прошу прощения с оформлением постов еще не разбирался :), я сталкивался с тем что когда выкладывал доработку её не видели, поэтому решил выложить код, при том что его не много.
(44) Да смысл именно в том чтобы перенести наработку пользователей, за период. Перенос движений наверное делать так-же, что совпало по наименованиям, переносим, нет ну и ладно.

Прикрепленные файлы:

ВыгрузкаЗагрузкаJSON_1.2.1.epf
# Ответить
46. Dach 17.06.2015 11:11
JSON рулит! Екатерина, Вы - большой молодец. А теоретически, можно переписать обычный xml-обмен по правилам на JSON? В каком направлении копать?
Ответили: (47)
+ 2 [ cleaner_it; dj_serega; ]
# Ответить
47. ekaruk 17.06.2015 11:29
(46) Dach, Можно, но логичнее это делать начиная с 8.3.7.
В этом релизе появится сериализация объектов в JSON через XDTO, полностью аналогичная имеющейся сериализации в XML.
Соответсвенно, можно использовать тот же подход, что сейчас в обычном обмене по правилам.
Начать с того, что проанализировать типовую обработку, на каких этапах выполняется запись и чтение данных в файл.
Ответили: (51)
# Ответить
48. dj_serega (файл скачал) 17.06.2015 17:58
Спасибо за обработку под 8.3.
Будем жать 8.3.7 и новой версии под новые возможности.

Предложения:
1. После нажатия "Объекты -> JSON" переходить на страницу "Текст JSON".
- Просто удобно :)
2. После чтения через "JSON -> Объекты" сообщения об успешной записи объекта выводить через параметр "Выводить уведомления".
- Объектов может быть много :)

А так обработка крутая! :) Спасибо.
# Ответить
49. macey 01.07.2015 02:36
!!!! Скажите, пожалуйста, как отобрать с помощью конструктора запроса большое кол-во документов (напр. Поступление товаров) вместе с табличной частью в нем? У меня получается только выгрузить только шапку документов, а данные табличной части остаются не удел.
Ответили: (50)
# Ответить
50. ekaruk 01.07.2015 10:37
(49) macey, Если мы говорим про выгрузку обработкой, то выбирать нужно только ссылки на документы. Табличные части переносятся вместе с документами.
Если вцелом про работу с запросами, то табличные части отлично выбираются наравне с обычными реквизитами. Просто переносите их в конструкторе в правое поле "Поля". Есть два варианта: либо выбирать из общей таблицы, тогда в результате запроса они будут в виде отдельных выборок, либо изначально выбирать данные именно из табличных частей как основных таблиц, тогда в результате будет обычная выборка с данными табличных частей.
Ответили: (53)
+ 1 [ macey; ]
# Ответить
51. AlexO 01.07.2015 11:23
(47) ekaruk,
сериализация объектов в JSON через XDTO
Двойная сериализация? Что за "объекты XML", "Объекты JSON"?
Сериализация одна и единственная - объекты 1С - в текстовое представление (по формату XDTO или JSON - не важно, все они XML).
но логичнее это делать начиная с 8.3.7.
Кошмар просто с релизами у 1С.
# Ответить
52. alex.msk (файл скачал) 01.07.2015 11:46
Спасибо, не пришлось изобретать велосипед)
# Ответить
53. macey 01.07.2015 19:28
(50) ekaruk, Спасибо! Просто убрал табличную часть из Поля, прекрасно загрузилось так. Когда в документе присутствовали табличные части, программа писала Недопустимое значение.
# Ответить
54. mKonstantin (файл скачал) 02.07.2015 02:22
Не знаю как выбрать справочник полностью. Подскажите пожалуйста. Нужно перенести справочники Номенклатуры и Контрагентов полностью.

P.s. В БП 8.2 при запуске обработки не конструтора запросов. Есть только поля для выбора элементов. В 8.3 УНФ есть возможность формировать запросы. Нужно из БП в УНФ.
Ответили: (55)
# Ответить
55. ekaruk 02.07.2015 02:27
(54) mKonstantin, Конструктор запросов только в управляемом режиме.
Запустите БП 2 в управляемом режиме и выберите все данные запросом

ВЫБРАТЬ
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
# Ответить
56. baracuda 09.07.2015 22:27
В чем преимущество перед конвертацией данных?
Ответили: (57)
# Ответить
57. ekaruk 09.07.2015 22:32
(56) baracuda, Настраивать не нужно.
Для работы с конвертацией нужен программист, который умеет ей пользоваться.
Рядовой бухгалтер не настроит. Хотя, конечно, конвертация более универсальна.
Эта обработка не требует никаких настроек.
Открыл в первой базе - выгрузил.
Открыл во второй - загрузил.
Наиболее удобно для близких по структуре конфигураций, у которых схожий набор полей.
# Ответить
58. Veronika12 (файл скачал) 12.07.2015 15:35
Я бухгалтер в небольшой организации, программиста у нас нет - поэтому часто пользуюсь обработками, опубликованные на данном сайте. Сейчас возникла необходимость перенести данные в новую базу (разные релизы). Приобрела вашу обработку, но при использовании данной обработки возникли вопросы, хотя в общем обработка неплохая. Перенесла, справочники. Но вот при переносе банковских и кассовых документов выходит сообщение: Значение не является значением объектного типа (ВалютаВзаиморасчетов). Подскажите, пжл, что мне делать, т.к. документов очень много. И еще вопрос, подскажите как пользоваться консолью. Пытаюсь, но выходит сообщение - недопустимое значение.
Ответили: (59)
# Ответить
59. ekaruk 12.07.2015 17:48
(58) Veronika12, Обработка не зависит от данных.
Однако, возможно, в конфигурации ошибка в каком-то обработчике, для которого нужны предварительно перенесенные связанные данные.
Уточните, на каком именно этапе ошибка.
Нужен полный текст, чтобы было видно, в каком именно модуле.
Напишите в личку. Возможно, смогу что-то подсказать.
# Ответить
60. JoeLan 14.07.2015 09:59
Попробовал выгрузить из УТ10.3 контрагента. При загрузке в 11.1 выдал ошибку - "Справочник не многоуровневый".
(В 10.3 Контрагенты - Иерархический справочник). Как быть?
Ответили: (61)
# Ответить
61. ekaruk 17.07.2015 15:48
(60) JoeLan, Там скорее всего проблема не в иерархии.
В УТ11 одновременно существуют Контрагенты и Партнеры. Они взаимосвязаны. Нельзя просто перенести контрагентов без партнеров.
Ответили: (69)
# Ответить
62. visim (файл скачал) 24.07.2015 12:43
Выгружал из ЗУП 2.5 в ЗУП 3.0 ФизЛиц... В пустой базе ЗУП 3.0 не создаются элементы справочника, хотя и пишет, что созданы..справочник пустой...
Пару ошибок - пол и вид образования не совпадали названия объектов, исправил.. но так же пусто
Ответили: (63)
# Ответить
63. ekaruk 24.07.2015 19:51
(62) visim, Если обработка выдала сообщение, что элемент записан, значит он записан.
Как именно проверяли, есть ли элементы?
Если просто через форму списка, то скорее всего какие-то фильтры включены при просмотре.
Попробуйте просто отобрать данные консолью запросов без никаких условий отбора.
.
# Ответить
64. Sanario (файл скачал) 28.07.2015 10:58
А обработка переносит только 1 вид документов или можно определенные документы за период?
Ответили: (65)
# Ответить
65. ekaruk 28.07.2015 14:31
(64) Sanario, Любое количество и любые виды документов одновременно. Все, что добавите. Удобнее всего отбирать запросом.
# Ответить
66. CheBurator 31.07.2015 02:17
Поясните чайнику в обменах и их технологиях - чем JSON принципиально отличается от XML (иксемель именно как данные, а не те монстры, которые рожает КД)..? Или пните - где почитать для начального понимания кратко и по делу..?
Спасибо.
Ответили: (67)
# Ответить
67. ekaruk 31.07.2015 08:51
(66) CheBurator, Грубо говоря, JSON это сжатый XML. Принципиальной разницы в структурировании данных нет. Он просто компактнее.
Почитать тут можно https://ru.wikipedia.org/wiki/JSON
Ответили: (68)
# Ответить
68. CheBurator 01.08.2015 20:35
(67) угу, спсб.
по сути ничего нового. текстовые файлы, более компактные чем иксемель. По факьту если идти до лог конца, то для частных задач ни иксемель, ни джсон не нужны - вполне подойдет любой структурированный текстовый файл.
+ 1 [ the1; ]
# Ответить
69. bb1962 18.08.2015 08:23
(61) ekaruk, "Нельзя просто перенести контрагентов без партнеров"
Вот поэтому не надо людям голову морочить. Таких "нельзя" - тысячи.
Надо, чтобы пользователь понимал, что волшебной кнопки не существует.
Даже при переносе между идентичными конфигурациями есть существенные ограничения в силу
"связанности" объектов, а для различным конфигураций и вовсе непригодно.
Кроме различий в структуре базы данных, есть еще различия в алгоритмах (методиках).
Об этом вообще почему-то никто не думает.
Простой пример. В УПП (КА) "внутри" документа как правило нет счетов учета, хотя реквизиты такие есть. Но счета учета определяются в момент проведения и в базе не хранятся. А например в БП заполнение аналогичных реквизитов обязательно. Ну и как Вы собираетесь решать эту проблему при "универсальном, не требующем никаких настроек" переносе?
Ответили: (72) (73)
# Ответить
70. miv (файл скачал) 18.08.2015 12:25
из 1С Бухгалт ПРОФ 8.3 в Документооборот 8 ПРОФ, редакция 2.0 (2.0.8.7) не загружаются объекты
Ответили: (71)
# Ответить
71. ekaruk 18.08.2015 12:27
(70) miv, Какие именно объекты не загружаются?
# Ответить
72. ekaruk 18.08.2015 12:50
(69) bb1962, Есть универсальные механизмы, типа конвертации данных, которые могут все. Но для их использования нужен квалифицированный программист. Также есть большой круг задач, кля которых настолько универсальные вещи не нужны. Достаточно более простых обработок, доступных обычным пользователям. Просто не нужно их путать.
Ответили: (76)
# Ответить
73. ZLENKO 18.08.2015 16:48
(69) bb1962, "Ну и как Вы собираетесь решать эту проблему при "универсальном, не требующем никаких настроек" переносе?"

Вы путаете инструмент для разработчика и готовое решение для пользователя. Разработка полезная. Ждем версию для 8.3.7 :-)
Ответили: (76)
+ 1 [ sorb; ]
# Ответить
74. miv (файл скачал) 19.08.2015 08:52
из 1С Бухгалт ПРОФ 8.3 в Документооборот 8 ПРОФ, редакция 2.0 (2.0.8.7) не загружаются объекты
При загрузке Контрагентов (в ДО Корреспондентов выводятся сообщения
1) не найден тип данных. СправочникСсылка.Корреспонденты
2) не найден тип данных. ПеречислениеСсылка. ЮридическоеФизическоеЛицо )
Ответили: (75)
# Ответить
75. ekaruk 19.08.2015 09:05
(74) miv, Сообщения вида "не найден тип данных" это не ошибка. Это просто предупреждение о том, что типы данных не совпадают и эти конкретные значения загружены не будут. Думаю, проблама в том, что Вы пытаетесь загрузить данные справочника "Контрагенты" в справочник "Корреспонденты". Это разные несвязанные справочники, поэтому такое перенос не получится.
Проверьте названия справочников и их структуру. Если структура близка и отличаются наименования, то можете попробовать нажать в выгруженном файле Ctrl+H и заменить "СправочникСсылка.Корреспонденты" на "СправочникСсылка.Контрагенты"
# Ответить
76. bb1962 19.08.2015 11:04
(72) (73) ZLENKO, Я ничего не путаю, а вот вы запутались и не понимаете, что с помощью "инструмента для разработчика" создается "готовое решение для пользователя", которое является полноценным решением в отличие от того, что здесь представлено. Вся прелесть этого решения в том, что платить за него не надо, но скупой, как известно, платит дважды.
Ответили: (77)
# Ответить
77. ZLENKO 21.08.2015 17:10
(76) bb1962, "что с помощью "инструмента для разработчика" создается "готовое решение для пользователя""

Странный ход мысли. Других вариантов нет ?
# Ответить
78. dj_serega (файл скачал) 02.09.2015 15:08
Уважаемая Евгения.
Для ускорения выгрузки в предлагаю конкатенацию строк JSON'а попробовать реализовать через:
ТекстПостроитель = Новый ЗаписьXML;
ТекстПостроитель.УстановитьСтроку();
ТекстПостроитель.ЗаписатьБезОбработки(БазоваяСтрокаПС);


Источник идеи

Спасибо.
Ответили: (80)
# Ответить
79. bdsmka (файл скачал) 04.09.2015 00:24
Огромное спс за обработку - очень помогла...
Жаль в обычном приложении на больших объемах виснет. Нет запроса.
На УФ все прекрасно
Ответили: (81)
# Ответить
80. ekaruk 05.09.2015 09:51
(78) dj_serega, Думаю, тут в оптимизации скорости сложения строк особого смысла нет. Основное время это получение объектов, из сериализация в источнике и разбор строки и десериализция в приемнике.
Хотя сама идея интересная.
Ответили: (82)
# Ответить
81. ekaruk 05.09.2015 09:52
(79) bdsmka, К сожалению, на больших объемах очень долго выполняется десериализация строки текста.
Лучше переносить данные частями.
# Ответить
82. dj_serega (файл скачал) 08.09.2015 16:02
(80) ekaruk, Решил перебросить 4 документа по 4 тч и 20к строк в каждом. Итого
4 * 4 * 20к = 320к строк. В среднем по 5 колонок. Итого 1.600к ячеек. Уже минут 30 выгружает :)))
Видимо нужно "тушить" и xml'кой грузить... Ых :)
Ответили: (83)
# Ответить
83. ekaruk 08.09.2015 16:08
(82) dj_serega, Для этой обработки многова-то.
Тут все-таки универсальность в ущерб скорости.
Хотя все равно должна перенести.
Ответили: (84)
# Ответить
84. dj_serega (файл скачал) 08.09.2015 16:26
(83) ekaruk, Сохранил результат в блокнот. Итого: 83,3 МБ (87 391 300 байт) :-))
Поставил на загрузку. Сейчас 16:26

Закончилась загрузка: 08.09.2015 16:53:06

{Форма.Форма.Форма(23)}: Ошибка при вызове метода контекста (JSONВОбъекты)
ОбъектОбработка.JSONВОбъекты();
по причине:
Превышен максимальный расход памяти сервера за один вызов


В БД приемнике установлен лимит :( В источнике его нет поэтому выгрузилось без ошибки.

з.ы.: Из 4х документов 2 загрузилось.
з.з.ы.: остальные загрузились без ошибки: 08.09.2015 17:08:27 (минут за 10).
# Ответить
85. jura376 09.09.2015 11:30
Работает СУПЕР. Есть конечно проблемы с большим объемом данных, но имеет право на существование однозначно.
+ 1 [ dj_serega; ]
# Ответить
86. mrTony2030 (файл скачал) 10.09.2015 20:19
Очень надо перенести регистры сведений, стандартная XML обработка не подходит. Как-то можно эту приспособить? Подскажите, умные люди.
Ответили: (87)
# Ответить
87. ekaruk 11.09.2015 09:15
(86) mrTony2030, Эта обработка переносит только объектные сущности (справочники, документы, счета, ПВХ).
Возможности перенести ею регистры сейчас нет.
Ответили: (88)
# Ответить
88. mrTony2030 (файл скачал) 11.09.2015 11:24
(87) ekaruk, про объектные сущности понятно из описания, но было бы неплохо и под регистры переливку сделать, если это возможно, конечно
# Ответить
89. Bury 14.09.2015 08:00
Я так понимаю, что с 7.7 бух в УТП с помощью этой обработки не перенести?
работает только с 8.х?
Ответили: (90)
# Ответить
90. ekaruk 14.09.2015 08:10
(89) Bury, Не перенести. Работает, начиная с 8.2.
# Ответить
91. Voice 15.09.2015 10:32
Спасибо за обработку срабатывает на ура, но вопрос у меня такой, как можно сделать так чтобы при переносе справочника физ.лиц он хватал поле "Подробнее", и также адрес с вкладки "Конт.информация" не переносятся.
Ответили: (92)
# Ответить
92. ekaruk 15.09.2015 13:19
(91) Voice, Зависит от конфигурации.
Если "Подробнее" это реквизит элемента справочника, то перенесется. Если что-то стороннее (подчиненный справочник, регистр), то нет.
Контактная информация должна переноситься. Возможно, отличаются виды контактной информации. Нужно еще их перенести.
Выгрузите один объект в текст и посмотрите визуально, какие поля выгрузились.
# Ответить
93. AKV77 (файл скачал) 22.09.2015 10:36
Спасибо, очень помогла.
# Ответить
94. rasswet 25.11.2015 08:08
вот это специалист! респект!
# Ответить
95. puzakov 23.12.2015 07:55
Я бы крайне не советовал пользоваться подобными обработками в промышленных ИБ. Лучше всего пользоваться конвертацией данных, так хоть выгрузку/загрузку отладить можно. Да, дольше, но надёжнее. При использовании подобных "быстрых" выгрузок/загрузок вероятность возникновения ошибок в данных повышается многократно, а ошибки эти диагностировать будет сложно, результаты могут быть весьма плачевными.
Ответили: (96)
# Ответить
96. ekaruk 23.12.2015 13:32
(95) puzakov, В идеале я бы вообще не советовала пользоваться никакими левыми обработками, кроме включенных в состав конфигурации. Ибо никто не знает, насколько корректно их автор написал.
Думаю, что использовать написанные бухгалтером в КД правила не менее, а может и более опасно.
А программиста, готового бесплатно и оперативно разрабатывать правила всем подряд Вы вряд ли найдете.
Если знаете такого, то поделись контактами.
Ответили: (97)
# Ответить
97. puzakov 23.12.2015 16:05
(96) ekaruk, при использовании вашей обработки велик риск машинально влепить ошибку в данные. Я сам для себя когда-то подобные "быстрые выгрузки" изобретал. Их использование совершенно не оправдало себя. И вот, спустя несколько лет, перенеся туеву хучу данных между самыми различными конфигурациями, лучше чем КД я так для себя ничего и не нашел.
# Ответить
98. st-ty@ngs.ru 30.12.2015 07:51
Чем был плох 1с сериализатор?
+ 1 [ SilverVS; ]
# Ответить
99. 31337 (файл скачал) 20.01.2016 16:02
Пробую обработкой выгрузить справочник Контрагентов из БГУ 1 в БГУ 2 (конфигурации в части справочников почти идентичны)

В обычном режиме нет конструктора, запускаю БГУ 1 в управляемом - выгружаю справочник ОС, далее при загрузке только группы загружаются, за эллементах ошибка.

Придётся через КД писать, но автору спасибо за труды всё-равно
# Ответить
100. TrioGroup (файл скачал) 29.01.2016 10:57
При выгрузке Справочника "Номенклатура" выдает сообщение:
{ВнешняяОбработка.ВыгрузкаЗагрузкаJSON.МодульОбъекта(356)}: Ошибка при вызове метода контекста (XMLЗначение)
Значение = XMLЗначение(Тип(ОбъектСтруктура.TYPE),ОбъектСтруктура.UID);
по причине:
Ошибка преобразования данных XML

Хотя например Контрагенты почти все перенеслись, и в конце обработки вышло такое же сообщение
# Ответить
101. mort64ram (файл скачал) 11.02.2016 03:36
Подскажите, что я делаю не так. Ошибка на скрине, не могу выбрать запросом ни один справочник.
1С:Предприятие 8.3 (8.3.6.2390)
Управление торговлей, редакция 11.2 (11.2.2.106)
Версия обработки 1.2.1

Прикрепленные файлы:

Безымянный.png
# Ответить
102. exo_ru (файл скачал) 09.03.2016 07:46
Спасибо, с переносом помогло
# Ответить
103. kermet (файл скачал) 18.04.2016 19:49
Платформа 8.3.7.2008...Релиз 3.0.43.174 не подключается - что не так и как быть ? Может как -то по особому подключать?

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

Метод объекта не обнаружен (СведенияОВнешнейОбработке)

С уважением kermet
Ответили: (104)
# Ответить
104. ekaruk 19.04.2016 09:57
(103) kermet, Обработка универсальная.
Не привязана к конкретной конфигурации.
Запускается через меню "Файл" - "Открыть"
# Ответить
105. kermet (файл скачал) 19.04.2016 18:52
Здравствуйте , помогите пожалуйста разобраться как пользоваться обработкой начинающему
Мне нужно перенести из одной ИБ в другую ИБ контактную информацию по всем контрагентам , т.к в этой ИБ этой информации нет (не заносили) Как нужно мне действовать? Сформировать запрос, параметры его, выполнить его, и перенести все адреса , телефоны и т.д. в другую ИБ?
У меня не получается
С уважением kermet
Ответили: (106)
# Ответить
106. ekaruk 19.04.2016 18:59
(105) kermet, А конфигурация одна и та же или разные?
Ну и зависит от того, где именно контактная информация хранится.
# Ответить
107. kermet (файл скачал) 21.04.2016 15:53
Конфигурация одинаковая 3.0.43.174 но я не могу правильно сформировать запрос помогите пожалуйста . С уважением kermet
Ответили: (108)
# Ответить
108. ekaruk 23.04.2016 11:31
(107) kermet, В БП 3.0 контактная информация о контрагентах содержится в самих записях справочника контрагентов.
Соответсвенно, нужно просто перенести контрагентов. Отдельно ничего из справочников переносить не нужно.
Разве что виды контактной информации, если они отличаются в 2х базах.
# Ответить
109. wrangel87 (файл скачал) 27.04.2016 06:48
Здравствуйте! Подойдет ли ваша обработка и какую из 3-х лучше скачать чтобы выгружать счета на оплату из УТ 11.1 в БП 2.0 и БП 3.0
Ответили: (110)
# Ответить
110. ekaruk 27.04.2016 07:05
(109) wrangel87, Зависит от того, чем структуры документов отличаются. Если похожи, то подойдет.
Если обе конгфигурации на 8.3, то пробовать последнюю, иначе версию для 8.2.
Но вообще она больше для разового быстрого переноса. Часть реквизитом скорее всего недозаполнятся.
Если для постоянного использования, то лучше написать один раз правила переноса для типового обмена.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл