|
WEB-Сервис - как можно организовать обмен данными без файлов? | ☑ | ||
---|---|---|---|---|
0
slafor
06.08.21
✎
17:00
|
Есть веб-сервер. Сама 1С может запускаться в веб-клиенте. Но этого не нужно, нужно организовать обмен с Битриксом, а именно загрузку оттуда данных по товарам, по счетам и пр. Стандартная обработка обмена наоборот, из 1С выгружает в CRM.
Можно ли это как-то организовать без файлов, а напрямую? Например, у меня есть веб-сервис, из приходят данные - ну, скажем, по товарам, загружаются в 1С, и отправляется ответ - мол, все загружено. Где можно почитать на эту тему, желательно с примерами? |
|||
1
slafor
06.08.21
✎
17:02
|
+ (0) "из приходят данные" = "из CRM приходят данные"
|
|||
2
Kassern
06.08.21
✎
17:03
|
(0) Post запросы вам в помощь
|
|||
3
Мигрень
06.08.21
✎
19:45
|
(0) а битрикс-программист у вас есть? Тогда можно начинать разговор о rest сервисе, а пока рано.
|
|||
4
Курцвейл
06.08.21
✎
19:52
|
(0) Используйте Json
|
|||
5
slafor
06.08.21
✎
20:18
|
(4) JSON - это как-то файлы передавать надо?
|
|||
6
Мигрень
06.08.21
✎
20:37
|
(5) json - это http сервис. Книжку про http сервисы ты почитаешь и когда-нибудь освоишь, а на том конце, на битриксе, кто клиента поднимет, Пушкин?
|
|||
7
Kassern
06.08.21
✎
22:35
|
(6) "json - это http" ну такое себе определение) json это всего лишь формат обмена данными, как xml и тому подобное. а вот как его передать это уже другой вопрос. Можно и файл записать и отправить, а можно и в теле запроса передать.
|
|||
8
slafor
07.08.21
✎
14:41
|
(3) Битрикс-программист есть. Он пишет скрипты для Битрикса.
Но тут вот какая задача. Мне надо сделать обмен на стороне 1С. Как я уже понял, знание одних только WEB-сервисов тут недостаточно, придется познакомится и с HTTP-сервисами. В общем-то давно этого хотел, просто реальной задачи не было. Но есть ряд вопросов, не ответив на которые, я не могу начинать. 1. Я работаю по RDP, на сервере Windows Server 2012, где похоже и SQL-сервер стоит. То есть база будет на этом же компьютере. Чтобы установить рабочий WEB-сервер для 1С, надо, чтобы он был на этом же компьютере, правильно? Иначе я не смогу опубликовать ни базу, ни веб-сервисы. Но этот компьютер находится в локальной сети, и доступа извне на него, естественно, нету и не должно быть. А CRM 1С-Битрикс находится на другом компьютере и в другой локальной сети. Скрипты тоже. Как же они будут оттуда обращаться к моему веб-сервису? 2. Мне нужно организовать прием информации в формате JSON на стороне 1С, причем инициатором этих выгрузок будет именно Битрикс. Потом я должен буду прочитать эту информацию, загрузить ее в 1С - в справочники Номенклатуры, в документы Счетов и Реализаций, причем сравнивать эту информацию с той, что уже имеется в базе - вот это как раз самая простая часть для меня, с этим я точно справлюсь без всяких проблем. А потом я должен отправить ответ на сторону Битрикса о том, что все получено и успешно загружено. Вот, в принципе, и все. Подскажите, пожалуйста, с чего начать, и где можно достать побольше информации на эту тему. Спасибо. |
|||
9
Kassern
07.08.21
✎
16:43
|
(8) зачем тебе что то опубликовывать??? сами по себе объекты конфигурации http/web сервисы тебе ни к чему, если только ты не хочешь, чтобы битрикс сам к тебе долбился
|
|||
10
Kassern
07.08.21
✎
16:44
|
(8) все что тебе надо изучить так это Содениение=Новый HTTPСоединение
|
|||
11
mistеr
07.08.21
✎
18:18
|
(8) >я должен буду прочитать эту информацию, загрузить ее в 1С - в справочники Номенклатуры, в документы Счетов и Реализаций
А кто решил, что первоисточником информации должен быть именно Битрикс и из каких соображений? Обычно все наоборот, и это не просто так. |
|||
12
slafor
07.08.21
✎
18:40
|
(11) Таки так решил заказчик, и это же в ТЗ ) .
Я знаю, что обычно наоборот. И что из 1С гораздо легче достучаться до CRM Битрикса, чем наоборот. Собственно, для этого и писать-то ничего не надо - все уже есть в типовых обработках обмена. |
|||
13
mistеr
07.08.21
✎
18:56
|
(12) Таки из каких соображений?
Надеюсь из веских, не ради банальной экономии на лицензиях для продажников? |
|||
14
slafor
07.08.21
✎
19:04
|
То, что для того, чтобы реализовать обмен "без передачи файлов", придется использовать http-сервисы, я уже понял. Вопрос в другом.
Получается так, что: скрипт на Битриксе должен иметь возможность "достучаться" до 1С. 1С недоступна из внешней сети, значит, просто так он этого сделать не сможет. Можно, конечно, создать в 1С фоновое задание, прописать его в общем модуле и периодически обращаться к Битриксу с одним и тем же вопросом: "не готова ли новая порция данных для меня? если готова, то скиньте, пожалуйста" и в ответе принимать новую порцию данных, если таковая имеется. Да, и здесь еще один вопрос - я-то до CRM "достучаться" смогу, а вот как я ответ принимать буду, если я нахожусь в локальной сети? Хотя тут я, честно говоря, просто не знаток, но прекрасно понимаю, что это возможно - браузеры-то работают, и данные получают ) В общем, наверное показал свое полное незнание http-сервисов. Сегодня займусь изучением, благо время и курс есть... |
|||
15
slafor
07.08.21
✎
19:11
|
(13) А при чем тут лицензии? Ну будет у продажников стоять своя 1С, а как они достучатся до SQL-базы, которая находится в другой, закрытой сети?
|
|||
16
DES
07.08.21
✎
21:28
|
(15) откроешь и пробросить порты 1с. так и достучатся
|
|||
17
slafor
07.08.21
✎
21:32
|
(16) То есть придется дать этому компьютеру внешний IP и просто настроить порты?
|
|||
18
DES
07.08.21
✎
21:34
|
(17) а можешь прямо в sql сервер гадить.
|
|||
19
DES
07.08.21
✎
21:35
|
(17) заведи там свои таблицы, а потом уже 1с разбирай. это и безопасность повысит
|
|||
20
NetFix
08.08.21
✎
08:28
|
Есть такая штука, называется VPN, на сервере должен быть белый айпи и проброшен в инет один порт, собственно VPN сервера, а потом какой хочешь обмен настраивай, хочешь - с файлами, хочешь - без.
|
|||
21
mistеr
08.08.21
✎
09:19
|
(15) Ты не понял. "Обычно наоборот" выглядит так. Продажники регистрируют номенклатуру, заказы и прочее в 1С, а потом они выгружаются в Битрикс. Первоисточник данных - 1С.
|
|||
22
Сергиус
08.08.21
✎
14:23
|
(0)Если нужно в таком виде(чтобы запрос шел от Битрикс к 1с), то придется на вашем внешнем роутере делать переадресацию на внутренний порт настроенного веб-сервера(на котором опубликован http-сервис 1с). Ну еще возможно придется разрешить на самом компе, где стоит веб-сервер, запросы к 80-му порту. А дальше уже дело техники, написать нужный код самого сервиса, чтобы отдавал вам данные(или даже получал что то)
|
|||
23
slafor
08.08.21
✎
16:28
|
(22) Спасибо, вот это, похоже, самый дельный совет. Правда, учитывая их строжайшую "политику безопасности", они еще триста раз подумают, прежде чем это сделать...
А если делать http-сервис с запросом от 1С к Битриксу, а в качестве ответа получать поток JSON-данных (ну или ответ что "не было изменений"), надо будет что-то менять в настройках, или и так прокатит? Запрос к Битриксу можно делать хоть каждые пять минут, фоновым заданием. |
|||
24
Kassern
09.08.21
✎
09:07
|
(23) у вас походу нет понимания http/web сервисов... Вот скажите, зачем вам http сервис, чтобы делать запрос из 1с к битриксу? Создавая Http сервис, вы наоборот делаете доступ к своей базе. Поймите уже, если у вас весь учет ведется в 1с, а сайт нужен лишь для оформления заказов, то источником должна являться 1с! Посмотрите как модуль битрикс для 1с организован и как происходит выгрузка, никаких http/web сервисов, есть регламенты по которым собираются данные в нужном формате и пакетами шлются на сайт. Не хотите файлы, ок суйте все в тело запроса. Только у вас в случае чего не будет бекапа того, что вы отправляли. Файлы удобны тем, что можно без помощи 1с, просто скинуть повторно файл для загрузки, или посмотреть логи по ним что и как грузилось. А теперь можете мне объяснить зачем вы делаете обмен наоборот?
|
|||
25
Antony8x
09.08.21
✎
09:30
|
(0) Если не нужна валидация входящих данных, HTTP сервис используйте, ресурс битрикса будет отсылать POST запросы. Так в разы быстрее будет.
|
|||
26
Kassern
09.08.21
✎
09:36
|
(25) быстрее по сравнению с чем? А нагрузку на 1с думаете ТС расчитал?) Мы же не знаем какой у него сайт и сколько таких запросов с какой периодичностью будет.
|
|||
27
Сергиус
09.08.21
✎
15:07
|
(23)Если все-таки делать запросы из 1с к сайту, то для этого http-сервис и не нужен, как было сказано в (24). Поэтому тут нужно сначала самим решить какую схему работы применять.
|
|||
28
Мультук
гуру
09.08.21
✎
15:28
|
(0) Сама 1С - это некая 1С в вакууме или конкретная конфа ?
P.S. Готовые интеграции Битрикс (о качестве/количестве/стоит/не стоит - другой вопрос) https://1c.1c-bitrix.ru/intranet/download.php P.P.S. Битрикс или Битрикс24 |
|||
29
slafor
10.08.21
✎
09:30
|
(28) Битрикс 24. На xxx.binrix24.ru
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |