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

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    184897    432    299    

440

SALE! 15%

Перенос данных 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    158353    947    317    

477

Перенос данных 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    186722    349    284    

411

SALE! 10%

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

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

38000 34200 руб.

15.12.2021    32815    244    61    

184

Перенос данных 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    61613    77    129    

76

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

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

16531 руб.

18.02.2016    200293    662    543    

559

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    66399    309    86    

248

Перенос данных 1C Программист Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12200 руб.

25.09.2016    89887    409    257    

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

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

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

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

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

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

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

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


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