gifts2017

Подсистема "Обмен данными по произвольным правилам КД 2.0"

Опубликовал Арсений Гришаев (Pro-tone) в раздел Обмен - Обмен через XML

Подсистема "Обмен данными по произвольным правилам "Конвертации данных 2.0" дает возможность быстро и просто настроить обмен (синхронизацию) данных по своим произвольным правилам "Конвертации данных 2.0" в любых конфигурациях 1С 8.х, быстро настроить обмен с РИБ. Малое количество объектов для переноса (5 против свыше 100 БСП 2.0)!

Не будет лишним напомнить, что в новых версиях типовых конфигураций 1С (на основе БСП 2) нет возможности создавать регулярные обмены (через COM-соединение) по произвольным правилам, созданным с помощью "Конвертация данных 2.0". Фирма 1С создала возможность создавать обмены только со своими типовыми решениями. Поэтому возникла идея создать универсальный механизм, подсистему, которая будет содержать необходимый набор объектов для осуществления процедур обмена данными по своим произвольным правилам формата XML, созданным в привычной многим "Конвертации данных 2.0". Сделать доступным для запуска рядовым пользователем. Может многие уже сталкивались, например, с проблемами типа:

  • Как настроить синхронизацию данных ERP с "Бухгалтерия предприятия 3.0" в пользовательском режиме(!) по своим правилам КД 2.0?
  • Как настроить синхронизацию данных "Розница 2.0" с ERP с хотя бы по типовым правилам (которых, кстати, пока не существует)?
  • Как настроить синхронизацию данных "Бухгалтерия предприятия 3.0" со своей рукописной конфигурацией не перенося весь сложный механизм обмена данными БСП 2.х?
Если для вас эти вопросы знакомы и единственным решением до этого было нанять специалиста, чтобы он настроил обмен (часто по известному только ему алгоритму) и далее подсаживал на свою поддержку до конца своих дней, то "Подсистема обмена данных (по произвольным правилам КД 2.0)" для вас!
В ряде случаев конфигурации являются нетиповыми, и процесс настройки обмена для большинства случаев является непростым делом.
Из-за отсутствия универсального механизма обмена данными настройка регулярного обмена между текущими версиями продуктов 1С (на БСП 2), для которых 1С не создала правил обмена, представлялась непростой задачей, полностью зависящей от программиста, который должен был разработать свой механизм регулярного обмена данными (а, в ряде случаев, и умереть вместе с ним).
К минусам существовавших ранее (например, в УПП) т.н. Online-обменов можно отнести отсутствие реализации переноса самих вложенных объектов. Было необходимо писать правила выгрузки данных для каждого объекта, связанного с родительским (например, чтобы перенести документ-основание текущего документа) нужно было создать правило выгрузки данных для него и выгружать по нескольким правилам вместе с родительским иначе переносилась ссылка без самого объекта вида (Объект не найден <строка УИД>).
Отныне это в прошлом! Пользуясь подсистемой "Обмен данных" теперь вы сможете осуществлять регулярную синхронизацию данных между любыми конфигурациями для управляемого приложения независимо от наличия встроенной возможности и по своим произвольным правилам! При обмене дочерние объекты переносятся полностью, а не только ссылкой, как было ранее в типовых обменах 1С!
Порядок работы с механизмом
  1. Объединяете объекты подсистемы со своими конфигурациями (источником и приемниками). 
  2. Регистрируете подсистему "Обмен данных", вводите ключ регистрации в конфигурации базы-источника.
  3. Настраиваете регистрацию изменений нужных вам объектов в плане обмена из  подсистемы "Обмен данных" - то есть включаете нужные объекты в состав плана обмена с авторегистрацией (либо же регистрацией используя код).
  4. Создаете узлы плана обмена в соответствии с типовой логикой - обратная зеркальная нумерация кодов узлов плана обмена в источнике и внешних базах. 
  5. Создаете настройку обмена, которая включает в себя настройку подключения ко внешней базе файловой или серверной (должна быть зарегистрирована компонента comcntrl.dll, о том как зарегистрировать компоненту на х64 сервере описано тут ), узел внешней базы плана обмена. 
  6. Создаете свои правила обмена в КД 2.0. Загружаете их в настройку.
  7. По желанию можете их прочитать и выбрать только те объекты, которые хотите выгрузить из текущей и внешней базы.
  8. Запускаете синхронизацию. Синхронизация может быть запущена в регламентном задании. Коды для обработчиков можно получить по кнопке настройки обмена. Готово!
 
Протестировано на обменах между конфигурациями: ERP, БП 3.0, Розница 2.0 и собственными рукописными конфигурациями.
Входящие в подсистему объекты:
  • Общий модуль DtExch_ ОбменДанными
  • Справочник DtExch_НастройкиОбмена
  • Константа DtExch_КлючРегистрации
  • Обработка DtExch_ОбменДаннымиXML
  • Регистр сведений DtExch_ОтложенныеДвиженияДокументов
Общие вопросы
  • Требования: все версии платформ 1С начиная с 8.2 и выше, ограничений на конфигурации нет
  • Доработка для неподдерживаемых версий 1С: не требуется
  • Код программы частично закрыт. Условие получения открытого кода - письмо разработчику через сайт Infostart. 
  • Обновления программы бесплатные, возможны по стандартной поставке с частично закрытым кодом. Обновления обычные будут идти отдельными cfu файлами.
  • Обновления крупные - платные. 
  • Техподдержка: отвечаю в личных письмах тут, в крайнем случае - по телефону, но лучше в письме с наглядной иллюстрацией проблемы. Отвечаю только по теме конкретной разработки, без растекания на другие темы.
  • Лицензирование происходит единократным вводом ключа продукта в константу "Подсистема обмен данными - Сервис -Ключ регистрации подсистемы обмен данных"
  • Инструкция по внедрению и установке есть тут

Обновление версии до 1.2
Новое: 
  • Созданы формы обычного приложения, теперь подсистема полностью совместима с обычным приложением
Исправления:
  • Добавлены проверки заполнения на форме "Настройка обмена"
  • Исправлено расширения файла протокола обмена при выборе по кнопке с "xml" на "txt"
Примечания:
  • При включении обмена между конфигурациями разных платформ 8.2 - 8.3 при неустановленном режиме совместимости в 8.2 приводит к вылетанию рабочего процесса из памяти (крэш системы). Для решения этого вопроса
  • нужно установить режим совместимости конфигурации 8.2. В форме элемента настройки обмена выбрать ту версию платформы конфигурации, которую указали в режиме совместимости конфигуратора. 
  • Пример: имеем 2 базы База1 и База2. База1 имеет режим "обычное приложение", База2 "управляемое" приложение
  • В конфигураторе Базы1 устанавливаем режим совместимости "Версия 8.3.6". Далее запускаем ее и в настройке обмена указываем версию платформы текущей базы 8.3. Если же указать режим совместимости "Версия 8.2.х", то аналогично тогда устанавливаем версию платформы текущей базы 8.2.

Причины купить

1. Возможность использования произвольных правил обмена "Конвертации данных 2.0" в любых конфигурациях 
2. Простота внедрения - малое количество объектов для переноса (5 против свыше 100 БСП 2)!
3. Управляемые формы, механизм можно встроить даже в толстый клиент обычного приложения 
4. Возможность выбирать тип выгружаемых объектов прямо в настройке обмена после чтения и загрузки правил обмена
5. Соединение с внешней базой через COM-соединение (прямой и файловый вариант обмена).
6. Возможность выгрузки-загрузки сообщений обмена без подключения к базе-приемнику (например, при настройке обмена РИБ).
7. Значительно более низкая стоимость в сравнении с решениями, основанными на отдельной внешней конфигурации.

Достоинства

1. Простое решение для настройки обмена данных.

2. Иные законченные решения предлагают либо внешнюю конфигурацию, либо руководство к самостоятельной доработке типовых обработок, например "Универсального обмена".

В первом случае минусы - дополнительное звено в цепь баз данных, и значительно более высокая цена. Во втором случае - отсутствие полной функциональности типового механизма обмена данных, такого как контроль за очисткой таблицы изменений, прием-передача и хранение сообщений обмена и т.п.

3. Обмен по COM (файловый вариант и прямое/обратное подключение), обмен без подключения к ИБ - выгрузка/загрузка в файлы XML для РИБ.

4. Возможность выбора объекта выгрузки данных прямо в настройке обмена.

Гарантия возврата денег

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Подсистема "Обмен данных по произвольным правилам КД 2.0"
17.08.2016
1.2 7500 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Старых (tormozit) 26.02.16 23:25
2. Александр Белов (AlexWhite) 02.03.16 10:45
Если все основные настройки делаются в конфигураторе, в режиме предприятия, добавлен ключ, внешняя компонента - чем это лучше штатных механизмов настроек планов обмена? (подписался)
3. Арсений Гришаев (Pro-tone) 02.03.16 14:40
(2) AlexWhite, лучше это тем, что используется КД 2.0. Плюс внедрение абсолютно не привязанное вообще никак к БСП, особенно к конфам не на основе БСП, а рукописным, например.

Пример: программист знает КД 2.0, но есть куча нетиповых конф на БСП и без оных, надо настроить обмен данных между ними. Что и как люди обычно поступают в этом случае?
Мой опыт показывает, что люди пишут свои собственные обмены как правило кодом - по COM, веб- и http-сервисами, обмены через текстовый файл и т.п. И это все есть неунифицированные решения, которые имеют очень большие минусы. Главные из которых - высокая трудоемкость создания/изменения таких обменов, время, низкая скорость отладки и т.п.
4. владимир демченко (jour) 13.05.16 18:01
А что мешает пользоваться штатной обработкой - "Универсальный обмен данными XML" ? делаешь свой узел для полного узла обмена, загружаешь свои правила регистрации и собственно все. Если очень захочется - можно запускать в фоне по расписанию.. и главное все бесплатно и в любой конфигурации.
5. Арсений Гришаев (Pro-tone) 13.05.16 22:39
(4) jour, я что-то не видел в штатной обработке "Универсальный обмен данными XML" функционала для работы с планами обмена, выборкой изменений по узлам, записью информации сообщений по узлам обмена, очистку таблицу изменений узлов и т.п. Никто не спорит, можно допилить "Универсальный обмен" чтобы он начал понимать сообщения обмена, но пока ни одного универсального готового решения я не встречал. Есть только советы как это сделать. К тому же хранение самих правил тоже вопрос в этом случае возникает. И опять же, каждый что-то пишет под себя, хотя можно использовать унифицированное решение типа того, что было на БСП.
В нашем случае человек получает быстрое решение безо всяких допилов, встраивающееся в любую на 8.2 и выше конфу.
6. Andrey BedaNastala (Lem0n) 28.07.16 15:27
(5) Pro-tone,
не видел в штатной обработке "Универсальный обмен данными XML" функционала для работы с планами обмена, выборкой изменений по узлам, записью информации сообщений по узлам обмена, очистку таблицу изменений узлов


велосипедная разработка
Прикрепленные файлы:
7. Арсений Гришаев (Pro-tone) 29.07.16 09:48
велосипедная разработка
Прикрепленные файлы:


Чистка таблицы изменений это все? Вообще-то еще есть передача и формирование сообщений обмена с регистрацией изменений, выборкой изменений и т.п.
Вы не пробовали в код обработки "Универсального обмена" залезть и посмотреть что там? Советую это сделать.
8. Илья Вольных (xFoG) 03.08.16 08:30
На пороге Enterprise Data, а люди не уймутся.
9. Сергей Смирнов (milanse) 21.11.16 15:16
(8) xFoG, Интерпрайз интерпрайзом, а с документооборотом свой обмен запилили. Опять же никакого контроля над процессом интерпрайз не предоставляет + шаг влево вправо = дорабатывай формат.
10. victor andone (victory) 03.12.16 16:27
Для нетиповых, рукописных конфигураций безусловно ОЧЕНЬ полезная обработка и труд однозначно немал (понимаю так-как ранее попытался внедрить подсистему из БСП в свою нетиповую).
Но сегодня внедрил данную подсистему в свою конфу и выдало ошибку:
"{CommonModule.DtExch_ОбменДанными.Module(500)}: Значение не является значением объектного типа (Записать)". Вариант встроенного языка конфигурации - Английский, может из-за этого?
Арсений, скинь пожалуйста свой mail. Заранее благодарен.
11. Арсений Гришаев (Pro-tone) 03.12.16 20:34
(10) специально проверил - вариант встроенного языка конфигурации не повлиял на запись двоичных данных правил на диск
12. Арсений Гришаев (Pro-tone) 03.12.16 20:40
(10) а ошибка ваша связана с тем, что пытаетесь проверить возможность обмена по кнопке на новой незаписанной настройке. Все же настройку необходимо сперва записать (элемент справочника "Настройки обмена данными"). После этого возможна проверка, так как файлы правил хранятся в справочнике в двоичном виде данных.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа