Двусторонний обмен УПП - ERP

1. Drivingblind 228 29.12.19 06:47 Сейчас в теме
Имеются две конфигурации: нетиповая УПП и типовая ERP Управление предприятием, между которыми необходимо настроить обмен. Для обмена имеются правила обмена УПП-ERP и ERP-УПП. Теперь нужно реализовать непосредственную процедуру обмена и разрешения коллизий, т.к. обмен двусторонний и начать процедуру обмена может как одна, так и другая конфигурация в любой момент.
В обменах я не специалист, поэтому вижу несколько вариантов решения данной задачи.
Регистрация изменений:
- Планы обмена или регистр, в который записываются измененные объекты;
- Регистр, который содержит в себе дату начала и окончания обменов. Необходимо для исключения коллизий (например, чтобы база 1 не запустила обмен, т.к. база 2 уже его выполняет).
Технология обмена:
- Вызов базы 1С через COM или OLE;
- WEB/HTTP-сервисы;
- регламентное задание и файл с выгрузкой.

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

p.s. Всех с Наступающим Новым годом :)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. ipoloskov 162 29.12.19 13:09 Сейчас в теме +0.03 $m
Проще писать через COM.
Универсальнее - через файл/WEB/HTTP
Чтобы не было коллизий, вызывайте обмен с одной стороны. Например, при обмене через WEB последовательно выполняйте шаги в базе 1:
1. Формирование пакета с данными 1->2
2. Вызов функции базы 2 для приема данных. Эта же функция возвращает пакет с данными 2->1.
3. Прием данных 2->1. Очистка регистрации изменений в базе 1.
4. Вызов функции базы 2 "Прием успешен". Очистка регистрации изменений в базе 2.
Drivingblind; acanta; +2 Ответить
11. Xershi 1484 29.12.19 20:45 Сейчас в теме +0.03 $m
(10) все правильно понимаете. Обычно данные вводят в центральной базе, далее они мигрируют. Если делать в 2 база ввод. Тогда придется решать не коллизии, а вопросы с дублями. Коллизии будут возникать когда в 2 базах 1 объект отредактировали. Администратор базы или администратор обмена будет такие проблемы разруливать!
Даже если ввод данных будет в 1 базе, то коллизии все равно будут и их администратор должен будет решать. Чтобы их минимизировать нужно административно решить где заполнять данные и все.
Drivingblind; ipoloskov; +2 Ответить
13. lmnlmn 69 30.12.19 10:15 Сейчас в теме +0.01 $m
Если есть хоть малейшая возможность не связываться с двусторонним обменом между этими конфигурациями - не связывайтесь))
Drivingblind; +1 Ответить
14. MaxS 2851 30.12.19 17:18 Сейчас в теме +0.03 $m
Есть готовое решение
"Обмен УПП - ED" https://infostart.ru/public/444523/product/465895/
"Правила синхронизации ERP 2 - ED" https://infostart.ru/public/632263/product/633179/
УПП может быть нетиповой и любой версии.
ERP аналогично может быть любой версии, с доработками и постоянно обновляться обновлениями от 1С. На обмен не повлияет, работать будет.
Используется план обмена в обеих базах. Обмен через каталог или FTP или почту. Можно запустить по расписанию.
Drivingblind; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Xershi 1484 29.12.19 13:34 Сейчас в теме
(1) в типовом обмене все реализовано.
Почитай как он работает и этого будет достаточно.
4. Drivingblind 228 29.12.19 14:41 Сейчас в теме
(3) Вы про эту обработку?
https://infostart.ru/public/375452/
Пробовали, не подходит. Есть уже свои самописные правила обмена.
6. Drivingblind 228 29.12.19 14:48 Сейчас в теме
(3) не подходит потому, что УПП нетиповая
7. Xershi 1484 29.12.19 18:13 Сейчас в теме
(6) походу не читали, как это работает! Научитесь такое писать перестанете!
Drivingblind; +1 Ответить
9. Drivingblind 228 29.12.19 19:39 Сейчас в теме
(7) почитал. Если вы про ту обработку, на которую я прикрепил ссылку выше, то там com-соединение и правила обмена. Зачем покупать правила обмена, если они уже есть разработанные под нашу конфигурацию, я не совсем понимаю.
2. ipoloskov 162 29.12.19 13:09 Сейчас в теме +0.03 $m
Проще писать через COM.
Универсальнее - через файл/WEB/HTTP
Чтобы не было коллизий, вызывайте обмен с одной стороны. Например, при обмене через WEB последовательно выполняйте шаги в базе 1:
1. Формирование пакета с данными 1->2
2. Вызов функции базы 2 для приема данных. Эта же функция возвращает пакет с данными 2->1.
3. Прием данных 2->1. Очистка регистрации изменений в базе 1.
4. Вызов функции базы 2 "Прием успешен". Очистка регистрации изменений в базе 2.
Drivingblind; acanta; +2 Ответить
5. Drivingblind 228 29.12.19 14:45 Сейчас в теме
(2) какой путь лучше выбрать, регистрировать изменения через планы обмена или через регистр?

Тот путь, который вы описали, он подразумевает, что одна база будет ведущая, другая — ведомая. хотелось бы, чтобы они были равноправными и каждая из них могла начать обмен. Или не стоит заморачиваться?
12. ipoloskov 162 30.12.19 07:12 Сейчас в теме
(5) регистрировать через план обмена.
Для обмена через WEB есть хороший пример в книжке "1С:Mobile!"
8. Xershi 1484 29.12.19 18:25 Сейчас в теме
(2) умнее чем план обмена пока ничего не придумали. И все велосипеды так или иначе его имитируют. Так зачем выдумывать что-то другое?
А вот технология подключения, ком, файл или прочее уже не играет роли!
Drivingblind; acanta; +2 Ответить
10. Drivingblind 228 29.12.19 19:42 Сейчас в теме
(8) спасибо.
Всё же хотелось ещё уточнить, как разрешать коллизии. Стоит ли делать систему ведущий-ведомый, чтобы только одна база могла начинать обмен, а вторая была подчиненная, или сделать их равноправными? Ведь если они обе начнут одновременно передавать данные, начнутся конфликты. Или я что-то не понимаю?
11. Xershi 1484 29.12.19 20:45 Сейчас в теме +0.03 $m
(10) все правильно понимаете. Обычно данные вводят в центральной базе, далее они мигрируют. Если делать в 2 база ввод. Тогда придется решать не коллизии, а вопросы с дублями. Коллизии будут возникать когда в 2 базах 1 объект отредактировали. Администратор базы или администратор обмена будет такие проблемы разруливать!
Даже если ввод данных будет в 1 базе, то коллизии все равно будут и их администратор должен будет решать. Чтобы их минимизировать нужно административно решить где заполнять данные и все.
Drivingblind; ipoloskov; +2 Ответить
13. lmnlmn 69 30.12.19 10:15 Сейчас в теме +0.01 $m
Если есть хоть малейшая возможность не связываться с двусторонним обменом между этими конфигурациями - не связывайтесь))
Drivingblind; +1 Ответить
14. MaxS 2851 30.12.19 17:18 Сейчас в теме +0.03 $m
Есть готовое решение
"Обмен УПП - ED" https://infostart.ru/public/444523/product/465895/
"Правила синхронизации ERP 2 - ED" https://infostart.ru/public/632263/product/633179/
УПП может быть нетиповой и любой версии.
ERP аналогично может быть любой версии, с доработками и постоянно обновляться обновлениями от 1С. На обмен не повлияет, работать будет.
Используется план обмена в обеих базах. Обмен через каталог или FTP или почту. Можно запустить по расписанию.
Drivingblind; +1 Ответить
15. Xershi 1484 30.12.19 19:41 Сейчас в теме
(14) понятно УП по КД3. А как внешняя обработка сделает план обмена для шины в УПП? Или подсовывается суррогат?
16. MaxS 2851 30.12.19 20:00 Сейчас в теме
(15) Используется типовой план обмена УППУПП. Все механизмы типового обмена задействованы. В нужный момент идёт подмена алгоритма формирования xml файла.
Внешняя обработка, подключенная штатно в режиме предприятия автоматически запускается, готовит xml и оставляет его там, где он должен быть.
Далее типовой транспорт отправляет xml файл по назначению.
Приём файла аналогично - внешняя обработка перехватывает типовой алгоритм, загружает xml, отменяет регистрацию, сообщает о результате.
17. Xershi 1484 30.12.19 20:01 Сейчас в теме
(16) хитро. А как столько клиентов нашли, чтобы раскрутить тему или в начале чисто академически занимались такой проблемой?
18. MaxS 2851 30.12.19 20:13 Сейчас в теме
(17) в 15-м году проверил идею, заработало, внедрил клиенту в старую УТ 10.3.5. Для обмена с постоянно обновляемой БП 3.0. До сих пор работает. Пару раз требовалось небольшое обновление.
С тех пор для других клиентов доработка функционала и расширение видов конфигураций.
Внедрение максимально простое - несколько строк в одной обработке или модуле.
19. Xershi 1484 30.12.19 20:54 Сейчас в теме
(18) 4 года большой срок. Я тогда только читал про кд 3.
20. Drivingblind 228 04.01.20 09:16 Сейчас в теме
(14) прочитал вашу статью про КД 3 (ранее с ней не сталкивался) и почитал про ваши продукты для обмена с использованием ED. Очень интересно, но не совсем понятно, подойдет ли это в моем случае.
Потому что в моем случае УПП очень сильно доработанная, типовой план обмена УПП-УПП не подойдет, его придется дорабатывать + есть уже самостоятельно разработанные правила обмена для нашей УПП - ERP.

Правильно ли я понимаю, основной плюс вашей разработки в том, что не "сломается" обмен после обновления ERP? Т.к. сама структура ED обновляется вместе с конфигурацией ERP. От возникновения конфликтов и коллизий, ваша разработка не будет панацеей.

И ещё вопрос, почему именно файловый обмен а не с помощью других технологий?

Заранее извиняюсь, если я где-то неправильно выразился. С КД3 я ни разу не работал и ещё много чего не знаю.
21. MaxS 2851 04.01.20 21:46 Сейчас в теме
(20) Добрый день!
План обмена УПП-УПП подойдет, т.к. он используется только для регистрации объектов. И состав плана обмена самый полный. Правила обмена УПП не используются и не требуют доработки.

>есть уже самостоятельно разработанные правила обмена для нашей УПП - ERP.
для КД3 они не требуются и не могут быть использованы, разве, что для анализа что куда и как передавать.

Если в ERP обновляется формат ED, это не повлияет на обмен со старой УПП, т.к. будет использован тот формат, который есть в обеих конфигурациях.
В УПП и в ERP этих форматов несколько 1.4, 1.5, 1.6, 1.7.
Если в ERP появится формат 1.8, обмен не поломается, т.к. никуда не денется 1.7. Под ним и будет обмен.

Обмен посредством файлов через папку, FTP или почту, т.к. он присутствует в обеих конфигурациях. Прямой обмен через COM не поддерживается, т.к. потребуется доработка УПП, которая сведёт на нет универсальность и появится зависимость от конфигурации ERP.
22. Drivingblind 228 05.01.20 11:55 Сейчас в теме
(21) видимо, я не совсем понятно описал ситуацию: есть ли смысл начинать использовать КД3, когда уже созданы правила обмена под КД2? По большому счету, на данный момент осталось только решить вопрос с тем, как автоматизировать процедуру обмена и регистрацию измененных объектов. Сам обмен уже работает с разработанными правилами, если вызывать его вручную.

План обмена УПП-УПП подойдет, т.к. он используется только для регистрации объектов.

УПП нетиповая, в ней много создано дополнительных объектов конфигурации. Правила обмена это учитывают (когда, например, два документа в УПП нужно объединить в один в ERP и наоборот).

Обмен посредством файлов через папку, FTP или почту, т.к. он присутствует в обеих конфигурациях.

Понял, спасибо за ответ.
23. MaxS 2851 05.01.20 14:09 Сейчас в теме
(22) Однажды у меня была подобная задача. Правила вроде почти готовы, а автоматизации никакой. В итоге потом получилось, что затрат на автоматизацию оказалось больше, чем на правила.
Второй раз на те же грабли решил не наступать и попробовал КД3. Получилось тиражировать этот подход. Внедряется один раз и потом не зависит от обновлений второй базы.

В Вашем случае зависит от объёмов доработок. Может получиться, что сейчас доработать имеющиеся правила будет быстрее, а потом придётся обслуживать обмен и поддерживать актуальность после обновлений ERP.
С КД3 внедрить готовое получится сразу и запустить обмен типовыми объектами. Потом потребуется время чтобы разобраться с нетиповыми объектами. Всё зависит от желания разобраться в доработке КД3.
Drivingblind; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот