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

26.05.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Универсальная обработка выгрузки/загрузки данных:
.epf 29,03Kb ver:2020-02-20
47
47 Скачать (3 SM) Купить за 2 450 руб.

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

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

27660 руб.

12.06.2017    145763    849    299    

439

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

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

35000 руб.

23.07.2020    56238    257    73    

212

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 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    74304    199    155    

137

SALE! 10%

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

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

53111 47800 руб.

03.12.2020    38366    108    70    

102

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

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

35000 руб.

15.12.2021    26147    187    56    

143

Перенос данных 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, почту.

16260 руб.

18.02.2016    189203    616    534    

537

Перенос данных 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.244.x), ERP 2.5 (2.5.21.x), КА 2.5 (2.5.21.x).

35000 руб.

24.06.2020    64934    81    28    

94

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

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

12000 руб.

25.09.2016    82857    343    254    

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

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

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

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

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

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

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

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


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