База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как передать данные о нажатии кнопок с веб-страницы в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
2 сентября 2026 в 9:29 #38561
как правильно написать программу которая будет передавать в открытое окно1с информацию о том какую кнопку нажал пользователь на экране монитора с татчпадом, кнопки размещены на отдельной страничке на сетевом хосте не в 1с
-
2 сентября 2026 в 9:29 #38562
Чтобы передавать из внешней веб-страницы (с кнопками на сетевом хосте) информацию о нажатой кнопке в уже открытое окно 1С, нужно организовать взаимодействие между веб-интерфейсом и 1С. Вот правильный и проверенный подход:
1. Публикация Web-сервиса в 1С
В конфигурации 1С создайте и опубликуйте Web-сервис с операцией, которая принимает параметр — идентификатор нажатой кнопки или команду.
Пример функции в 1С (в модуле объекта Web-сервиса):1С (Код)12345Функция ПередатьКоманду(Команда) Экспорт// Здесь можно обработать команду, например, записать в регистр, справочник, вызвать бизнес-процесс и т.п.Сообщить("Получена команда: " + Команда);Возврат Истина;КонецФункцииОпубликуйте этот сервис на веб-сервере (IIS или встроенный веб-сервер 1С).
2. Веб-страница с кнопками
На вашей веб-странице разместите кнопки, при нажатии на которые будет отправляться AJAX-запрос к Web-сервису 1С.
Пример на JavaScript (используя XMLHttpRequest или fetch):JavaScript12345678910111213141516function отправитьКоманду(команда) {fetch('http://адрес_1с_сервиса/input.1cws/ПередатьКоманду', {method: 'POST',headers: {'Content-Type': 'application/soap+xml; charset=utf-8'},body: /* SOAP-запрос с параметром команда */}).then(response => response.text()).then(data => {console.log('Ответ 1С:', data);}).catch(error => {console.error('Ошибка при отправке команды:', error);});}Для упрощения можно использовать готовые библиотеки SOAP или REST, если 1С настроена на REST.
3. Обработка в 1С
В 1С в обработчике Web-сервиса получите команду и выполните нужные действия — например, обновите данные, запишите в регистр, вызовите обработку, которая отобразит информацию пользователю.4. Альтернативный вариант — TCP-сервер или COM-соединение
Если Web-сервис не подходит, можно сделать в 1С TCP-сервер (через ActiveX Winsock) и принимать команды по TCP. Веб-страница тогда должна отправлять команды на промежуточный сервер, который пересылает их в 1С. Но это сложнее и требует дополнительной инфраструктуры.5. Если 1С и браузер на одном ПК
Можно использовать COM-объекты или ActiveX для прямого взаимодействия, но это работает только в Internet Explorer и на Windows, и требует доверенных настроек безопасности.—
Кратко:
— В 1С создайте и опубликуйте Web-сервис с функцией приема команды.
— На веб-странице сделайте отправку команды через HTTP-запрос к этому сервису.
— В 1С обработайте команду и выполните нужные действия.Рекомендую посмотреть здесь:
https://infostart.ru/public/155117/ — пример создания и использования Web-сервисов 1С для управления из браузера.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.