|
интеграция 1с с веб | ☑ | ||
---|---|---|---|---|
0
mishaPH
10.06.20
✎
13:45
|
В общем задача такая.
1. Есть магазин и там 1с клиент. работает себе. 1с 7.7 2. есть ерп с веб и апи 1с должна периодически получать некий сигнал коннектится 1 ерп по soap млм Json и получать задачу. долбить ерп каждую минуту с вопросом а нет ли нам что.. не есть верно. когда 400 магазинов начинают впустую делать запросы это некрасиво. Есть ли каким образом какой-то мессенджер с апи и т.п. который поднимается на компе где 1с, коннектится к ерп и ожидает от нее сигналов? при получении оного выдает в порт ком (1с отлавливает) или тупо файлик на диске для 1с. надеюсь объяснил понятно |
|||
1
mishaPH
модератор
10.06.20
✎
13:46
|
поднимать на стороне где 1с вебсервисы, томкеты и проч байду очень не хочется т.к. админить очень сложно
|
|||
2
ДенисЧ
10.06.20
✎
13:49
|
ну, с телеграмом и вибером интеграция даже в платформе уже скоро появится...
|
|||
3
ДенисЧ
10.06.20
✎
13:50
|
Или найди программиста, который напишет примитивный сервер, который будет слушать порт и реагировать на его данные. А с ерп туда слать сигнал...
|
|||
4
polosov
10.06.20
✎
13:53
|
(0) ВНЕЗАПНО тебе понадобилась интеграционная шина 1с.
|
|||
5
mishaPH
модератор
10.06.20
✎
13:55
|
(4) ? странный вопрос. она есть просто хочется эффективней. (2) его надо ставить локально. привязка к тел и проч. (3) ну вот я об этом. может есть готовые решения
|
|||
6
Кирпич
10.06.20
✎
13:58
|
(5) какое может быть готовое решение. никто не знает ничего про твои сервисы и семерки
|
|||
7
Кирпич
10.06.20
✎
14:00
|
А так можно самому сляпать http сервер на golang или ноде.
|
|||
8
mishaPH
модератор
10.06.20
✎
14:02
|
(6) причем тут 1с. нужен клиент который чтото слушает и при получении сигнала что-то выдает в ком порт или файл
|
|||
9
mishaPH
модератор
10.06.20
✎
14:03
|
(7) Это должна быть прога простая. магазинный комп, поднимать там http сервера и обслуживать - опухнет админ с 300 магазинов
|
|||
10
Salimbek
10.06.20
✎
14:04
|
(8) А чем отличается:
"долбить ерп каждую минуту с вопросом а нет ли нам что" от "коннектится к ерп и ожидает от нее сигналов"? |
|||
11
mishaPH
модератор
10.06.20
✎
14:04
|
конечно можно слепить какую то хрень на яндекс диске. ондрайв и т.п. который в центре что то в каталог или кто то пишет и передает на клиента. но блин это так ненадежно
|
|||
12
mishaPH
модератор
10.06.20
✎
14:05
|
(10) коннект заявляет что он вот он по таким адресам такому порту как скайп например. далее траффика нет он только слушает
|
|||
13
Кирпич
10.06.20
✎
14:08
|
(9) пишешь http сервер из 20 строчек. Запускаешь на любом компе с DDNS. ерп шлет на него сигналы о том что там для кого то там что то готово. семерки периодически подключаются и проверяют есть там чо или нет
|
|||
14
Salimbek
10.06.20
✎
14:08
|
(12) Видите ли - в указанной вами схеме - сия служба становится "Сервером" (а вы уверены - что везде у вас на местах белые ip-шники?). А ЕРП к ней "Клиентом" (и тут второй вопрос - ЕРП эта может выступать в роли клиента и поддерживать столько коннектов?)
|
|||
15
Кирпич
10.06.20
✎
14:08
|
можно тупо через email
|
|||
16
ДенисЧ
10.06.20
✎
14:08
|
Тут есть фанат дотнета с 1с... К нему обратись, пусть нарисует...
Ещё есть фанат голанга, к нему --""-- )) |
|||
17
Salimbek
10.06.20
✎
14:09
|
А если по теме, то в такой большой очереди - лучше использовать специализированнные службы, типа того же RabbitMQ - в которые ЕРП выдает задачи, а магазины коннектятся и забирают себе свои сообщения. И пофиг этому Кролику - что к нему запросы идут каждую минуту - он на это и рассчитан.
|
|||
18
mishaPH
модератор
10.06.20
✎
14:10
|
(14) нет белых нет почти нигде
|
|||
19
etc
10.06.20
✎
14:12
|
(0) помомему схема с "долблением" ERP как раз самая правильная. В обратную сторону "долбить" нецелесообразно, даже если там у всех белые IP как правильно заметил Salimbek.
Вводить дополнительную точку отказа посередине тоже рикованно. |
|||
20
Кирпич
10.06.20
✎
14:12
|
+(13) сервер нужен один. можешь захостится где нибудь за 100 руб и будет пахать. erp никто дергать не будеть
|
|||
21
etc
10.06.20
✎
14:14
|
(0) сделай web/http-сервис максимально простым - без сложных запросов и алгоритмов. Он у тебя не только 400 запросов выдержит.
|
|||
22
Кирпич
10.06.20
✎
14:19
|
+(20) да и хоститься не надо. erp же где то хостится :)
|
|||
23
ДенисЧ
10.06.20
✎
14:26
|
Кстати, вариант с кроликом я бы обдумал...
|
|||
24
etc
10.06.20
✎
14:26
|
Тут кстати в соседней ветке спрашивали про text/event-stream (Server-Sent Evets). Если бы 1C так умела оно тебе как раз подошло бы.
|
|||
25
Кирпич
10.06.20
✎
14:30
|
(23) так кроликов тоже нужно устанавливать
|
|||
26
mishaPH
модератор
10.06.20
✎
14:31
|
(24) так вот если бы умела.. если бы это был клиент гдето на площадке а не магазин хрен знает где с 4G порой инетом да и комп старый .
|
|||
27
Salimbek
10.06.20
✎
14:31
|
(0) "или тупо файлик на диске для 1с"
делали в таком виде: Центральная база генерирует файлы для периферийных баз и раскладывает их по папкам в каталог обмена на сервере. На сервере запущен Radius FTN-майлер. На периферии также запущен radius, который соединяется с Центральным и забирает файлы из своей папочки и кладет их в нужную папку уже на периферии... |
|||
28
Salimbek
10.06.20
✎
14:33
|
(26) "а не магазин хрен знает где с 4G порой инетом да и комп старый"
Гы... история с Радиусом пошла из-за того, что периферийки были вообще без связи, и соединение было дозвоном по модему ))) Это сейчас выделенные линии, скоростные каналы и все такое... |
|||
29
ДенисЧ
10.06.20
✎
14:34
|
(25) Там же, где и ерп...
|
|||
30
ДенисЧ
10.06.20
✎
14:34
|
(27) Радиус? Это сколько же лет назад? Сейчас давно моден binkd...
|
|||
31
ДенисЧ
10.06.20
✎
14:35
|
(28) А, модем... Тогда понятно
|
|||
32
Кирпич
10.06.20
✎
14:35
|
(26) через email обменивайся. заведи ящик и шли письма от erp. в теме ID магазина
|
|||
33
Salimbek
10.06.20
✎
14:41
|
+(28) Плюсы в том, что Радиус сам поддерживает докачку файлов при обрыве связи...
(30) binkd - а оно не тех же древних времен и даже древнее? У Радиуса хоть какой-то GUI есть ))) |
|||
34
ДенисЧ
10.06.20
✎
14:42
|
(33) binkd, а не bink.
Последний коммит в кодобазу binkd'а я видел два года назад... |
|||
35
ДенисЧ
10.06.20
✎
14:43
|
(33) А зачем для этой хрени гуй вообще? Работает сервисом, сам поллит ноду... Создаёт файлфлаги при поступлении...
Я немного знаком с FTN-технологией... |
|||
36
mishaPH
модератор
10.06.20
✎
15:01
|
(27) у нас счас ондрайв этим занят. но не надежно
|
|||
37
fisher
10.06.20
✎
15:17
|
Для 8-ки встречал готовые ВК для этого (со встроенным веб-сервером). А для 7.7 уже не помню. Но поискать стоит.
|
|||
38
Кирпич
10.06.20
✎
15:27
|
|
|||
39
Кирпич
10.06.20
✎
15:27
|
примитивный сервер на go
|
|||
40
MyNick
10.06.20
✎
15:30
|
(0) делаю просто.
На стороне веба в полях отслеживаемой таблицы есть поле updated_at (timestamp). В 1С на плане обмена - актуальная его версия. Подключаемся, кидаем timestamp в параметры api. Сервер (веб) отдает записи начиная с этого времени. Успешно загрузили в 1С, сдвинули границу. Следующее вычитывать будем с нее. Можно долбить веб хоть каждые 10 секунд. |
|||
41
p-soft
10.06.20
✎
15:32
|
(0) есть веб-сервер и клиент, делал на дельфях под удаленное резервирование для 77.
|
|||
42
mishaPH
модератор
10.06.20
✎
16:23
|
(41) можно подробности
|
|||
43
Либерал
10.06.20
✎
16:34
|
(0) если там еще 77 стоит в магазинах, тогда нужно юзать и для обмена такие же древние технологии))
1. эл.почтой рассылка файлов с данными из ЕРП регл.заданием - для 77 были же прекрасные длл лдя работы с эл.почтой 2. на сервере поднять фтп, туда так же файлы выкладывать, из магазинов забирать по расписанию запуская 77 с параметром "хочузабратьфайлики" можно создать под это план обмена, и бросать из 77 квитанции в обратку куда же надежнее и проще?? |
|||
44
mishaPH
модератор
10.06.20
✎
16:48
|
(43) фигня все это. фтп каталоги впн файлики. все отваливается теряется скорость опять не та
|
|||
45
Кирпич
10.06.20
✎
17:00
|
(44) да запустил бы уже (38) и нет проблемы :)
Интересно, а Twitter такой фигней не занимается случайно |
|||
46
Кирпич
10.06.20
✎
17:03
|
правда там ошибочка есть небольшая, но если надо исправим
|
|||
47
p-soft
10.06.20
✎
17:20
|
(42) есть маленький вебсервер и клиент к нему.
сервер висит службой на порту. управляется файлом параметров. может принимать и выполнять команды. на момент проекта как минимум умел по команде пихать запись в таблицу скл-сервера через хранимку, принимать по сети и сохранять в папку файл. |
|||
48
p-soft
10.06.20
✎
17:21
|
(47) клиент работает из командной строки, соответственно, все это отправляет/получает
|
|||
49
Salimbek
11.06.20
✎
10:21
|
(44) Я еще раз порекомендую FTN-майлеры типа Радиуса или binkd - они изначально разрабатывались для работы с неустойчивыми и низкоскоростными каналами данных. С поддержкой докачки, с очень маленьким оверхедом. Если все же решишь попробовать - маякни, я тебе преднастроенные архивы Радиуса для сервера и клиента скину - попробуешь, посмотришь. Если понравится - дополнительных клиентов подключить - не проблема, объясню...
|
|||
50
pavig
11.06.20
✎
10:35
|
(0)
Отдельный сервачок на голанге (да хоть отдельная конфгурация 1С с нуля с единственным http-сервисом), в который долбятся все 400 клиентов - не много, и рабочую базу нагружать не будет Сервачок внутри себя должен знать, для кого появился пакет информации То есть ERP сама в него тоже долбит и говорит, кому какая есть раздача Если для очередного клиента появляется флаг, то сервачок при очередном запросе этого клиента возвращает ему этот флаг |
|||
51
pavig
11.06.20
✎
10:38
|
+ (50)
Я бы написал на голанге - просто для собственного интереса Но если бы надо было быстро, дешево и сердито, то написал бы на 1С, файловую базёнку, с нуля, оно тоже быстро удет отрабатывать Еще вариант - на OneScript - будет быстрее, чем сервис на 1С, на уровне питона, при этом на языке 1С |
|||
52
mishaPH
модератор
11.06.20
✎
10:57
|
(50) ну вот судя по всему собираемся так и сделать. отдельную базу сервер рядом с ерп которую будут насиловать 1ски из магазина а она уже будет с ерп более умно работать.
|
|||
53
Salimbek
11.06.20
✎
13:05
|
(52) Вот ссылка: https://drive.google.com/drive/folders/1H3MppfzEG7L5qmS4p7SicXY1eGE3Or1n?usp=sharing
Радиус распаковываешь в корень диска C на сервере Как службу можно его установить через radsvc /install от прав админа, но для начала проще просто запустить Radius.exe чтобы посмотреть - как работает, как файлами обменивается и т.д. Нужен проброс порта 24554 Новые точки - я просто добавляю в файл nodelist скопировав строчку выше и поменяв номер поинта, потом через gui делаю скомпилировать и далее прописываешь этот новый поинт в Fileboxes и в Node inspector, по умолчанию для обмена у меня используется папка c:\obmen\ - внутри папка in для файлов от перферии к серверу и папка out для файлов из сервера на периферию. Внутри подпапки для каждого из узлов ббс - в корень диска С на клиенте. Запускаю вручную через батник starter.cmd, потому как надо было еще и 1С-ку мне одновременно запустить, а при выгрузке - сначала архивирую 1С-ку (про запас) и только потом отправляю файл. Отправка идет из папки boxes/to0 , входящее падает, соответственно в from0 Для нового периферийного узла - просто копируешь эту папку на новый комп, и правишь cfg - в начале - меняешь 41/1 на новый адрес и в конце, где 41/0 - указываешь ip-шник или dns-имя сервера вместо _server_. Все. Если хочется - можно установить этот binkd и как службу с тем, чтобы он сам постоянно проверял сервер, также можно настроить автозапуск команд, если что-то пришло... При желании - разобраться не сложно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |