Интеграция 1С с внешним устройством по API

1. user1089020 06.08.23 12:46 Сейчас в теме
Добрый день, гении интеграции 1С!

Имеется самописная конфигурация 1С и внешнее устройство с описанием API. У меня поставлена задача посредством 1С управлять внешним устройством. Подскажите, как это сделать? Где можно почитать? Есть ли примеры? Желательно поподробнее )
Заранее спасибо!
По теме из базы знаний
Найденные решения
12. starik-2005 3047 07.08.23 13:02 Сейчас в теме
(11)
rest
Ну тогда еще проще
С = Новый HTTPСоединение(АдресСервака, Порт, блаблабла);
Ответ = С.Получить("/Start?IP=192.168.1.100&Port=123456789..." );
Если Ответ.КодОтвета = 200 Тогда
  Сообщить("Все в шоколаде!");
КонецЕсли;

Если Ответ.... = 0 Тогда
  Сообщить("Ответ типа ноль, что это значит смотрите в описании АПИ");
ИначеЕсли Ответ... = 1 Тогда
  //...
КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 06.08.23 12:58 Сейчас в теме
(1) единственный ответ на такую постановку вопроса - поискать в интернете :)
Для полее точного ответа нужно, как минимум, видеть "описание API".
3. user1089020 06.08.23 13:10 Сейчас в теме
(2) В интернете устал уже что-то искать... [большой грустный смайлик] - буду благодарен за примеры ключевых слов

Описание API включает в себя методы, параметры и результаты:

Запуск считывания
Метод: Start (GET)
Параметр: IP (строка), Port (Число)
Результат: Result (Число)
4. spacecraft 06.08.23 13:46 Сейчас в теме
(3) попробуйте ответить на такой вопрос:
Нужна конкретная книга, в которой есть оглавление и слово "Результат".
Ответ: бесконечное множество.

PS. и в задаче даже протокол обмена не озвучен. Можно предположить, что это http-сервис, но без гарантий. Нужно больше информации.
PS2. пример того, что спрашиваете в более понятном примере: "Нужна кнопка на форме, по нажатии на которую формировался правильный отчет." Сможете ответить?
5. user1089020 06.08.23 14:43 Сейчас в теме
(4) Не понимаю, причем тут описание API. Там же не будет инструкции что и как нужно сделать в 1С для подключения к устройству? Методы есть методы, их же где-то в 1С надо использовать. Вопрос: где? У устройства есть еще dll-файл - как его использовать в 1С?
6. spacecraft 06.08.23 14:49 Сейчас в теме
(5) для начала нужно знать протокол обмена.
Учитывая, что необходимо использовать сторонний dll, то тут еще проблематичнее. Если этот dll сделан не по технологии внешних компонент 1С, то напрямую подключить никак. Нужно думать в сторону сторонних средств сопряжения. И тут вообще становится "все сложно".
8. starik-2005 3047 07.08.23 11:02 Сейчас в теме
(6)
Если
Сдается мне, что там какой-нить "ДЛЛ" для работы с RFID. Обычно такие штуки реализуют некий программный сервер с внутренним АПИ, который может быть как РЕСТ, так и СОАП. Часто все упирается в то, что обычный 1С-нег нифига про СОАП не знает - бедолаги...
11. spacecraft 07.08.23 11:57 Сейчас в теме
(8) судя по
Метод: Start (GET)

это скорее rest, но снова же не точно.
Без документации мы может только гадать.
starik-2005; +1 Ответить
12. starik-2005 3047 07.08.23 13:02 Сейчас в теме
(11)
rest
Ну тогда еще проще
С = Новый HTTPСоединение(АдресСервака, Порт, блаблабла);
Ответ = С.Получить("/Start?IP=192.168.1.100&Port=123456789..." );
Если Ответ.КодОтвета = 200 Тогда
  Сообщить("Все в шоколаде!");
КонецЕсли;

Если Ответ.... = 0 Тогда
  Сообщить("Ответ типа ноль, что это значит смотрите в описании АПИ");
ИначеЕсли Ответ... = 1 Тогда
  //...
КонецЕсли;
Показать
13. user1089020 08.08.23 22:41 Сейчас в теме
(12) Спасибо, добрый человек!
7. starik-2005 3047 07.08.23 10:59 Сейчас в теме
(5)
причем тут описание API. Там же не будет инструкции что и как нужно сделать в 1С для подключения к устройству?
Как раз там и будет.
9. starik-2005 3047 07.08.23 11:07 Сейчас в теме
(3)
Запуск считывания
Метод: Start (GET)
Параметр: IP (строка), Port (Число)
Результат: Result (Число)
В 1С это что-то типа:
W =  Новый WSОпределение(точкавхода, порт, бла-бла-бла,...);
P = Новый WSПрокси(W, уришмури, блаблабла, ...);
Ответ = P.Start("127.0.0.1",порт,...);
Если Ответ.ОК = Истина ТОгда
  Сообщить("Зебест, все заработало!");
Иначе
  Сообщить("Ошибочка вышла: "+ Ответ.Error);
КонецЕсли;
Но это, сами понимаете, не точно...
10. Yususi 07.08.23 11:44 Сейчас в теме
То, как решается в 1С первая задача, было кратко описано в разделе «Кастомизация и поддержка» этой статьи; мы еще вернемся к этой интересной теме в одной из будущих статей. Сегодня же речь пойдет о второй задаче, об интеграции.

Интеграционные задачи

Интеграционные задачи могут быть разными. Для решения одних достаточно простого интерактивного обмена данными – например, для передачи в банк списка сотрудников для оформления зарплатных пластиковых карт. Для более сложных задач может быть необходим полностью автоматизированный обмен данными, возможно, с обращением к бизнес-логике внешней системы. Есть задачи, носящие специализированный характер, вроде интеграции с внешним оборудованием (например, торговым оборудованием, мобильными сканерами и т.д.) или с унаследованными или узкоспециализированными системами (например, с системами распознавания RFID-меток). Крайне важно для каждой задачи выбрать наиболее подходящий механизм интеграции.
Оставьте свое сообщение

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