Универсальная обработка выгрузки/загрузки данных

26.05.20

Интеграция - Перенос данных 1C

Решаем задачу унификации обмена между неидентичными конфигурациями.

Файлы

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

Наименование Скачано Купить файл
Универсальная обработка выгрузки/загрузки данных:
.epf 29,03Kb ver:2020-02-20
51 3 400 руб. Купить

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

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

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

        Условия разработки и тестирования:

         -платформа 8.3.9.2170, конфигурация УПП 1.3.131.1

         -платформа 8.3.15.1565, самописная конфигурация для мобильной платформы без БСП

      Эта обработка подходит для переноса данных между базами 1С как с различающимися, так и идентичными конфигурациями. Есть возможность задавать соответствия между именами объектов метаданных и их реквизитов в различных базах. Если соответствие не задано, считается, что они должны совпадать. Настройки соответствий можно хранить как макеты табличных документов и при необходимости без затруднений править.
      Первоначальное и основное предназначение обработки – унификация обмена между приложением мобильной платформы и основной базой данных предприятия и исключение рутинных операций (т.е. выборки и записи в сообщение зарегистрированных для обмена данных) из процесса разработки. Предусмотрена возможность фильтрации реквизитов при программной работе, т.к. на стороне мобильного приложения все реквизиты справочников, имеющиеся в основной базе, как правило, не нужны и могут быть опущены.
      Интерактивный режим работы в данном случае вторичен и по сути является расширением области применения. И при выгрузке, и при загрузке обязательно отмечаем типы объектов, которые планируем выгрузить или загрузить (все иные будут проигнорированы, даже если имеются в записанном сообщении). Предусмотрен как режим выгрузки только зарегистрированных для узла плана обмена, так и всех имеющихся в базе объектов. Дополнительно можно использовать отбор по периоду, который используется для «Документов» и «Задач»
      При выгрузке обработка формирует для каждого типа объектов массив. Элементы массива – структуры, соответствующие объектам. Табличные части выгружаются в виде подчиненных структуре массивов, а элементы этих массивов соответствуют строкам ТЧ.
       При программной работе – разработчик самостоятельно определяется как поместить эти массивы в сообщение обмена (у меня они добавляются в Структуру, а потом все это упаковывается в ХранилищеЗначений). При интерактивном режиме – создается соответствие с текстовыми ключами, соответствующими именам менеджеров объектов и значениями в виде полученных массивов с данными. Полученное соответствие упаковывается в ХранилищеЗначений, а это хранилище записывается в XML-файл с тэгом «Data».
      Основное преимущество такого «формата» файла – компактный размер, особенно в сравнении с классической с XML-сериализацией. Нечитабельность данных в текстовом формате можно расценивать двояко. С одной стороны, это не позволяет потенциальному злоумышленнику без некоторого багажа знаний прочесть файл, с другой – у самого прочитать блокнотом тоже не получится.
      На данный момент реализована загрузка и выгрузка только объектов, имеющих соответствующие им ссылочные типы (т.е. Документы, Справочники, Бизнес-процессы, Задачи, Планы видов характеристик, Планы видов расчета, Планы счетов, Планы обмена).  Сопоставление объектов всегда выполняется по ссылке (т.е. внутреннему идентификатору базы).  Ввиду специфики использования и имеющихся практических задач обкатка пройдена на справочниках и документах при использовании обработки для построения обмена с приложением мобильной платформы. Поддержку работы обработки с регистрами со временем планирую добавить, но для собственных задач пока что актуально не было.

      Пример программного обращения к обработке для выгрузки данных узлу:


Обработка = Обработки.мб_ВыгрузкаЗагрузкаПоИменамРеквизитов.Создать();
    
мФильтрДляНоменклатуры = Новый Массив;
мФильтрДляНоменклатуры.Добавить("Артикул");
мФильтрДляНоменклатуры.Добавить("Услуга");
мНом = Обработка.ВыгрузкаПоОбъектуМетаданных("Справочники.Номенклатура", Узел,,мФильтрДляНоменклатуры, Истина);
Данные.Вставить("Номенклатура", мНом);
мВод = Обработка.ВыгрузкаПоОбъектуМетаданных("Справочники.inf_Водители", Узел,,, Истина);
Данные.Вставить("Водители", мВод);

      Пример программного обращения к обработке для загрузки полученных данных:

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

Обновленная версия от 20-02-2020 г. (опубликовано 26-02-2020 г.)

Добавлены процедуры и функции для работы с Регистрами сведений и Регистрами накопления. Улучшена работа с Планами видов характеристик.

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

Обработка Мобильная платформа Обмен данными Выгрузка Загрузка XML Мобильное приложение Мобильный клиент Универсальная обработка

См. также

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

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

58000 руб.

04.08.2015    183257    424    298    

437

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    180342    347    282    

406

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

22650 руб.

12.06.2017    156888    936    306    

474

SALE! 10%

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

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

38000 34200 руб.

15.12.2021    31933    233    61    

174

SALE! 10%

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

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

38000 34200 руб.

23.07.2020    64650    303    83    

243

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

Перенос данных из ЗУП 3 в ЗУП 3 | из ЗУП 3 в КА 2 | из ЗУП 3 в ERP | Оперативно обновляется при выходе новых релизов 1С | Готовые правила конвертации (КД 2) для перехода с "ЗУП 3" на "УП ред. 3" / "КА, ред. 2" / "ERP, ред. 2" |Переносится нормативно-справочная информация и документы с движениями

55200 руб.

11.01.2021    36859    32    56    

34

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

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

58000 руб.

29.10.2018    60802    73    125    

71

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

Перенос данных из КА 1.1 в КА 2 | из КА 1.1 в УТ 11 | Воспользовались более 367 компаний! | Переносятся все возможные виды документов, начальных остатков и вся справочная информация из "1С:КА 1.1" в "1С:КА 2.х" / "1С:УТ 11" | Разработан в формате КД 2 (правила конвертации данных) | Фильтр по организациям при выгрузке | Выбор разных алгоритмов выгрузки начальных остатков | Можно проверить перенос до покупки!

58000 руб.

04.12.2015    197890    260    354    

413
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ivanov_alex 68 05.02.20 09:22 Сейчас в теме
Добрый день, загрузка документов не происходит
Соответствия сделал, макет создал по образцу
Доходит до этого кода
		мКлюч = РазложитьСтрокуВМассивПодстрок(Ключ, ".");
		Если мКлюч.Количество() <> 2 Тогда
			Продолжить;
		КонецЕсли;	
		
		мЗначение = РазложитьСтрокуВМассивПодстрок(Значение, ".");
		Если мЗначение.Количество() <> 2 Тогда
			Продолжить;
		КонецЕсли;	
Показать

и все, далее
Возврат СоответствиеИменТипов

неопределено, то есть СоответствиеИменТипов соответствие но пустое
куда копать?
2. Infector 192 05.02.20 11:17 Сейчас в теме
(1) Через файл выгружате/загружаете?
При загрузке макет по которому нужно загружать выбрали?

СоответствиеИменТипов заполнятеся по СоответствиеИменМетаданных, заданному макетом, (т.е. преобразует "Справочники.Номенклатура" к "CatalogRef.Номенклатура")

И в интерактивном режиме обязательно должны быть отмечены флагами метаданные, в которые ожидается загрузка.
3. ivanov_alex 68 05.02.20 11:19 Сейчас в теме
Так и есть
Прикрепленные файлы:
4. Infector 192 05.02.20 12:43 Сейчас в теме
(3)Дополните еще такой строчкой:

Документы.ВозвратТоваровОтКлиента - Документы.ВозвратТоваровПоставщику
5. ivanov_alex 68 05.02.20 12:54 Сейчас в теме
(4)Создался документ, как теперь прописать поиск по наименованию номенклатуры?
они в обеих конфигурациях одинаковые, пока что везде объект не найден
Прикрепленные файлы:
6. Infector 192 05.02.20 13:01 Сейчас в теме
(5)номенклатура и прочие ссылочные типы всегда ищутся по Уникальному идентификатору объекта (т.е. ссылка). Для наших задач это не просто приемлемо, но даже важно.
7. ivanov_alex 68 05.02.20 13:14 Сейчас в теме
(6)ну то есть толку не будет получается, конфы разные-ут11 и розница 2.2
8. Infector 192 05.02.20 13:27 Сейчас в теме
(7) Смысл в том и был, чтобы в базах с разными конфами (УПП и мобильная платформа) сохранить идентичность объектов по ссылкам и при обменах избежать неоднозначностей, связанных с поисками по наименованию, коду или прочим реквизитам.

В принципе можете немного копнуть и под себя адаптировать, примерно здесь:

Функция ЗначениеРеквизита(СтрДанных, ИмяОбъекта, ИмяРеквизита,
				СоответствиеИменМетаданных, СоответствиеИменТипов, ЕстьВИсходнойКоллекции)


А вообще судя по тому, что пытаетесь сделать вам скорее в сторону "конвертации данных" глядеть.
9. DrAku1a 1787 07.02.20 08:19 Сейчас в теме
Скажите, а стандартные "Выгрузка и загрузка данных XML" (для идентичных конфигураций) и обмен через правила обмена КД (для всех остальных случаев) - почему не подходят?
10. Infector 192 07.02.20 09:05 Сейчас в теме
(9)"Выгрузка и загрузка данных XML" - предполагает полную идентичность. Даже если разница на один лишний реквизит валится. А на мобильной платформе еще и не получится вгрузить настольную конфигурацию, ибо натолкнешся на "запрещенки" вроде ПВХ. Кроме того, что запрещенка, так на мобиле это по факту оказывается еще и ненужным мусором. Ну и файл XML, который классическая обработка делает не самый компактный. Через КД - если честно не пытался. несжатый XML, конечно, проблема не слишком большая, но обучалки по мобильной платформе предлагали строить обмен на КД с базой-агрегатором, а от нее городить РБД с мобильными базами. Промежуточной ступени и некоторых неприятных особенностей классической РБД (в частности - снова полная идентичность конфигурации) не хотелось. Из той же обучалки подцепил фокус с "ХранилищемЗначений", понравилось. Сделал по итогу прямую связь УПП - МП без "мусора" на мобильной стороне. В качестве бонуса получил возможность базу, с которой опубликовано мобильное приложение, использовать для разработки и первоначальной отладки вне мобилки. Однако при обменах быстро надоело каждый интересующий справочник/документ отдельно описывать, стал этот универсализм лепить.
11. maxx 1000 05.03.20 21:40 Сейчас в теме
12. Infector 192 06.03.20 00:36 Сейчас в теме
(11)наработки от и до собственные, хотя по части конечного функционала может, конечно, и пересекаться. Ну и в моем варианте JSON нет. Есть типовые коллекции 1С (массивы и структуры), если сохранять в файл, то обжатые в хранилище значений.
Для отправки сообщения требуется регистрация/авторизация