|
Web-сервисы, как передать только изменения данных | ☑ | ||
---|---|---|---|---|
0
Антиквар
10.09.21
✎
01:19
|
Всем привет!
Есть задача: синхронизация данных 1С и внешней системы (не 1С). Нужен двухсторонний обмен. Причем 1С должна передавать только изменения данных. Т.е. если 1С передала контрагента, то в следующий раз нужно передать его во внешнюю систему только в том случае, если у контрагента что-то поменялось, какой-то реквизит. Была мысль сделать план обмена, реализовать нужную регистрацию изменений объектов, анализировать изменения и выгружать их в какой-то файл или напрямую во внешнюю систему (есть описания таблиц SQL внешней системы, т.е. можно напрямую пихать туда данные). Но все сейчас говорят про веб-сервисы. Мол их очень удобно использовать как раз для задач синхронизации с внешними системами, к тому же это безопасно, потому что нет прямых подключений к внешним базам, и наоборот, в твою базу никто не лазает. В общем это сейчас очень популярно, и главное, как я понял, очень правильно. Хочется попробовать и научиться этому. Я только начинаю в этом разбираться, но пока не могу понять, реализуема ли моя задача через веб-сервисы в принципе? Пока всё что я понял - это возможность публикации определенных методов, которые клиент будет вызывать, получая мои данные. Либо наоборот, изменять мои данные. Но как сделать, чтобы клиент получал только изменения данных? Т.е. тут в любом случае получается связка "План обмена + Web-сервисы"? Без плана обмена не обойтись? Т.е. в методах нужно просто через план обмена получать изменения? И небольшая путаница с веб-сервисами, ибо в 1С они разделяются на http-сервисы и собственно на веб-сервисы. Первые для меня понятнее, тем более что я как клиент уже использовал их, забирал данные с различных площадок через опубликованные API. Но что лучше в моем случае... Просьба поделиться соображениями, что в моем случае лучше использовать, в какую сторону мне копать. |
|||
85
Антиквар
10.09.21
✎
11:36
|
(82) я это и имел ввиду, обмен из 1С во внешку подразумевает, что 1С выкладывает, а внешка стучится и забирает
|
|||
86
Антиквар
10.09.21
✎
11:37
|
(84) Да. Но и обратно тоже будет, пока просто непонятно какой объем информации на какой стороне будет вестись.
|
|||
87
Василий Алибабаевич
10.09.21
✎
11:37
|
(78) Ну так - то да.
|
|||
88
Антиквар
10.09.21
✎
11:37
|
(81) почему?
|
|||
89
Garykom
гуру
10.09.21
✎
11:37
|
(83) это НСИ и документы
Их надо будет как то синхронизировать по неким ID, кодам (уид) или наборам признаков-реквизитов |
|||
90
Garykom
гуру
10.09.21
✎
11:38
|
||||
91
Kassern
10.09.21
✎
11:39
|
(85) а учет где будет основной вестись? Если в 1с, то поидее 1ска должна руководить обменом, отдавать, как ввелись данные, и периодически стучатся, забирая данные с сайта.
|
|||
92
Антиквар
10.09.21
✎
11:39
|
(89) всё по ГУИД. Сложнее только с регистрами сведений
|
|||
93
Василий Алибабаевич
10.09.21
✎
11:40
|
(80) "Т.е. мы должны опубликовать сервис. Ну и от них тоже будет" А вот это вот плохая идея.
Сервис должен быть один и на одной стороне. А другая сторона будет либо забирать с этого сервиса свои данные или отдавать. |
|||
94
Антиквар
10.09.21
✎
11:40
|
(91) основной учет в 1С
|
|||
95
Garykom
гуру
10.09.21
✎
11:41
|
(92) если один вид сущности вводится в разных системах то дубли неизбежны
|
|||
96
Антиквар
10.09.21
✎
11:41
|
(93) тут пока не понимаю. Если обмен двухсторонний, то всё-равно должен быть один сервис???
|
|||
97
rsv
10.09.21
✎
11:42
|
(93) а пойдет это по сценарию …. Сервисов на 1с по причине «там все есть»
|
|||
98
Антиквар
10.09.21
✎
11:42
|
(95) это исключено. Источник данных всегда один
|
|||
99
Garykom
гуру
10.09.21
✎
11:42
|
(96) достаточно одного сервиса который умеет и туды и сюды
второй лишний |
|||
100
Garykom
гуру
10.09.21
✎
11:42
|
(98) это фантастика и сказки
|
|||
101
Kassern
10.09.21
✎
11:45
|
(96) сервис на стороне 1с удобен например для корзины, к примеру перед оплатой сайт постучался в 1с и убедился что товар есть в наличие и дал оплатить онлайн. А если же речь о получении заказов, то 1ска сама может по крону спрашивать у сайта, а есть ли для меня заказики и загружать если есть. Смысл для этого поднимать сервис со стороны 1с, чтобы сайт пихал заказ сразу как создался, эти 3 мин в большинстве случаев роли не играют.
|
|||
102
Kassern
10.09.21
✎
11:46
|
(101) опять же надо понимать какая нагрузка будет на 1с в этом случае. К примеру тысячи клиентов начнут по 100 раз запрашивать статусы заказов, данные по скидкам/товарам и т.д. и дергать 1ску.
|
|||
103
Антиквар
10.09.21
✎
11:47
|
(99) ясно. Просто пока не очень понимаю как реализуется.
(100) нет-нет, это реальность) |
|||
104
Антиквар
10.09.21
✎
11:50
|
(102) у нас не торговля. Синхронизация будет по расписанию. Т.е. неожиданно никто не начнет дергать. Дергать будет внешняя система, по расписанию, определенный набор объектов, каждый раз разный (в течении дня)
|
|||
105
Kassern
10.09.21
✎
11:50
|
(103) в веб сервис ты можешь постучаться с целью выплюнуть данные, или наоборот - запросить. Вот тебе и двухсторонний обмен.
|
|||
106
Kassern
10.09.21
✎
11:50
|
(104) я прост общую логику расписал с примерами, когда сервис удобен со стороны 1с.
|
|||
107
Василий Алибабаевич
10.09.21
✎
11:51
|
(103) У сервиса есть входные параметры (как минимум данные авторизации) и может возвращать какие-то ответы. Все. Этого достаточно.
Например запрос за цены - на входе коды номенклатуры и тип цен, на выходе - табличка цен. Запрос на создание заказа - на входе код покупателя и табличка заказа. На выходе - табличка резервов. (Ну это так... Пример) |
|||
108
Garykom
гуру
10.09.21
✎
11:52
|
(104) дык опубликуй из 1С http сервис, стандартную ODATA или свое и пусть "Дергать будет внешняя система, по расписанию"
|
|||
109
Василий Алибабаевич
10.09.21
✎
11:54
|
В общем то все уже обозначено. Осталось ТС определиться с тем что он будет пытаться реализовать.
Я - за ПланыОбмена + http сервис на стороне 1С. |
|||
110
Garykom
гуру
10.09.21
✎
11:59
|
||||
111
Kassern
10.09.21
✎
12:00
|
(109) я за планы обмена и http сервис со стороны сайта)
|
|||
112
Garykom
гуру
10.09.21
✎
12:05
|
(111) в некоторых случаях напрямую в sql базу 1С
|
|||
113
BeerHelpsMeWin
10.09.21
✎
12:12
|
(109) а я за планы обмена + выгрузка во внешний источник
|
|||
114
fisher
10.09.21
✎
12:17
|
(104) А почему дергать должна внешняя система, если регламент? Дергай из 1С по регламенту - тогда и http-сервис не нужен будет на стороне 1С.
|
|||
115
fisher
10.09.21
✎
12:21
|
(104) Раз у тебя на той стороне такие умельцы, то пусть все сами и сделают. Скажи им что сумеешь по регламенту дергать ихний rest и засылать им json с примитивными типами. А дальше они сами все разрулят и дадут тебе протокол с форматами. И ты просто будешь через http-соединение работать как им надо.
|
|||
116
rsv
10.09.21
✎
12:24
|
(115) а те умельцы ждут умельцев на 1с . Кто кого переждет.
|
|||
117
rsv
10.09.21
✎
12:25
|
А в финале “ а это ваш сервис такой … :)
|
|||
118
Garykom
гуру
10.09.21
✎
12:26
|
"трансграничная передача данных"
|
|||
119
rsv
10.09.21
✎
12:39
|
(0) пусть внешники ваяют на свой стороне все.
Вы дергайте и …. Оперативно тикет во внешний хелп - сервис не доступен просьба разобраться. |
|||
120
Антиквар
10.09.21
✎
12:42
|
(105) "в веб сервис ты можешь постучаться с целью выплюнуть данные, или наоборот - запросить. Вот тебе и двухсторонний обмен."
Т.е. если делаем один http-сервис, допустим на стороне 1С, то это значит, что внешняя система будет запускать методы сервиса для получения данных из 1С. А если нужно наоборот, получить данные из внешней системы в 1С, то опять же внешняя система будет запускать методы сервиса 1С, которые что-то пишут в базу 1С, передавая в эти методы какие-то объемы данных. Так? |
|||
121
Kassern
10.09.21
✎
13:51
|
(120) к примеру у вас поднят сервис СожриФайл, сайт стукнет гет запросом в 1ску, та возьмет и проверит определенный каталог, если там есть файлы, то сожрет их. Либо поднять POST метод, тогда сайт будет в тушке запроса пихать данные, а 1ска загружать из нее и отвечать, мол спс было вкусно.
|
|||
122
Kassern
10.09.21
✎
13:52
|
(121) на я бы все же эту головную боль переложил на сайт, а 1ска пущай регламенты юзает.
|
|||
123
Антиквар
10.09.21
✎
15:44
|
в общем решили, что будет брокер сообщений. Только хотят не RabbitMQ, а Кафку.
Знаю, что крутая штука, но как 1С с ней общается пока не ясно. |
|||
124
fisher
10.09.21
✎
16:08
|
Да. Без брокера тут не обойтись. Побольше middleware, нужных и не очень. Нужно же что-то админить.
|
|||
125
Kassern
10.09.21
✎
16:18
|
(123) а много будет систем для обмена? Сколько примерно сообщений в день? А то может получиться, что все эти брокеры будут выглядеть, как С-300 против мухи)
|
|||
126
Garykom
гуру
10.09.21
✎
16:20
|
(124) угу и ВК добавить обязательно для работы с брокером
|
|||
127
fisher
10.09.21
✎
16:24
|
Не, ну если у них kafka уже юзается в качестве эдакой корпоративной шины, тогда может и норм.
|
|||
128
fisher
10.09.21
✎
16:32
|
Просто обмен через брокера еще и больше ньюансов предполагает.
Вот запулит туда 1С свою чехарду. Считать это сразу успешной доставкой? А потом при выгребании окажется что там фигня какая-то оказалась и данные валидацию не проходят. Что дальше делать? |
|||
129
Kassern
10.09.21
✎
16:36
|
(128) что делать что делать, грохаешь все сообщения, шлешь полную выгрузку и ждешь еще такой подставы)
|
|||
130
fisher
10.09.21
✎
16:43
|
Я к тому, что обмен через брокера сложнее, если все по уму делать.
|
|||
131
2mugik
10.09.21
✎
16:45
|
(128)Если у сообщений нет адресации то нужен ли брокер? Положил в папочку - забрал.
|
|||
132
Kassern
10.09.21
✎
16:56
|
(131) а если 2 системы принимают, то положил в 2 папочки?)
|
|||
133
BeerHelpsMeWin
10.09.21
✎
17:24
|
(128) Тогда при обработке данных в шину валится сообщение "перешлите данные пакета Х" или "перешлите данные, начиная с пакета Х". И это сообщение надо обработать на стороне 1С.
Что такого сложного в работе с шиной? |
|||
134
Garykom
гуру
10.09.21
✎
17:30
|
(133) это уже RPC описываешь
|
|||
135
_KaA
10.09.21
✎
18:12
|
(0)
Мысль верная, только надо понимать, что передать файл или постучаться во внеш систему - это транспорт. А то как вы сформируете данные - это второй вопрос, который будет одинаковым для обоих реализаций. А в целом логичнее взять БСП, забрать от туда п/с ОбменыДанными (+ обязательные подсистемы) и использовать типовой функционал, там уже есть и транспорт через WS, и через файл, и через FTP, почту... |
|||
136
Антиквар
10.09.21
✎
19:42
|
(127) Да, кафка для каких-то задач уже юзается, либо собираются на неё переходить. Руководство высшее ИТ-шное там уже всё решило, они за кафку.
|
|||
137
Антиквар
10.09.21
✎
19:44
|
(125) ну вообще как я понял, главная причина - это стабильность. Типа сервис ляжет и кури бамбук. Кафка масштабируемая, производительная, безглючная) Ну и если она объединит в целом всё по компании, то наверное это всё же лучше, чем каждый сервис будет сам по себе барахтаться.
|
|||
138
2mugik
11.09.21
✎
12:54
|
(132) тогда можно подумать)
|
|||
139
MyNick
11.09.21
✎
18:46
|
(0) "Если все в одной сети веб сервисы, как по мне, не нужны."
А что надо? Лампово-древний COM? Откуда стереотипчик? (4) "разработчики внешней базы против прямого подключения. Говорят, что это не правильно, что это прошлый век. " Все правильно говорят. Ибо покупать мотыгу вместо мотоблока (или древние инструменты против современных) - это так себе. Даже если площадь маленькая и "кажется что все будет на одном участке в 2 сотки". |
|||
140
ДенисЧ
11.09.21
✎
18:49
|
(139) Правильно. Давайте ставить кролика для передачи сообщений между двумя соседними комптютерами
|
|||
141
MyNick
11.09.21
✎
19:09
|
(140) правильно давайте плюнем на концепцию API и будем напрямую в базы писать.
А когда контора вырастет в несколько раз и разными базами будут заниматься разные люди (команды), мы полностью все переделаем в авральном режиме (ресурсов и денег ведь докуа, да и не скучно хоть будет). И сделаем наконец так, как нужно было в самом начале. |
|||
142
ДенисЧ
11.09.21
✎
20:03
|
(141) А если не вырастет, а деньги уже потрачены и создано грандиозное, никому не нужное, сооружение по ГОСТ 26074-84 ?
|
|||
143
1CnikPetya
11.09.21
✎
20:19
|
(47) Чем это отличается от варианта прямого доступа к базе SQL? OData - это не про обмены с внешними системами.
|
|||
144
MyNick
11.09.21
✎
20:32
|
(142) веб сервисы в 1С делать проще, чем с COM и прямыми селектами ковыряться.
- делать проще - архитектура прозрачнее - поддержка проще - изоляция одного от другого - меньше потенциальных багов |
|||
145
MyNick
11.09.21
✎
20:34
|
+(144) Даже самую малую фигню передать - лучше сразу сделать правильно.
Т.к. даже если контора не вырастет, то хотелки вырастут многократно. И безобидный "прямой коннектор" превратится со временем в генератор проблем, который к тому же и развивать будет экспоненциально сложнее по мере роста. А кому оно надо? Нормально делай, нормально будет. |
|||
146
acanta
11.09.21
✎
20:36
|
Правильно ли я понимаю, что изменение одного реквизита контрагента (например, ИНН) не приведет к выгрузке всей связанной с контрагентом информации (т.е. будет выгружено только гуид и ИНН)?
|
|||
147
1CnikPetya
11.09.21
✎
20:39
|
(128) Ничто не мешает настроить 2 очереди. Первая - данные от 1С к внешней системе, вторая - от внешней системы к 1С с квитанциями об успешной обработки. Но тут уже не удастся реализовать на планах обмена, так как уже 3 состояния у объекта: зарегистрирован, отправлен, получено подтверждение.
|
|||
148
1CnikPetya
11.09.21
✎
20:41
|
(142) Что грандиозного в обычном REST или SOAP API? Нет в инфраструктуре шины или брокера и нет уверенности ,то он будет нужен - ну и не надо его вводить. А простые API - это нормально. COM и прямой доступ к БД - это дно.
|
|||
149
ДенисЧ
11.09.21
✎
20:52
|
(148) Что днового в обычном COM-соединении?
|
|||
150
acanta
11.09.21
✎
20:56
|
(149) долго устанавливается и отваливается по истечении определенного интервала.
|
|||
151
1CnikPetya
11.09.21
✎
20:58
|
(149)
1. Работа COM сильно зависит от окружения. REST или SOAP API универсальны и стабильны. 2. Если для COM-соединения не написан программный интерфейс в приемнике (а если выбрали COM для новой интеграции, то его, скорее всего, не будет), то имеем все риски после обновления нарваться на ошибки, связанные с изменением методов. И система приемник может даже не знать, что ее изменения что-то сломают. REST и SOAP API в этой части намного прозрачнее. 3. COM - это медленно и ресурсоемко. |
|||
152
acanta
11.09.21
✎
21:05
|
Вопрос был что вместо COM без шлюза в интернете в качестве сервера для обмена между двумя базами на одном носителе с тем же интерфейсом что и для разных компов в локальной сети?
|
|||
153
Megas
11.09.21
✎
21:32
|
Офигеть
Казалось бы простейший вопрос и столько обсуждений. План обмена + шареная папка в сети + там две папки inbox и outbox + файлы json с именем дата в формате ddmmyyyyhhMMss_guid.json - всё! файл загрузил и положил в архивю |
|||
154
Megas
11.09.21
✎
21:37
|
(149) Это прям вопрос на собеседование =)
Уже выше писал несколько минусов прямых подключений. Это я ещё забыл проблемы с отладкой. Самое простое: Если приёмник "Лежит" - у тебя копится очередь - это как минимум. Проще файлами на шару. |
|||
155
acanta
11.09.21
✎
21:40
|
То есть, папка с файлами с некоторых пор надёжнее чем РИБ.
|
|||
156
acanta
11.09.21
✎
21:43
|
А есть в типовых конфигурациях механизм создания периферийной риб с определенной даты?
|
|||
157
Megas
11.09.21
✎
21:48
|
(155)
Сам Риб не делал, но других обменов делал очень много Я чё то запутался, РИБ же вроде тоже через папку с файлами делается? |
|||
158
acanta
11.09.21
✎
21:55
|
(157)Да, но в риб должно без получения подтверждения выгружаться повторно, а без риб выгрузка изменений однократная, по событию.
|
|||
159
Антиквар
12.09.21
✎
00:41
|
(141) "А когда контора вырастет в несколько раз и разными базами будут заниматься разные люди (команды) ..."
У нас уже всё так) Контора очень большая, во многих регионах, 20 тысяч сотрудников. Много команд разработчиков под разные системы. |
|||
160
Garykom
гуру
12.09.21
✎
00:52
|
(153) Вариант неплохой только тем что достаточно быстро переделывается на http/rest или брокер
|
|||
161
ДедМорроз
12.09.21
✎
08:17
|
Если хочется надежную систему,то передачу данных нужно отделить от момента изменения данных,а в изменении просто регистрировать объект к обмену.
Есть такая вещь - правила регистрации объектов в стандартной КД,очень удобно,если можно использовать их. Если хочется,то можно и свой велосипед,например регистр,где будет ссылка на объект и хэш от его передаваемых полей, если хэш поменялся,то объект нужно отправить. Только хэш можно рассчитывать или при записи или уже при отправке - это определяется требованием к производительности. Если,например,из номенклатуры передается несколько полей,а записывается она часто,то каждый раз при записи считать хэш смысла нет - просто регистрируем к отправке,а вот при отправке считаем хэш,и если он поменялся,то отправляем. |
|||
162
ДедМорроз
12.09.21
✎
08:20
|
И еще раз,не стоит при проектировании обмена на транспорт закладываться.
От транспорта требуется наличие интерфейса к каналу с определенным набором функций,позволяющих отправить пакет,проверить наличие пакета в канале,получить пакет и подтвердить получение пакета из канала (удалить его) тогда потом можно работать в любом режиме и через что угодно. |
|||
163
ДедМорроз
12.09.21
✎
08:25
|
Ну и формат файла двнных не важен - есть только два формата:
Файлы с последовательным доступом (txt,json,xml и т.п.) Файлы с произвольным доступом (dbf,pdf и т.п.) Для передачи данных файлы с произвольным доступом преимущество не дают,т.к.все равно читаются все данные,поэтому,формат может быть любой,если грамотно написаны функции помещения объекта в файл и чтение объекта обратно,то никаких проблем. |
|||
164
novichok79
12.09.21
✎
10:09
|
Это ж очевидно, вам нужна событийная архитектура, делаете обмен через очередь сообщений на ваш вкус. Однако, если нужна синхронность в обеих системах, то тут без REST никак.
|
|||
165
Garykom
гуру
12.09.21
✎
10:20
|
(164) кроме REST есть куча других методик
например gRPC прекрасный штук |
|||
166
novichok79
12.09.21
✎
10:26
|
Grpc из 1с? 1c может в HTTP/2?
|
|||
167
Garykom
гуру
12.09.21
✎
10:29
|
(166) gRPC и без HTTP/2 пашет
через ВК вполне можно |
|||
168
novichok79
12.09.21
✎
10:32
|
Тут основной вопрос в синхронности - если нужна можно любой синхронный способ, если нет - очередь. Не представляю как в 1с писать protobuf и использовать кодогенерацию для gRPC.
|
|||
169
Антиквар
12.09.21
✎
21:45
|
(161) очень разумно на счет хэша, спасибо
|
|||
170
Антиквар
12.09.21
✎
21:50
|
(164) это пока не очень понимаю. REST-интерфейс, как я понял, слегка ограничивает возможности HTTP-сервиса. Если речь о протоколе OData
|
|||
171
fisher
13.09.21
✎
09:24
|
(137) Тут стандартный trade-off синхронность vs асинхронность. Асинхронность теоретически прикольнее, но она небесплатна. И надо понимать, когда она хорошо окупается, а когда не окупается вообще. В твоей ситуации на первый взгляд она окупается плохо. Но я не знаю всех деталей и могу ошибаться.
(169) Не надо хэш. В том смысле, что хранить его не надо и именно хэш нет необходимости вычислять. Нужен обычный план обмена, только с отключенной автоматической регистрацией. А в перед записью объектов сравниваешь новые данные объекта с хранящимися в БД. И если эти изменения критичны с точки зрения внешней системы - тогда разрешаешь регистрацию изменения к обмену (добавляешь нужные узлы в ОбменДанными.Получатели). |
|||
172
Kassern
13.09.21
✎
09:31
|
(171) А что в плане производительности? Реализовывали уже такую штуку в нагруженной базе, где тысячами документов в день регистрируют? Так же надо где то структуру проверяемых реквизитов хранить еще и в разрезе объектов, чтобы не по всем проверять.
|
|||
173
fisher
13.09.21
✎
09:35
|
(172) Типа еще один простой запросик в перед записью станет бутылочным горлышком интегральной производительности? Пфффф.
|
|||
174
Антиквар
14.09.21
✎
12:26
|
(126) "угу и ВК добавить обязательно для работы с брокером"
Да, ВК для кафки нужна, и походу она только одна существует, и стоит очень дорого... А через REST с кафкой нельзя работать? Ну т.е. как я это представляю, дергать её API-методы, через http-запросы... |
|||
175
Garykom
гуру
14.09.21
✎
12:58
|
(174) можно все
и ВК на заказ и через REST с чем угодно, если нельзя напрямую то через прокладку микросервис |
|||
176
Я_в_каске
14.09.21
✎
15:07
|
На стороне 1С реализуйте как вам нравится, на стороне сайта не ваша проблема. Логично что там API и вам все на блюдечке преподнесли, что туда отправлять. С вашей стороны WEB сервисы для получения данных с сайта. Настройка регистра сведений отправки изменений или план обмена, это ваше решение. Не думаю , что у вас там мега объемы данных, чтобы обсуждать всякие сложности.
|
|||
177
Антиквар
14.09.21
✎
18:40
|
(176) У нас мегаобъемы данных)
И уже решено кафку. Решение свыше, не обсуждается. Но оно обдуманное, кафка уже есть в организации, в ней море разных сервисов крутится. Нет там только 1С пока) |
|||
178
novichok79
19.09.21
✎
11:14
|
(174) Способы дергать Kafka из 1С:
1. Confluent REST Proxy - фирменный REST API, но он глючный - в одной версии норм работал, а в другой по таймауту отваливался. 2. Написать свой REST Proxy на Java, Python, Golang, you name it. Мы написали на Flask. 3. ВК от Серебрянной Пули, у меня она есть, использовал. Но видимо я "неасилил" просто. В итоге на проде используется способ №2, я там уже не работаю, инфа может быть уже неактуальна. RabbitMQ удобнее для 1Са, для него есть аж 2 компоненты, и одна использовалась на проде, на одном из прошлых мест работы. В итоге реализация может быть следующей: На стороне 1С правила обмена для каждого справочника и т. д, потом реализуете обработчики - обработчики отдают JSON без пробелов и это дело пуляется в Kafka регламентным заданием. Обратный путь - загружаете сообщения в справочник одним заданием, обходите справочник другим. По какому-нибудь стандартному заголовку - типа "type" загружаете сущности в БД через обработчики завязанные на этот type. |
|||
179
novichok79
19.09.21
✎
11:15
|
(178) компонента медленной оказалась очень, возможно где-то нужно было подергать "правильные" ручки, но как и написал выше - "неасилил"
|
|||
180
dmitryds
19.09.21
✎
17:41
|
-
НУ ВЫ БЛИН ДАЕТЕ Столько флуда) - Какие веб-сервисы 1С, если 1С передает данные? Если во внешней системе реализовано API - работать через это API - если нет, то вариантов как бы то и нет)) _ |
|||
181
novichok79
19.09.21
✎
18:48
|
(181) это нормально для мисты, было бы странно, если бы ответили сразу ))
|
|||
182
Антиквар
20.09.21
✎
23:42
|
(178) "По какому-нибудь стандартному заголовку - типа "type" загружаете сущности в БД через обработчики завязанные на этот type."
Не понял этого, можно поподробнее? |
|||
183
серый КТУЛХУ
21.09.21
✎
00:49
|
ну и web-сервисы - это уже давно не "новое" и не такое уж и "удобное".
сейчас более в ходу и востребованы и безглючны и быстры http-сервисы. |
|||
184
novichok79
21.09.21
✎
18:50
|
(182) не архитектуру же мне за вас придумывать. у нас было сделано на rabbitmq и обработчиках.
в обработчиках в зависимости от отправляемых сущностей формируется json, 1 объект имеет 2 обязательных реквизита. id, type. id может быть null, type идетифицирует что мы посылаем. в attributes лежат данные сущности. вот и посылаем через RabbitMQ массив сущностей в json: "sender": "petya", "timestamp": 123 unix time, "data": [ {"id": 1, "type": "penoplast", "attributes": {"blaBlaBla": "BlaBla"}}, {"id": 112, "type": "sosnovyeShishki", "attributes": {"blaBlaBla1": "BlaBla1"}} ] вот и все... а что делать с данными решает принимающая система, ваше дело малое - пульнуть изменения |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |