gifts2017

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (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
26.08.16
361
.epf 1.2.0 19,77Kb 361 Скачать
ВыгрузкаЗагрузкаJSON82_1.2.1.epf (8.2+)
.epf 26,88Kb
26.08.16
606
.epf 1.2.1 26,88Kb 606 Скачать
ВыгрузкаЗагрузкаJSON_1.2.1.epf (8.3+)
.epf 26,89Kb
26.08.16
1377
.epf 1.2.1 26,89Kb 1377 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Константин Минаев (mKonstantin) (1.00 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Z Lu (validat) 22.10.14 23:05
Спасибо. Поработаю с обработкой, непременно напишу о результатах
2. Денис (EM-S) 28.10.14 23:48
В рознице 2.0 8.2 не запускается. Пишет переменная не определена ЭтотОбъект. Почему?
3. Евгения Карук (ekaruk) 29.10.14 09:12
(2) EM-S, В обновленной версии возникала ошибка при запуске в режиме совместимости.
Поправила.
Можете скачать еще раз или заменить в старой "ЭтотОбъект" на "ЭтаФорма"
4. Денис (EM-S) 30.10.14 00:26
А можете проверить эту обработку в Рознице 2.0?: Не формируется запрос на выбор всех контрагентов.
При нажатии "Объекты -> JSON" выдает "Преобразование не удалось"
5. Евгения Карук (ekaruk) 30.10.14 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.14 15:01
7. Tolik (gortol) 11.11.14 11:20
ВыгрузкаЗагрузкаJSON_1.2.1.epf -> к сожалению не вызвать конструктор запросов - ошибка: неизвестное имя формы: externaldataprocessor.querywizard.form
то есть выбрать скажем все значения справочника уже не могу(((

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

В крайнем случае тест запроса можно вручную написать или сформировать в конфигураторе и скопировать.
9. Наталья (valya977) 11.12.14 21:57
Спасибо обработка сработала на ура! Бухгалтерия предприятия, редакция 3.0 (3.0.31.14)
10. Алексей Кожанов (Kozhanov) 17.12.14 16:58
11. pizzeed (pizzeed) 11.01.15 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. Евгения Карук (ekaruk) 12.01.15 10:50
(11) pizzeed, Вы можете выбрать произвольным запросом данные по любому условию.
Такая возможность есть только в управляемой форме. Соответственно нужно запустить конфигурацию в управляемом режиме. Насколько я помню, УТ 10.3 вполне запускается в тонком клиенте.
13. Анатолий (zerik) 14.01.15 00:41
Отличная обработка, спасибо.
Мужу респект =) я его спалил по комметриям в модуле =)
корум; +1 Ответить
14. Ольга Иванова (olga1512) 26.01.15 23:38
Спасибо большое!!! все работает - вы молодец!!!!!
15. Наталья Медведева (masik85) 03.02.15 16:18
Очень здорово придумано!! Браво! Пробовала на переносе ЗУП 8.2- УПП 8.3(обычное приложение), что было в базе все нашлось и расставилось, чего не было- появились UIN и <Объект не найден> сначала испугалась, что создались объекты, но...пронесло :)) Спасибо .
Скачала 8.2+ ,кнопки Добавить запросом и выгрузить в файл- нет.
16. Евгения Карук (ekaruk) 03.02.15 16:37
(15) masik85, В отличии от типовой выгрузки, переносятся только те объекты, которые вы добавили в список.
Если в объектах есть ссылки на отсутствующие во второй базе элементы, то они будут отображаться как "объект не найден"
17. Наталья Медведева (masik85) 03.02.15 16:42
Скачала 8.2+ ,кнопки Добавить запросом и выгрузить в файл- нет.
18. Евгения Карук (ekaruk) 03.02.15 16:50
(17) masik85, Этот функционал только на управляемой форме.
Нужно запустить конфигурацию в управляемом режиме либо включить обработку в состав конфигурации и использовать управляемую форму как основную..
19. Наталья Медведева (masik85) 03.02.15 16:53
20. Александр Немировский (dreamworker666) 18.02.15 19:00
При попытке переноса 1 контрагента через управляемую форму данные выгружаются успешно из ут 11.1.7.49 но при загрузке в ут 11,1,9,70 выдает вот такое сообщение и элемент не создается


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

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

Предложите варианты, как должен работать перенос связанных элементов с точки зрения логики.
Я подумаю.
Смысл в том, что должно быть универсально для любых баз без привязки к конфигурациям.
24. Виктор Лебедев (eeeio) 04.03.15 09:28
Вот версия с добавленным обычным интерфейсом. Автору: могу вам отдать для размещения вверху.
Прикрепленные файлы:
ВыгрузкаЗагрузкаJSON_1.3.0.epf
PowerBoy; Iyar; +2 Ответить 1
25. Евгения Карук (ekaruk) 04.03.15 11:09
(24) eeeio, Спасибо.
Я так и не добралась доработать обычный режим до текущего состояния управляемой формы.
Пусть тут пока в бесплатном варианте висит, я не против.
Позже объединю с обоими вариантами.
Все равно скорее всего отдельно буду добавлять вариант под 8.3.6. На ней гораздо быстрее будет работать на встроенном JSON.

26. Виктор Лебедев (eeeio) 04.03.15 11:29
(25) там также добавил сохранение текста и параметров запроса внутри сеанса работы с обработкой (т.е. после ее закрытия они не сохраняются)
27. Ирина (iret) 13.03.15 22:59
Здравствуйте! А можно дополнить эту обработку еще переносом регламентированных отчетов (статистики)?
28. Евгения Карук (ekaruk) 13.03.15 23:34
(27) iret, Не совсем поняла, что имеется в виду.
Насколько я понимаю, в большинстве конфигураций регламентированные отчеты это просто справочник.
Вы можете перенести его записи аналогично любому другому справочнику.
29. Максим Сухов (MaxS) 21.03.15 21:37
Решил перенести все дополнительные обработки (из соответствующего справочника) из УТ 11.1.9.70 в УТ 11.1.2.6. 56 элементов. Выгруженный файл получился 20Мб. Загружается уже часов 20 в файловой базе на процессоре i7-3770 с HDD 10k rpm.
Вручную можно было бы перенести за час. :(
30. Гость 23.03.15 15:09
Клиент - сервер. Платформа 8.3.5.1383, Конфигурация Бух 3.0, сервер на линухе, Ваша обработка будет работать?
31. Евгения Карук (ekaruk) 23.03.15 18:10
(30) Гость, Да, должна работать.
Ограничений по режиму работы нет.
32. Lubov Filippova (laf) 26.03.15 17:40
Спасибо. Очень нужно было. Проверю.
33. IlyasSLVR (IlyasDesign) 31.03.15 16:47
А планируется возможность переносить регистры сведений?
34. Алекс Ю (AlexO) 31.03.15 16:54
(25) ekaruk, а чем вариант УФ 8.2 отличается от УФ 8.3? Таксей? Или функционалом?
35. Евгения Карук (ekaruk) 31.03.15 16:54
(33) IlyasDesign, Была такая мысль для независимых регистров.
Пока не могу решить, что делать в случаях:
1. Разной структуры, из-за которой в другой базе получаются дубли по ключам.
2. Как их удобно отбирать пользователю (сейчас пользователь просто выбирает ссылку). Как должен выглядеть выбор записей из разных регистров не знаю.
Зависимые регистры, на мой взгляд, логичнее переносить документами и формировать заново от регистратора.
36. Евгения Карук (ekaruk) 31.03.15 16:56
(34) AlexO, Нет конструктора запросов и немного синтаксисом.
Грубо говоря, вариант для 8.2 это вариант для 8.3 из которого выкинуто все неподдерживаемое.
37. Алекс Ю (AlexO) 31.03.15 16:59
(36) ekaruk, Получается, можно скачать последний вариант, и убрать неподдерживаемые функции? Мне, например, работа в 8.3 очень не нравится ))
(25) ekaruk,
На ней гораздо быстрее будет работать на встроенном JSON.
Т.е. у 8.3.6 быстрее с текстом чем у 8.3.5, вы хотите сказать? Встроенного JSON у 1С нет.
38. Евгения Карук (ekaruk) 31.03.15 17:13
(37) AlexO, Вариант для 8.2 это и есть последний с выкинутыми функциями. Можно скачать и выкинуть самостоятельно.
У 1С с 8.3.6 есть встроенная в платформу работа с JSON.
На текущий момент я ее не использую, т.е. никакой разницы в скорости нет.
Переделаю обработку на использование встроенного JSON уже в 8.3.7, когда появится полноценная сериализация объектов.
39. Алекс Ю (AlexO) 31.03.15 17:22
(38) ekaruk,
У 1С с 8.3.6 есть встроенная в платформу работа с JSON.
Я вот не вижу разницы - что JSON у 1С, что работа с текстовым файлом, хотя, может быть, это только на мой непосвященный в тонкости реализации JSON в 8.3.6, взгляд.
Поэтому, ваш вариант даже предпочтительней - он понятно, что делает, и можно подстроить/отследить ход процесса.
когда появится полноценная сериализация объектов.
А чем не устраивает существующая с 8.1 сериализация?
40. Евгения Карук (ekaruk) 31.03.15 18:31
(39) AlexO, Работа со строкой очень медленная на больших объемах.
Встроенный в платформу разбор лучше.
41. Алекс Ю (AlexO) 01.04.15 09:14
(40) ekaruk,
Встроенный в платформу разбор лучше.
Наверняка, если бы он был существенно лучше, вы бы использовали его ))
42. lap_soft (lap_soft) 17.04.15 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. Алекс Ю (AlexO) 17.04.15 09:33
(42) lap_soft, код можно (и нужно) оформлять как "код".
А хотите чем-то поделиться - так выложите прямо здесь модифицированную обработку с комментариями )
44. Евгения Карук (ekaruk) 17.04.15 09:54
(42) lap_soft, Насколько я понимаю, смысл в том, чтобы выбрать все измененные за какой-о период. В принципе мысль интересная.
По движениям не совсем понятно, что делать с отличающимися регистрами. Каша будет получаться. Подумаю еще.
45. lap_soft (lap_soft) 20.04.15 04:31
(43) Прошу прощения с оформлением постов еще не разбирался :), я сталкивался с тем что когда выкладывал доработку её не видели, поэтому решил выложить код, при том что его не много.
(44) Да смысл именно в том чтобы перенести наработку пользователей, за период. Перенос движений наверное делать так-же, что совпало по наименованиям, переносим, нет ну и ладно.
Прикрепленные файлы:
ВыгрузкаЗагрузкаJSON_1.2.1.epf
Светлый ум; AlexO; zarucheisky; burlakov_a_a; +4 Ответить
46. Р С (Dach) 17.06.15 11:11
JSON рулит! Екатерина, Вы - большой молодец. А теоретически, можно переписать обычный xml-обмен по правилам на JSON? В каком направлении копать?
cleaner_it; dj_serega; +2 Ответить 1
47. Евгения Карук (ekaruk) 17.06.15 11:29
(46) Dach, Можно, но логичнее это делать начиная с 8.3.7.
В этом релизе появится сериализация объектов в JSON через XDTO, полностью аналогичная имеющейся сериализации в XML.
Соответсвенно, можно использовать тот же подход, что сейчас в обычном обмене по правилам.
Начать с того, что проанализировать типовую обработку, на каких этапах выполняется запись и чтение данных в файл.
48. Сергей Галюк (dj_serega) 17.06.15 17:58
Спасибо за обработку под 8.3.
Будем жать 8.3.7 и новой версии под новые возможности.

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

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

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

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

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

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


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

Спасибо.
79. Vova Petrov (bdsmka) 04.09.15 00:24
Огромное спс за обработку - очень помогла...
Жаль в обычном приложении на больших объемах виснет. Нет запроса.
На УФ все прекрасно
80. Евгения Карук (ekaruk) 05.09.15 09:51
(78) dj_serega, Думаю, тут в оптимизации скорости сложения строк особого смысла нет. Основное время это получение объектов, из сериализация в источнике и разбор строки и десериализция в приемнике.
Хотя сама идея интересная.
81. Евгения Карук (ekaruk) 05.09.15 09:52
(79) bdsmka, К сожалению, на больших объемах очень долго выполняется десериализация строки текста.
Лучше переносить данные частями.
82. Сергей Галюк (dj_serega) 08.09.15 16:02
(80) ekaruk, Решил перебросить 4 документа по 4 тч и 20к строк в каждом. Итого
4 * 4 * 20к = 320к строк. В среднем по 5 колонок. Итого 1.600к ячеек. Уже минут 30 выгружает :)))
Видимо нужно "тушить" и xml'кой грузить... Ых :)
83. Евгения Карук (ekaruk) 08.09.15 16:08
(82) dj_serega, Для этой обработки многова-то.
Тут все-таки универсальность в ущерб скорости.
Хотя все равно должна перенести.
84. Сергей Галюк (dj_serega) 08.09.15 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.15 11:30
Работает СУПЕР. Есть конечно проблемы с большим объемом данных, но имеет право на существование однозначно.
dj_serega; +1 Ответить
86. Alexey Ivanov (mrTony2030) 10.09.15 20:19
Очень надо перенести регистры сведений, стандартная XML обработка не подходит. Как-то можно эту приспособить? Подскажите, умные люди.
87. Евгения Карук (ekaruk) 11.09.15 09:15
(86) mrTony2030, Эта обработка переносит только объектные сущности (справочники, документы, счета, ПВХ).
Возможности перенести ею регистры сейчас нет.
88. Alexey Ivanov (mrTony2030) 11.09.15 11:24
(87) ekaruk, про объектные сущности понятно из описания, но было бы неплохо и под регистры переливку сделать, если это возможно, конечно
89. Bury Ya (Bury) 14.09.15 08:00
Я так понимаю, что с 7.7 бух в УТП с помощью этой обработки не перенести?
работает только с 8.х?
90. Евгения Карук (ekaruk) 14.09.15 08:10
(89) Bury, Не перенести. Работает, начиная с 8.2.
91. Гость 15.09.15 10:32
Спасибо за обработку срабатывает на ура, но вопрос у меня такой, как можно сделать так чтобы при переносе справочника физ.лиц он хватал поле "Подробнее", и также адрес с вкладки "Конт.информация" не переносятся.
92. Евгения Карук (ekaruk) 15.09.15 13:19
(91) Voice, Зависит от конфигурации.
Если "Подробнее" это реквизит элемента справочника, то перенесется. Если что-то стороннее (подчиненный справочник, регистр), то нет.
Контактная информация должна переноситься. Возможно, отличаются виды контактной информации. Нужно еще их перенести.
Выгрузите один объект в текст и посмотрите визуально, какие поля выгрузились.
93. Андрей (AKV77) 22.09.15 10:36
94. rasswet (rasswet) 25.11.15 08:08
вот это специалист! респект!
95. Александр Пузаков (puzakov) 23.12.15 07:55
Я бы крайне не советовал пользоваться подобными обработками в промышленных ИБ. Лучше всего пользоваться конвертацией данных, так хоть выгрузку/загрузку отладить можно. Да, дольше, но надёжнее. При использовании подобных "быстрых" выгрузок/загрузок вероятность возникновения ошибок в данных повышается многократно, а ошибки эти диагностировать будет сложно, результаты могут быть весьма плачевными.
96. Евгения Карук (ekaruk) 23.12.15 13:32
(95) puzakov, В идеале я бы вообще не советовала пользоваться никакими левыми обработками, кроме включенных в состав конфигурации. Ибо никто не знает, насколько корректно их автор написал.
Думаю, что использовать написанные бухгалтером в КД правила не менее, а может и более опасно.
А программиста, готового бесплатно и оперативно разрабатывать правила всем подряд Вы вряд ли найдете.
Если знаете такого, то поделись контактами.
97. Александр Пузаков (puzakov) 23.12.15 16:05
(96) ekaruk, при использовании вашей обработки велик риск машинально влепить ошибку в данные. Я сам для себя когда-то подобные "быстрые выгрузки" изобретал. Их использование совершенно не оправдало себя. И вот, спустя несколько лет, перенеся туеву хучу данных между самыми различными конфигурациями, лучше чем КД я так для себя ничего и не нашел.
98. Stepan Tyumentsev (st-ty@ngs.ru) 30.12.15 07:51
Чем был плох 1с сериализатор?
SilverVS; +1 Ответить
99. roman Лявин (31337) 20.01.16 16:02
Пробую обработкой выгрузить справочник Контрагентов из БГУ 1 в БГУ 2 (конфигурации в части справочников почти идентичны)

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

Придётся через КД писать, но автору спасибо за труды всё-равно
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа