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

26.05.20

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

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

Скачать исходный код

Наименование Файл Версия Размер
Универсальная обработка выгрузки/загрузки данных:
.epf 29,03Kb
40
.epf 2020-02-20 29,03Kb 40 Скачать

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

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

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

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

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


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

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

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

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

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

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

См. также

SALE! 15%

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

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    137260    747    292    

399

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

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

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

45650 руб.

04.08.2015    161829    365    272    

357

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Перенос данных 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 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 руб.

15.04.2019    69743    172    143    

113

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

23.07.2020    47856    207    64    

169

[ED2] Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена), обработка

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

14580 руб.

18.02.2016    184002    570    509    

513

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

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

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

45650 руб.

31.10.2014    233513    91    329    

299

Переход и перенос данных из УПП 1.3 в ERP 2.5, КА 2.5. Переносятся документы (обороты за период), справочная информация и остатки

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

Переход и перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.227.x), ERP 2.5 (2.5.16.x), КА 2.5 (2.5.16.x) .

28000 руб.

24.06.2020    61931    47    27    

78

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

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

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

43450 руб.

03.12.2020    34970    84    59    

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

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

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

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

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

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

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

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


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