Помощник обмена данными (8.1)









Всем, привыкшим к обменам в формате XML, посвящается…

Все прекрасно помнят концепцию типового мигрирования данными между УТ 10.3 и БП 2.0 — "представьте, что ведете учет в одной информационной базе, все измененные объекты будут выгружены при очередном обмене". Данная обработка позволяет решить проблему такого подхода, точнее, помогает пользователю контролировать состав выгружаемых данных при использовании планов обмена.

  В большинстве типовых решений уже присутствуют встроенные средства обмена с конфигурациями на платформе «1С:Предприятие. Допустим, в нашей небольшой организации есть отделы телемаркетинга и продаж, которые «живут» в УТ («Управление торговлей, ред. 10.3») и бухгалтерия, которая работает в своей родной БП («Бухгалтерией предприятия ред. 2.0»). Раз в неделю мы выгружаем данные из УТ в БП стандартными средствами (кто-то когда настроил выгрузку на основании типового плана обмена). В стандартной поставке УТ при настройке обмена возможно лишь задавать фильтры на выгружаемые данные… В итоге получаем:

  1. Бухгалтер ждет обмена данными с корвалолом под языком — для нее эта замечательная процедура превращается в игру «найди 3 отличия между оборотками до и после очередного обмена».
  2. Границу запрета редактирования данных поставить нельзя по управленческим соображениям…
  3. Период выгрузки тоже каждый раз не подвигаешь — нужны некоторые измененные документы «из прошлого».
  4. Выгружаются «черт пойми какие» данные — черный ящик говорит нам «Выгружено 453 объекта» и пойди догадайся, контактной информации стало столько или все контрагенты изменились.
Данная обработка призвана помочь рядовому пользователю посмотреть, что же там такое выгружается, отфильтровать этот список и, если необходимо, дополнить его какими-либо объектами. Фактически, «Помощник обмена данными» управляет регистрацией изменений объектов.
 
 
Функции «Помощника обмена данными»:
  1. Отображение помеченных на выгрузку объектов
  2. Удобное изменение состава выгружаемых данных
  3. Сравнение объектов после выгрузки
  4. Запуск обмена данными
Помощник обмена данными предназначен для использования с обменами на основе объектов «План обмена». «Помощник…» не выполняет обмен данными, а лишь управляет пометкой выгрузки для объекта — «будет ли определенный объект включен в обмен или нет». 


Пример работы с помощником (БП 2.0 и УТ 10.3, односторонний обмен из УТ):

1. Открываем обработку обмена в УТ. Указываем узел обмена и настройку обмена (для соблюдения фильтров).
 
В левой части представлены доступные функции с кратким описанием: 
Панель
  •  «Показать дерево объектов» — отображает объекты, которые возможно выбрать для обмена (*записями регистров сведений обменяться не получится — не реализовал за ненадобностью заказчику…). Предполагается, что пользователь добавит необходимые объекты в дерево объектов к обмену с помощью подборов, которые вызываются из контекстного меню, доступного по правой кнопке или с помощью опции «Фильтры». 
  • «Показать настройки» — позволяет изменить выбранный узел и настройку обмена
  • «Выбрать текущие изменения» — будут выбраны все «готовые к выгрузке» объекты. Там можно будет нажать на кнопку контекстного меню «Убрать неотмеченные виды» — в дереве останутся только отмеченные объекты.
  • «Фильтры» — позволяет добавлять объекты по условиям. Галочками отмечаются типы объектов, на которые накладываются ограничения, задаются отборы. После нажатия на «Добавить по фильтрам» указанные объекты будут добавлены в дерево объектов
  • «Сравнить» — при наличии регистра «Соответствия объектов для обмена» возможно посмотреть, куда выгрузились наши данные

2. В дереве объектов подбираем необходимые объекты

3. Нажимаем кнопку «Выполнить обмен» — произойдет запуск обмена по указанной настройке.

Объекты, которые выгрузились, могут быть просмотрены в пункте «Сравнить». По клику мышью возможно открыть как объект этой информационной базы, так и объект ИБ-приемника.

 

p.s. Обработка выкладывается «как есть» — код открыт, дорабатывать не планирую.

41 Comments

  1. amalisheva

    нужная обработка, спасибо очень помогла. всем советую!!!!!

    Reply
  2. AzzZ

    На 8.2 УПП проблем не будет?

    Reply
  3. AzzZ

    Скачал, на УПП 1.3 при выбранном плане обмена и настроек, дерево вообще не выводит никаких объектов.

    Жаль что нет регистрации по движениям.

    Reply
  4. nshrek2

    Спасибо, очень нужная обработка давно искал нечто подобное.

    Reply
  5. Sairys

    Интересная вещь нужно попробовать, потестить. А так вообще тема очень актуальная, как раз для меня.

    Reply
  6. siddy

    На(2) AzzZ, я постараюсь сегодня-завтра добавить обработку на 8.2 — там пришлось немного в коде изменить

    Reply
  7. siddy

    (3), сейчас упп нет под рукой — вообще странно. посмотрю и отпишусь

    Reply
  8. leraks

    Спосибо! Эта обработка только для миграции данных конфигураций УТ 10.3 и БП 2.0?

    Reply
  9. provnick

    Оч. актуально и хорошо, но начинаем и вот этим заканчиваем: Поле объекта не обнаружено (Авансовый отчет) МетаданныеОбъекта = Метаданные[ИмяОбъекта]; что то может быть?

    Reply
  10. siddy

    (3),(8) Да, наша упп не показатель — слишком переписана. Обработка при построении дерева анализирует таб. часть «НастройкаВыгрузкиДанных» справочника «НастройкаВыгрузкиДанных», при некоторых обменах табличная часть — пуста, т.е. дерево не формируется. Обработка сейчас работает на типовых БП 2.0, типовых УТ 10.3, очень нетиповом УПП 1.2, близко к очень нетиповой КА. Код открыт — всегда можно под себя доделать, взяв основное =)

    Reply
  11. siddy

    (9) ИмяОбъекта вообще либо документ, либо справочник или регистр… На каких конфигурациях и платформах запускаете?

    Reply
  12. provnick

    (11) на УТ, в отладчике в Функция ПреобразоватьВид(ВидОбъекта)

    ИначеЕсли Найти(ВидОбъекта,»Документ») Тогда

    ИмяОбъекта = «Документы»;

    Найти(ВидОбъекта,»Документ»)= Тип Число и значение =0, а ВидОбъекта пишет «Авансовый отчет»

    Reply
  13. siddy

    (12) дак на 8.2, наверное, тестируете) Вам нужно заменить проверки типа на [Справочники|Документы].ТипВсеСсылки().СодержитТип(НашТип) или подождать, пока я не найду у себя версию на 8.2

    Reply
  14. provnick

    Нет 8.1, но Каз, видимо тут по другому, пробовал

    МетаданныеТипа = Метаданные.НайтиПоТипу(ВидОбъекта);

    Если Метаданные.РегистрыСведений.Содержит(МетаданныеТипа) Тогда

    Возврат «РегистрыСведений»;

    ИначеЕсли Метаданные.Документы.Содержит(МетаданныеТипа) Тогда

    Возврат «Документы»;…..но и тут не проходит пишет:Несоответствие типов (параметр номер ‘1’)

    Reply
  15. siddy

    (14) киньте в личку цфник или демку — гляну

    Reply
  16. darin44

    УТ10,

    в отладчике в Функция ПреобразоватьВид(ВидОбъекта)

    ИначеЕсли Найти(ВидОбъекта,»Документ») Тогда

    ИмяОбъекта = «Документы»;

    Найти(ВидОбъекта,»Документ»)= Тип Число и значение =0, а ВидОбъекта пишет «Авансовый отчет»

    платформа 8.1

    Reply
  17. asg1975

    Идея хорошая, осталось на практике попробовать..

    Reply
  18. asg1975

    Сразу грабли. Плиз, выкладывайте файлы с расширением…

    Reply
  19. siddy

    (18) Подскажите, что Вы имеете ввиду? Вроде бы, у фалов стоит .epf, а в названии темы сказано, что для 8.1….

    Reply
  20. siddy

    Добавил обработку для УТ Казахстана — в тестовом режиме, самому не на чем тестировать, так что перед использованием проверьте на демо-базе

    Reply
  21. asg1975

    (19) при скачивании просто получил файл «Помошник» (без расширения)

    Reply
  22. siddy

    (21) asg1975, попробовал скачать — «Помощник обмена данными.epf». Вроде бы больше никто не жаловался на файл без расширения.

    Reply
  23. AlikK

    У меня скачало без расширения, но это совсем не проблема добавить расширения файлов. Файл действительно Помощник а не помощник обмена файлами.

    Прошу добавить для 8.2 — потому как выбивает на ошибке Поле объекта не обнаружено (Авансовый отчет) МетаданныеОбъекта = Метаданные[ИмяОбъекта];

    У меня Ут но 8.2

    Reply
  24. balabani

    Вот спасибо Очень нужна такая вещь в работе

    Reply
  25. che444

    + автору за отличный инструмент в моем чемоданчике

    Reply
  26. angellbroken

    Пожалуй, такая обработка действительно является очень нужной и полезной! Автору респект!

    Reply
  27. IridiumAt

    Добавьте пожалуйста версию обработки для 8.2.

    Reply
  28. MRAK

    Красиво!

    Reply
  29. druv

    На сколько я понимаю, это тоже самое (аналог), что и 1С-ская универсальная «Регистрация изменений для обмена», что идет в составе конфигурации для конвертации данных, только в «красивой упаковке»?!

    Reply
  30. master_yoda

    XML это наше фсио

    Reply
  31. AlexO

    (10)

    «Код открыт — всегда можно под себя доделать, взяв основное =)»

    можно поворчать?

    вообще-то скачка «под пользователем» ))

    в личку можно получить обработку? а то глянуть интересно очередное «all+inclusive», а то все обработки «под пользователем» да «под пользователем»…

    (29) druv,

    да в «Регистрация изменений для обмена» вроде тоже все красиво.. или кнопки вместо нажатий на заголовки вкладок — это «красивее»?

    вопрос о «это тоже самое (аналог)» я пока оставляю за бортом… не смотрел, не знаю…

    Reply
  32. psih12

    А когда всё-таки версия под 8.2 будет? А то у меня в УТ 10.3 сразу выдаёт следующее:

    «Поле объекта не обнаружено (ABCКлассификацияПокупателей)

    НоваяСтрока.Картинка= БиблиотекаКартинок[СтрЗаменить(ВидОбъекта, » «, «»)];»

    Reply
  33. madamonika

    Хочу попробовать использовать обработку на 8.2 Бухгалтерия, только у меня две базы однородные. Нужно ведение учета и там и там. Отпишусь о результате выгрузки.

    Reply
  34. madamonika

    Отчет работает и на 8.2 . Я сконвертировала, все работает. Вот только он для РИБ баз. Под однородные не подошел.

    Reply
  35. Ghost13341

    а мы тока переходим на 8ку.. полезная прога.. бум использовать)

    Reply
  36. grishas

    Нет 8.1, но Каз, видимо тут по другому, пробовал

    МетаданныеТипа = Метаданные.НайтиПоТипу(ВидОбъекта);

    Если Метаданные.РегистрыСведений.Содержит(МетаданныеТипа) Тогда

    Возврат «РегистрыСведений»;

    ИначеЕсли Метаданные.Документы.Содержит(МетаданныеТипа) Тогда

    Возврат «Документы»;…..но и тут не проходит пишет:Несоответствие типов (параметр номер ‘1’)

    Reply
  37. madamonika

    Хорошо так подробно описано, что даже любой пользователь, не имеющий навыков программирования сможет произвести наладку обмена данными! 🙂 автор молодец!

    Reply
  38. firevii

    Отличная обработка. Жаль не могу скачать. Требует денег.

    Reply
  39. firevii

    Немного не понял. Эта обработка может помочь включить в план обмена новые документы или она работает только с уже имеющимися в файле который получен при обмене?

    Reply
  40. KliMich

    Классная обработка!

    А главное идея!!!

    Reply
  41. EugenLiquor

    Вопрос — поможет при обмене с Розницы для Украины 1 на Управление торговлей для Украины 2.3? Сейчас этим занимаюсь, вот интересно узнать!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *