Имя: Пароль:
1C
 
Веб-портал. Как лучше организовать взаимодействие с базой 1С?
0 МишельЛагранж
 
11.03.21
19:43
Есть веб-портал. С него нужно получить в 1С сигнал (какой-то управляющий), и сформировать текстовый файл.
Какую модель взаимодействия выбрать, что лучше применить, по какому пути пойти - через http, json, напрямую обращаться к MySQL?
1С самописка, нет ничего из типового набора.
1 Волшебник
 
11.03.21
19:46
снаружи в 1С -> веб-сервисы
из 1С наружу -> REST (HTTP-запросы)
2 МишельЛагранж
 
11.03.21
19:48
(1) тогда веб-сервис надо поднимать? А без прослойки, напрямую, как-то можно?
Речь пока о получении сигнала с сайта, без передачи данных туда и обратно.
3 Волшебник
 
11.03.21
19:53
(2) Делай сразу нормально. Потом понадобится двусторонний обмен огромной структурированной информацией
4 Cerera
 
11.03.21
19:56
(3)а Веб-сервисы жене требуют изменения типовой конфигурации? то есть, если у нас 1с в облаке через какой-нибудь 1с-fresh то мы сможем реализовать api чтоб с 1с стало возможным взаимодействовать извне?
5 Волшебник
 
11.03.21
20:08
(4) Ну начинается...
6 МишельЛагранж
 
11.03.21
20:13
(3) т.е. кроме, как по http - ничего другого стабильно работающее не получится?
7 Fram
 
11.03.21
20:19
(6) а что ты так боишься http?
8 Builder
 
11.03.21
20:22
Да хоть отслеживай появление файла на ftp, так тоже работать будет.
9 Cerera
 
11.03.21
20:29
(8)это через крон можно сделать. а можно из 1с просто отправить запрос на сайт, который запустит Job, которая будет работать с появившимся файлом.
10 Волшебник
 
11.03.21
20:39
(6) COM-объекты тоже достаточно стабильны, если ваш веб-портал их понимает
11 vde69
 
11.03.21
20:42
можно взаимодействовать напрямую с my-sql,

делаются хранимки, и отдельный пользователь который имеет доступ только к хранимкам

но сервисы - лучше и безопаснее
12 sitex
 
naïve
11.03.21
20:48
(1) А чего сразу не http- сервисы? для чего так сложно то ....
13 rsv
 
11.03.21
20:54
(0) а есть ли ресурсы на веб портале сервисы ваять ?  Если есть - пишите и дергайте.
Есть ресурсы на стороне 1с севисы ваять ? Ришите публикуйте дергайте .
Ничего нет  и есть возможность  таблички дергать с базы портала - дергайте.
14 Волшебник
 
11.03.21
20:55
(12) 1С система серьёзная и с ней правильнее общаться через полноценные веб-сервисы (SOAP).
Если же надо тупо дёрнуть портал, то там можно отправить короткий HTTP-запрос (GET/POST) в стиле REST, с плоским json/xml-файлом без сохранения состояния.
15 МишельЛагранж
 
11.03.21
22:47
(10) а какие веб-сервера - могут по COM работать?
16 МишельЛагранж
 
11.03.21
22:49
(14) тут задача больше наоборот, с портала - дернуть 1С, сформировать файл, и как-то отправить его обратно на портал.
17 МишельЛагранж
 
12.03.21
17:16
А по вопросу выбора между REST и SOAP (web-сервисом)?
Хотя и REST - это тоже веб-сервис, вроде как.
Хотя в данном случае напрашивается применение REST, - ведь идет передача одной управляющей строки без сложной структуры, - однако, REST работает с сущностями (заказы, каталоги), а тут - вызов функции в 1С, что вроде как, ближе к SOAP.
По REST вообще javascript или PHP могут что-то запросить/выполнить в 1С, как это делается через SOAP? Через SOAP я могу выполнить запрос в 1С, что-то найти, поменять записи регистра.
А через REST такое возможно?
18 arsik
 
гуру
12.03.21
17:24
(0) (17) Зачем? простой http-сервис. Делается примерно час. Примеров в интернете море, вебсервер лучше апач.
19 mTema32
 
12.03.21
17:40
(15) Забудьте про COM - это прошлый век и тормозное уг. Плюс работает только под винду. Сервисы - самый оптимальный вариант как вам уже подсказывают.
И если конфа типовая, то никаких проблем расширением сервис добавить.
20 Fragster
 
гуру
12.03.21
17:47
в 1с можно сделать http сервис. Чтобы не менять типовую - можно его сделать в расширении. Если запрос должен идти из веб-браузера, то нужно будет либо настроить cors в публикации, либо запрос слать через прокладку (например на php) на том же домене, что и веб-портал или с настроенным cors.
21 sitex
 
naïve
12.03.21
18:36
(18) Полностью согласен.
22 sitex
 
naïve
12.03.21
18:36
(15) Похороните CoM на конец  и лопату выкиньте .
23 sitex
 
naïve
12.03.21
18:42
(14) Уже Тьма http-сервисов по написано , перебрасываем данные и туда и обратно и с сжатием , deflate и чего только не делали .Вообще забыл что так SOAP и WEB сервисы .
24 Garykom
 
гуру
12.03.21
18:45
(0) Управляющий сигнал в базе mysql (портала) хранится?
Если да то тупо регламентное/фоновое и пусть периодически запрос sql крутит
25 Turku
 
12.03.21
18:45
(16) Написать HTTP-сервис в 1С, веб-портал отправляет на него запрос и в теле ответа получает нужные данные.
26 Garykom
 
гуру
12.03.21
18:45
(24)+ Но это если умеете с mysql из 1С работать
27 МишельЛагранж
 
12.03.21
20:29
(18) SOAP и есть же "простой http-сервис"?
28 МишельЛагранж
 
12.03.21
20:30
(19) конфа не типовая от слова совсем)
29 МишельЛагранж
 
12.03.21
20:32
(20)>>Если запрос должен идти из веб-браузера
да
>> то нужно будет либо настроить cors в публикации
это где настраивается?
>> либо запрос слать через прокладку (например на php) на том же домене, что и веб-портал или с настроенным cors.
Запрос шлется через "прокладку" всегда - прокладка (обертка скрипта для исполняемого кода 1С) только javacsript или PHP.
Или что-то другое имеете ввиду?
И что за "настроенным cors"?.
30 МишельЛагранж
 
12.03.21
20:34
(23)>>Уже Тьма http-сервисов по написано
чет скрывают эту вашу тьму сервисов, все по-старинке везде - публикация базы и ConnectHttp))
31 МишельЛагранж
 
12.03.21
20:36
(24)>>Если да то тупо регламентное/фоновое и пусть периодически запрос sql крутит
По кнопке на портале - юзать 1С)
Где вы тут MySql воткнете?
>>Но это если умеете с mysql из 1С работать
А что, там не TSQL-запросы разве?)
32 Garykom
 
гуру
12.03.21
20:39
(31) в mysql нету T там просто SQL (не путать с MSSQL)

Скажи нажатие кнопки на портале приводит к записи в MySQL базу?
33 МишельЛагранж
 
12.03.21
20:42
(32)>>Скажи нажатие кнопки на портале приводит к записи в MySQL базу?
Тут непонятно, т.к. постановщики задачи подразумевают пока, что "нажал кнопку на сайте - получил результат из 1С".
А как реально будет работать - непонятно.
34 МишельЛагранж
 
12.03.21
20:43
>>в mysql нету T там просто SQL
T - это Transact, транзакции в MySql есть? Есть)
Просто там там одна из версий TSQL реализована, по-моему, стандарт SQL98.
35 МишельЛагранж
 
12.03.21
20:47
(20) Фрагстер,  у вас есть конструктор http-сервисов, но он "конструктор" только со стороны сайта, и и используются библиотеки только на PHP.
А со стороны 1С тогда что нужно в таком случае, чтобы такой http-сервис заработал?
36 МишельЛагранж
 
12.03.21
21:43
Вообще, статьи про http-сервисы в частности, и web-сервисы - в общем, написаны очень странно.
Если по статье такой сервис создается и запускается из 1С ("статья для 1сников) - то описывается только создание сервиса в 1С, а по умолчанию подразумевается, что на каждом сайте уже встроен код обработки вызова на PHP или JS, и достаточно только инициировать запрос из 1С. И все, данные полетели в форматах json, xml, REST, CommerceML, XDTO_XML_WSDL, где на стороне сайта умолчательные обработчики сразу понимают, что и в каком формате к ним пришло, и с радостью начинают всё принимать и записывать в базу сайта.
А если статья - для веб-программистов, то описывается, как создать вызов веб-сервиса 1С (а что, разве без можно и без него к базе 1С обратится?), а создание и настройка самого веб-сервиса на стороне 1С - она умолчательная, идет же "из коробки" при установке платформы. Как и создание методов GET и PUT в нём, и остальных методов - все уже созданы и работают "из коробки", и только и ждут, когда же с сайта их начнут использовать. И без проблем сами обрабатывают и передают обратно на сайт любой пришедший извне формат-протокол, скормили ли им json, xml, CommerceML, - не важно, только давай.
Есть кто-то, кто понимает всю цепочку обмена 1С-сайт, и не важно, откуда инициализируется соединение? Где-то есть полная картина, где, какие, и как я могу использовать те или иные протоколы обмена, вызывается ли сайт из 1С, или вызывается 1С с сайта?
Какие преимущества того или иного протокола (когда нужно либо процедуру в 1С запустить с сайта, либо - произвести обмен данными из 1С на сайт), в чем принципиальная разница использования REST-сервиса (данные как сущности - "Заказ", "Договоры", "Каталог" в 1С, и web-сервиса (http-сервиса), в котором процедурно-функциональный подход (методы GET, PUT и т.д.).
37 Fragster
 
гуру
12.03.21
23:13
38 Fragster
 
гуру
12.03.21
23:17
(35) там путаница небольшая в названиях от 1с.
у меня конструктор аналога "web сервисов" - чтобы работали ws ссылки и вот это все. Сейчас уже несколько не актуально (но иногда бывает нужно, да).

В обратную сторону (из браузера в 1с) проще пользоваться "http сервисами", там jsonми кидаться. Но есть нюанс с cors, если запрос напрямую javascript'том из браузера.
39 Cthulhu
 
13.03.21
00:39
снаружи в 1с - тоже вполне себе rest full = oData...
40 Cthulhu
 
13.03.21
00:41
(39)+ это вообще без доп.сервисов, достаточно опубликовать с поддержкой oData (при публикации галочку не снимать)
41 МишельЛагранж
 
13.03.21
03:45
(39)>>это вообще без доп.сервисов, достаточно опубликовать с поддержкой oData
Так вы и "публикуете" веб-сервис, т.е. операцией "Создать" настраиваете и запускаете его.