Выгрузка/загрузка данных в формате JSON v 1.1.7

08.11.25

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Обработка предназначена для обмена данными между схожими конфигурациями в формате JSON. Этот формат обладает рядом существенных преимуществ по сравнению с xml и прочими популярными форматами. В отличие от существующих аналогов, обработка не использует никаких дополнительных библиотек. (де)Сериализация всех объектов происходит средствами встроенного языка и методов ЗаписатьJSON() и ПрочитатьJSON(). Работает на платформе версии не ниже 8.3.6.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Выгрузка загрузка данных в формате JSON
.epf 72,63Kb
533 2 750 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Обработку можно рассматривать как альтернативу одному из наиболее популярных сейчас в 1С формату обмена данными xml. XML универсален и подходит для решения большинства задач. Но у него есть один большой недостаток: наличие тэгов и , как следствие, большой объем "лишней" информации. В JSON тэги не используются, и это позволило добиться существенного сокращения объема передаваемой информации. Например, один и тот же регистр "АдресныйКлассификатор" из демонстрационной базы УТ 11 при выгрузке в xml занимает 91 169 кб, а при выгрузке в формате JSON всего 20 352 КБ. 

Представленная обработка работает со всеми конфигурациями на платформе не ниже 8.3.6.

Возможности обработки:

1) Выгрузка/загрузка констант, справочников, документов, ПВХ, регистров сведений и накопления

2) Формирование отчета о выгрузке/загрузке по кнопке "Определить данные, выгружаемые по ссылке".  Отчет включает все подчиненные объекты и источники. Все значения кликабельны: при двойном щелчке по ссылке открывается соответствующая форма. Часто при загрузке данных бывает непонятно, откуда взялись какие-то элементы справочников или ПВХ. Отчет позволяет решить эту проблему. 

Отчет о выгрузке

 

3) Установка отбора по любым реквизитам выгружаемых объектов с использованием технологии СКД:

 Отбор выгружаемых

4) Опционально загрузка данные в режиме обмена: отлючается проверка заполнения данных, объекты не регистрируются в планах обмена

5) Опционально загрузка данных происходит в режиме Транзакции: грузится все или ничего при возникновении ошибки

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

 

Порядок работы при выгрузке:

  1. Открыть обработку
  2. Отметить галочками нужные объекты
  3. Установить отборы при необходимости
  4. Нажать "Выгрузить", указать файл-приемник. Запись файла происходит на клиенте. 

 

В случае необходимости можно подгрузить значения отбора по ссылочному типу из таблицы. Для этого необходимо

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

2. Выбрать вид сравнения "В списке" или "Не в списке"

3. Нажать "Подгрузить отбор по ссылке из таблицы"

4. В открывшейся форме указать способ поиска в таблице: для документов это GUID или пара номер + дата. Поиск по дате проходит с учетом периодичности документа, то есть точную в большинстве случаев указывать не надо. 

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

6. Нажать "Прочитать и закрыть". В том случае, если все ссылки удалось определить, форма закроется и отбор будет заполнен. В противном случае напротив каждой строке будет выведена информация об ошибке

 

Порядок работы при загрузке:

  1. Открыть обработку и перейти на вкладку "Загрузка"
  2. При необходимости установить настройки: Выполнять в режиме обмена данными, выполнять в транзакции, не прерывать при ошибке, показывать отчет о загрузке
  3. Нажать "Загрузить", выбрать файл-источник данных. 
Изменения в версиях:
 
1.0.2
 
- Исправлена ошибка при работе в режиме "Толстый клиент управляемое приложение
 
1.0.3
 
- Добавлена возможность выгружать с документами движения
 
1.0.4
 
-Добавлена выгрузка регистров бухгалтерии, однопальцевое чтение результирующих файлов. исправлены ошибки
 
1.0.6
 
-Исправлена ошибка "Итератор для значения неопределен"
 
1.0.7
 
-Убраны синхронные вызовы и исправлены выявленные ошибки
 
1.0.8
 
-Добавлена выгрузка общих реквизитов
 
1.0.9
 
-Оптимизация выгрузки: ускорен процесс сохранения в JSON
 
1.1.0
 
-Исправлены ошибки
 
1.1.1
 
-Исправлены ошибки при выгрузке справочников без табличных частей
 
1.1.2 
 
-добавлена возможность загружать отбор по ссылочным типам из таблицы
 
1.1.3
 
-Изменены параметры авторегистрации обработки в типовых конфигурациях
 
1.1.4
 
-Исправлены ошибки
 
1.1.5
 
-Оптимизирован код
 
1.1.6
 
-Заменил весь функционал, требующий небезопасных действий, на сугубо безопасные. 
 
1.1.7
 
-Рефакторинг

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.7.226

Вступайте в нашу телеграмм-группу Инфостарт

JSON json обмен данными выгрузка данных

См. также

SALE! 10%

Перенос данных 1C Программист 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

61356 55220 руб.

04.08.2015    180608    412    295    

427

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27180 руб.

12.06.2017    154474    915    304    

470

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

52967 47670 руб.

25.02.2015    178800    333    279    

399

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

58422 52580 руб.

03.12.2020    42669    123    76    

116

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

61356 55220 руб.

15.04.2019    79768    214    165    

153

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.255.x) и БП 3.0 (3.0.183.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    30429    219    58    

163

SALE! 10%

Перенос данных 1C Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Правила переноса данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных) Воспользовались более 122 предприятий! |

61356 55220 руб.

31.10.2014    243646    113    353    

318

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

61356 55220 руб.

29.10.2018    59784    69    122    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 464 28.01.16 08:58 Сейчас в теме
XML универсален и подходит для решения большинства задач. Но у него есть один большой недостаток: наличие тэгов и , как следствие, большой объем "лишней" информации.

Все в мире относительно, как по мне, так XML лучше.
На вкус и цвет все фломастеры разные.
2. kser87 2480 28.01.16 10:45 Сейчас в теме
(1) Brawler, у xml при использовании в 1С есть один очень большой плюс по сравнению с JSON: почти все типы (де)сериализуются на уровне платформы. JSON же умеет работать только с примитивными типами, массивами, структурами и соответсвиями. При этом соответствие десериализуется в структуру (WTF?!) и в качестве ключа можно использовать только строку.
PLAstic; vasiliy_b; +2 Ответить
3. vasiliy_b 284 28.01.16 13:54 Сейчас в теме
При этом соответствие десериализуется в структуру (WTF?!)
- сам еще не проверял, но если это так, то я согласен, лучше было бы наоборот, так как соответствие допускает любое значение ключа, и при десериализации в структуру, можно получить ошибку.
5. kser87 2480 28.01.16 14:23 Сейчас в теме
(3) vasiliy_b, поэтому сейчас при попытке сериалации в JSON соответствия с нестроковым ключом 1С-ка падает с ошибкой
4. KurganPX 28.01.16 13:55 Сейчас в теме
Каждому свое.
Десериализация при переносе данных, особенно между неидентичными конфигурациями или различными платформами является больше злом, чем добром.
JSON придумывался не для бэкапов или обмена в виде файлов, он нужен для обмена в интернетах и в этом плане - незаменим.
Извините, но передавать бессмысленный объем "шлака" в виде тегов, стрелок и всего остального присущего XML - это глупость бессмысленная. Зачем хранить и передавать в 20 раз больше данных, чем чем это необходимо.
P.S. про десериализацию и JSON:
http://v8.1c.ru/o7/201501json/index.htm
pkorneenko; RustIG; Gang031; leonidol; dj_serega; Alex_E; JetBrain; JohnyDeath; +8 Ответить
6. kser87 2480 28.01.16 14:31 Сейчас в теме
(4) KurganPX, это только в 8.3.7 появилось=) И опять же справедливы ваши слова: при переносе данных, особенно между неидентичными конфигурациями или различными платформами является больше злом

У меня результирующий файл примерно такой же и получается. Только я преобразую значения в структуру и ее легко сериализую.
7. KurganPX 28.01.16 14:49 Сейчас в теме
(6)
'У меня результирующий файл примерно такой же и получается. Только я преобразую значения в структуру и ее легко сериализую."
Так я ни слова против..
8. kser87 2480 28.01.16 14:50 Сейчас в теме
(7) KurganPX, так и я не оправдываюсь) просто говорю, как сделал. Вообще представленное по ссылке можно и в 8.3.6 реализовать: сериализовать значение в xml и результат как строку передатать в JSON. Правда смысла особого нет
17. JetBrain 80 06.02.16 07:39 Сейчас в теме
(4) KurganPX, ...согласен, и JSON используется не только в переносе данных, но и провайдерами ЭДО и EDI, пример статьи с обработкой заявки http://infostart.ru/public/436405/
18. kser87 2480 06.02.16 14:30 Сейчас в теме
(17) st-ty@ngs.ru, только такая конструкция

ЗаписьJSON.ЗаписатьНачалоОбъекта();
          ЗаписьJSON.ЗаписатьИмяСвойства("code");                ЗаписьJSON.ЗаписатьЗначение(code);
          ЗаписьJSON.ЗаписатьИмяСвойства("name");                ЗаписьJSON.ЗаписатьЗначение(name);
....
ЗаписьJSON.ЗаписатьКонецОбъекта();


очень неудачная. Скорее всего, в 1С просто не доделали ЗаписьJSON и очень многие вещи невозможно сделать:
- Записать несколько объектов
- ЗаписьJSON.ЗаписатьЗначение(code); - в значение записать другую запись JSON или скажем структуру.

Лучше использовать ЗаписатьJSON()
19. JetBrain 80 06.02.16 16:14 Сейчас в теме
(18) Лучше использовать T-SQL Запрос - это самый быстрый метод))
9. BigB 193 01.02.16 21:45 Сейчас в теме
Вставил в свою конфигурацию. При проверке конфигурации на ошибки получил кучу ошибок.
Прикрепленные файлы:
10. kser87 2480 01.02.16 21:49 Сейчас в теме
(9) BigB, Интересно. Попробую повторить. Для каких целей вставляли в конфу? Можно использовать как внешнюю.

И вы для каких целей указали "Толстый клиент (управляемое приложение)" в проверке?
11. BigB 193 02.02.16 00:02 Сейчас в теме
(10) когда пишу код, то он у меня должен работать во всяких режимах. Поэтому всегда свои конфигурации проверяю с этими галками. А вставил себе, ну наверное, чтобы было. А вдруг пригодится.
12. kser87 2480 02.02.16 01:10 Сейчас в теме
(11) BigB, понятно. Я поставил инструкции предпроцессору умышленно. Можете скачать, я включил и такой режим.. Даже не думал, что кто-то им пользуется. Насколько мне известно, даже типовые в нем не работают.
Gang031; BigB; +2 Ответить
13. Kamikadze 46 03.02.16 11:01 Сейчас в теме
Фактически - это аналог универсальное загрузки/выгрузки между идентичными конфигурациями?
14. kser87 2480 03.02.16 11:11 Сейчас в теме
(13) Kamikadze, да, но с "плюшками": полная идентичность конфигураций необязательна. И есть адекватный отчет.
15. DonAlPatino 171 03.02.16 14:20 Сейчас в теме
А перегрузить варианты отчетов для СКД ей получится?
16. kser87 2480 03.02.16 14:52 Сейчас в теме
(15) DonAlPatino, думаю да. Вариант вроде хранится в реквизите с типом "ХранилищеЗначения". Такое я пробовал делать.

Ссылочные типы, которые моугт храниться в настройках, не выгружаются. Очень трудоемко написать программу, которая анализирует такое.
20. AKV77 263 03.05.16 11:46 Сейчас в теме
Добрый день. Конфигурация УТ 11.1 при попытке выгрузить документ Реализация товаров и услуг - ошибка:

{ВнешняяОбработка.УниверсальныйОбменДаннымиВФорматеJSON.МодульОбъекта(1771)}: Поле объекта не обнаружено (ИмяПредопределенныхДанных)
Структура.Вставить("ИмяПредопределенныхДанных", ЗначениеСсылки["ИмяПредопределенныхДанных"]);



21. kser87 2480 05.05.16 15:40 Сейчас в теме
(20) AKV77, здравствуйте!
Какую версию платформы используете?
22. xten 49 07.08.16 00:12 Сейчас в теме
Уважаемый автор! А есть ли такая чудесная вещь для 8 2 ? Спасибо!
23. kser87 2480 07.08.16 23:09 Сейчас в теме
(22) xten, платформа 8.2 не умеет работать с json. Есть такая же, но выгружает в xml
24. xten 49 11.08.16 21:12 Сейчас в теме
Уважаемый автор, при загрузке файла программа пишет, что указанный файл уже существует Перезаписать его или нет, немного, кажется, неправильно, как-будто она его перезаписать хочет, а не просто загрузить. Но так , вроде, все работает. ))
25. kser87 2480 16.08.16 22:19 Сейчас в теме
(24) xten, стандартная обработка=)
26. ulen 56 22.11.17 17:22 Сейчас в теме
УТ 11.2 при выгрузке стандартной обработкой через XML непонятно почему, но контактная информация партнеров не переносится.
В данной обработке пробовали?
27. Aule2 04.07.18 09:09 Сейчас в теме
Отбираю 400+ реализаций с движениями, получаю "Переполнение стека встроенного языка на сервере" УТ 11.1.1.13 платформа (8.3.6.2299)
28. kser87 2480 06.08.18 21:38 Сейчас в теме
(27) у вас случайно отладка не включена ? в каком режиме грузите? можно попробовать по частям
29. Stradivari 157 22.10.18 16:46 Сейчас в теме
30. jaroslav.h 183 13.03.19 06:25 Сейчас в теме
31. kser87 2480 13.03.19 10:04 Сейчас в теме
(30) в моей более продвинутый отбор.
jaroslav.h; +1 Ответить
32. kser87 2480 13.03.19 10:21 Сейчас в теме
(30) для использования моей обработки не нужно знать язык запросов и руками добавлять объекты. Достаточно настроить отбор
jaroslav.h; +1 Ответить
33. Shulepov-Alexandr 1 21.07.19 02:07 Сейчас в теме
столкнулся с двумя ошибками, что если в конфигурации есть реквизит с названием "Выбрать" не важно какого типа?
что если в плане счетов нет субконто?
обработка выдаёт ошибки при выгрузке )
я у себя уже поправил
34. kser87 2480 21.07.19 10:24 Сейчас в теме
(33) спасибо. Если на трудно, то кинь свою версию
35. Shulepov-Alexandr 1 23.07.19 22:03 Сейчас в теме
как и куда?
так же есть такой момент, если в базе источнике был реквизит предопределенный, а в базе приёмнике такого реквизита нет, то обработка упорно хочет создать предопределенный реквизит и конечно у неё это не получается сделать и вываливается с ошибкой. (пока руки не дошли исправить)
ещё заметил что со структурой связанных документов какая то не разбериха.
справа база приёмник унф 1.6, слева база источник унф 1.5.
Прикрепленные файлы:
36. Shulepov-Alexandr 1 23.07.19 22:47 Сейчас в теме
для правильной структуры нужна правильная последовательность загрузки?
37. kser87 2480 24.07.19 00:21 Сейчас в теме
(36) по идее не обязательно
38. kser87 2480 26.07.19 20:05 Сейчас в теме
(36)
(35) предопределение поправил. Больше не должен создавать
39. Shulepov-Alexandr 1 27.07.19 10:42 Сейчас в теме
(38) версия таже самая? просто перекачать?
40. kalyaka 1138 23.01.20 13:02 Сейчас в теме
Возникает ошибка при загрузке данных, если загружаемый реквизит не используется для группы.

Исправляется путем замены переменной ОбъектБД.Ссылка на ОбъектБД в вызове функции РеквизитНеПодходитКИерархии (модуль обработки, стр. 2777)

Версия обработки 1.0.5
41. kser87 2480 30.01.20 22:12 Сейчас в теме
(40)
РеквизитНеПодходитКИерархии
спасибо! проверю и исправлю
42. sulig 66 20.02.21 16:47 Сейчас в теме
Не выгружает общие реквизиты
43. kser87 2480 20.02.21 17:20 Сейчас в теме
44. kser87 2480 28.02.21 20:48 Сейчас в теме
(42) готово, загрузил новую версию
45. GODCRM 11 08.07.21 23:00 Сейчас в теме
Приветствую.

подскажи пожалуйста, в твоей обработке можно настроить при загрузке например документы ТОЛЬКО по ГУИД искать, контрагентов и организацию только по ИНН, договор только по владельцу и наименованию, статьи только по наименованию и т.д. и т.п. и это все если ТОЛЬКО по ГУИД ничего не найдено?

да, и в найденных состыкованных объектах ничего не менять кроме тех которые нашлись изначально по ГУИД, такое возможно?
46. kser87 2480 14.07.21 12:49 Сейчас в теме
(45)
(45) настроить поиск по полям нельзя. Грузить только ссылки можно, но это общая для выгрузки настройка.
47. GODCRM 11 14.07.21 16:45 Сейчас в теме
(46) понял, спасибо, нашел разработку где из клиентской части можно настроить каждый объект метаданных включая составной поиск и замену названий объектов метаданных(например в одной базе называется справочник физлиц, а в другой сотрудники)

случайно наткнулся и доволен как слон :)))
atik; kser87; +2 Ответить
48. PovAndy 08.02.22 11:40 Сейчас в теме
Здравствуйте!

Подскажите, можно ли с помощью Вашей обработки перенести регистры сведений из БП 3.1 в ЗУП 3?

В частности мне надо перенести паспортные данные физ. лиц.
(Стандартными средствами обмена не могу это сделать, т.к. в базе БП ошибка в регистре сведений)
49. kser87 2480 08.02.22 13:23 Сейчас в теме
(48) добрый день! Не могу гарантировать корректный перенос. Рекомендую вам воспользоваться услугами программиста.
50. PovAndy 08.02.22 15:32 Сейчас в теме
(49), так Ваша обработка умеет переносить регистры сведений?

Я пробовал другой обработкой JSON, она видит Регистры сведений, но не выгружает для переноса!
51. kser87 2480 08.02.22 15:51 Сейчас в теме
(50) умеет, но при различии структур регистров или рассинхроне физ лиц по УИД результат может не соответствовать ожиданиям
52. PovAndy 09.02.22 16:51 Сейчас в теме
(51), думаю надо попробовать.
Тем более, что физ. лица переносились полностью из той-же конфы. Должно сработать!
53. kser87 2480 09.02.22 17:02 Сейчас в теме
54. PovAndy 10.02.22 12:06 Сейчас в теме
(53), ещё не взял обработку.
Чуть позже. В личку напишу.
55. IamAlexy 345 18.05.22 05:23 Сейчас в теме
Как то интересно выгружается иерархия.

Пример:

справочник номенклатура с каталогами

материалы
-каталог 1
---каталог 2
-----каталог 5
-каталог 3
--каталог 4


выгружаю с отбором по ссылка в группе "Материалы" ну и до кучи с группировкой или ссылка = материалы
а загружается все просто плоским списком:

каталог1
каталог3

c вложенными данным что внутри каталог1 и каталог2


но есть теряется верхний уровень иерархии.
56. kser87 2480 18.05.22 13:50 Сейчас в теме
(55) не знал про такую ошибку. Поправлю
57. kser87 2480 18.08.22 14:31 Сейчас в теме
(55) какие конфа, версия платформы? можете скриншот отборов показать? У меня ошибка не воспроизводится
58. Светлый ум 455 27.02.24 14:31 Сейчас в теме
В самописном документе выгрузилась пустая табличная часть (должно быть 20к строк 8 колонок)
Подскажите- что сделать, чтобы значение строк тоже перенеслось?

P.S. переношу одинаковый документ в разных конфигурациях на платформе 8.3
64. kser87 2480 03.10.25 19:21 Сейчас в теме
(58) похоже на ошибку. Актуально еще?
68. Светлый ум 455 06.10.25 05:17 Сейчас в теме
(64) В целом да, могу Дт скинуть или отдельно документ выгрузить
69. kser87 2480 07.10.25 12:37 Сейчас в теме
59. suhoi 25 07.11.24 13:36 Сейчас в теме
Вопрос
А движения документов выгружаются?
63. kser87 2480 03.10.25 19:20 Сейчас в теме
60. NtS 20.01.25 08:48 Сейчас в теме
подойдет ли обработка для задачи выгрузки всех данных по одной из организаций и загрузки данных в непустую идентичную базу бухгалтерии?
62. kser87 2480 03.10.25 19:20 Сейчас в теме
(60) подойдет. Но лучше проверить на тестовой
61. qwinter 684 03.10.25 19:12 Сейчас в теме
У вас ошибка в процедуре "ВыгрузитьСсылку", ссылки из реквизитов добавляются в выгруженные объекты и больше не выгружаются.
Вместо
НоваяСтрока = мВыгруженныеОбъекты.Добавить();
	НоваяСтрока.Ссылка = СсылкаНаОбъект;
	НоваяСтрока.ИсточникСсылки = ИсточникСсылки;
	НоваяСтрока.ИмяРеквизитаИсточника = ИмяРеквизитаИсточника;

надо
Если СтруктураДанных <> Неопределено Тогда
		НоваяСтрока = мВыгруженныеОбъекты.Добавить();
		НоваяСтрока.Ссылка = СсылкаНаОбъект;
		НоваяСтрока.ИсточникСсылки = ИсточникСсылки;
		НоваяСтрока.ИмяРеквизитаИсточника = ИмяРеквизитаИсточника;
	КонецЕсли;


Ну и колонку "Выгружать при необходимости" я бы скрыл, раз она все равно не работает)))
65. kser87 2480 03.10.25 19:22 Сейчас в теме
(61) может, лучше починить?=)
66. qwinter 684 03.10.25 19:33 Сейчас в теме
(65) Однозначно))

Вместо
Процедура ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ)
	
	Если (СтрокаДЗ.ЭлементОписания <> Неопределено) 
		И СтрокаДЗ.ЭлементОписания.Выгружаемый Тогда
		
		СтрокаДобавления = Неопределено;
		
		Если СтрокаДЗ.Выгружать Тогда
			
			СтрокаДобавления = СоставПолнойВыгрузки.Добавить();
			
		ИначеЕсли СтрокаДЗ.ВыгружатьПриНеобходимости Тогда
			
			СтрокаДобавления = СоставВспомогательнойВыгрузки.Добавить();
			
		КонецЕсли;
		
		Если СтрокаДобавления <> Неопределено Тогда
			
			СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД;	
			СтрокаДобавления.СтрокаДерева = СтрокаДЗ;			
			
		КонецЕсли;
		
	КонецЕсли;
	
	Для Каждого ПодчиненнаяСтрокаДЗ Из СтрокаДЗ.Строки Цикл
		ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, ПодчиненнаяСтрокаДЗ);
	КонецЦикла;
	
КонецПроцедуры
Показать


надо
Процедура ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, СтрокаДЗ)
	
	Если (СтрокаДЗ.ЭлементОписания <> Неопределено) 
		И СтрокаДЗ.ЭлементОписания.Выгружаемый Тогда
		
		Если СтрокаДЗ.Выгружать Тогда
			
			СтрокаДобавления = СоставПолнойВыгрузки.Добавить();			
			СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД;	
			СтрокаДобавления.СтрокаДерева = СтрокаДЗ;
			
		КонецЕсли;
			
		Если СтрокаДЗ.ВыгружатьПриНеобходимости Тогда
			
			СтрокаДобавления = СоставВспомогательнойВыгрузки.Добавить();
			СтрокаДобавления.ОбъектМД = СтрокаДЗ.ОбъектМД;	
			СтрокаДобавления.СтрокаДерева = СтрокаДЗ;
			
		КонецЕсли;
		
	КонецЕсли;
	
	Для Каждого ПодчиненнаяСтрокаДЗ Из СтрокаДЗ.Строки Цикл
		ДобавитьВыгружаемыеОбъекты(СоставПолнойВыгрузки, СоставВспомогательнойВыгрузки, ПодчиненнаяСтрокаДЗ);
	КонецЦикла;
	
КонецПроцедуры
Показать


Ну и в "ВыгрузитьСсылку"
после
СтрокаТаблицы = СоставВспомогательнойВыгрузки.Найти(МетаОбъекта, "ОбъектМД");	
		
		Если СтрокаТаблицы <> Неопределено Тогда

надо
НоваяСтрока = мВыгруженныеОбъекты.Добавить();
			НоваяСтрока.Ссылка = СсылкаНаОбъект;
			НоваяСтрока.ИсточникСсылки = ИсточникСсылки;
			НоваяСтрока.ИмяРеквизитаИсточника = ИмяРеквизитаИсточника;


Ну или код из моего предыдущего комментария перенести ниже.
67. kser87 2480 03.10.25 19:42 Сейчас в теме
(66) проверю, поправлю, опубликую. Спасибо за помощь
71. kser87 2480 11.10.25 15:19 Сейчас в теме
(66) сделал такой пример:

1. есть 2 идентичные базы ERP 2.5:
2. В одной сделал новое подразделение тест
3. Создал заказ на подразделение из п.2
4. Выгрузил заказ с галочкой выгружать при необходимости = ложь у справочника СтруктураПредприятия
5. Загрузил п.4 во вторую базу. Подразделение пустое
6. Выгрузил заказ с галочкой выгружать при необходимости = Истина у справочника СтруктураПредприятия, при этом в файле json данные по подразделению есть
7. Загрузил п6 во вторую базу. Подразделение заполнилось.

То есть галочка рабочая. Теперь расскажите, что делали вы?

PS за оптимизацию отдельное спасибо. Сделал
72. qwinter 684 11.10.25 19:41 Сейчас в теме
(71) Если выгружать справочник с условием, и в нем в реквизите есть ссылка на тот же справочник не соответствующий условию то ссылка реквизита не выгрузиться.
73. kser87 2480 11.10.25 20:31 Сейчас в теме
(72) попробую воспроизвести, но в моем примере выгрузился родитель подразделения. Если нажать на лупу у пути к файлу, то простенькая читалка json откроется с поиском по строке
70. qwinter 684 07.10.25 16:50 Сейчас в теме
Еще обнаруженное замечание. У вас бесконечно дергается функция "СформироватьТекстЗапросаПоСтроке", что занимает до 60% времени на больших выгрузках. Результат стоит закешровать.
В процедуре "СоставВыгрузки" после
СоставПолнойВыгрузки.Колонки.Добавить("СтрокаДерева");
добавить
СоставПолнойВыгрузки.Колонки.Добавить("СтруктураЗапроса");


После
СоставВспомогательнойВыгрузки.Индексы.Добавить("ОбъектМД");
Добавить
СоставВспомогательнойВыгрузки.Колонки.Добавить("СтруктураЗапроса");

В процедуре "ВыгрузитьСсылку" вместо
СтруктураЗапроса = СформироватьТекстЗапросаПоСтроке(СтрокаТаблицы);
надо
Если СтрокаТаблицы.СтруктураЗапроса = Неопределено Тогда
				СтрокаТаблицы.СтруктураЗапроса = СформироватьТекстЗапросаПоСтроке(СтрокаТаблицы);	
			КонецЕсли;
			СтруктураЗапроса = СтрокаТаблицы.СтруктураЗапроса;
Для отправки сообщения требуется регистрация/авторизация