Внешняя компонента TcpClient

Публикация № 1244318 04.06.20

Приемы и методы разработки - Разработка внешних компонент

Socket TCP IPv6 SSL

Обмен данными по протоколу TCP. Поддержка IPv4/IPv6, SSL

Мы предлагаем компоненту TcpClient, которая позволяет подключиться к TCP-серверу.

 

Общие требования

Компонента выполнена по технологии Native API, предназначена для 1С от версии 8.3.10.2168 и выше для ОС Windows (x32, x64), Linux(x32, x64) и Android (arm, arm64, x86, x86_64).

Компонента содержит два вида объектов:

  • TcpClient_blocking – для работы в блокирующем режиме
  • TcpClient_nonblocking – для работы в неблокирующем режиме
 
 Описание объекта TcpClient_blocking
 
Описание объекта TcpClient_nonblocking
 
 Ограничение демо-версии
 
 Исходный код компоненты
 
 OpenSSL

Другие наши продукты:

Модуль ККТ: онлайн-касса
по сети
  Внешняя компонента
WebSocketClient
         
Набор эмуляторов
торгового оборудования
  Внешняя компонента
CentrifugoClient
         
СБИС Документооборот
в 1С по API
  Внешняя компонента для создания QR кода

 

 


Вопросы возврата

Пожалуйста, обратите внимание на правила работы магазина. Рекомендуем вам перед покупкой воспользоваться услугой подбора решения под ваши задачи, чтобы покупка оказалась максимально эффективной.


Заказать подбор решения


Скачать файлы

Наименование Файл Версия Размер
Внешняя компонента TcpClient: демо-версия

.zip 11,40Mb
112
.zip 2.0.9.8 11,40Mb 112 Скачать бесплатно
Обработка для тестирования

.epf 11,88Mb
103
.epf 2.0.9.8 11,88Mb 103 Скачать бесплатно

2.0.9.8 24 3000 руб.

0 1500 руб.

2.0.7.5 4 30000 руб. Запросить демо

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Nastyok_Kur 08.06.20 08:08 Сейчас в теме
Добрый день! Очень полезная разработка!!!
Пытаюсь использовать демо-версию. Объект успешно создается, но никаких внешних событий не возникает.... Есть какие-то нюансы работы компоненты?

Создаю объект следующим образом:

Результат = ПодключитьВнешнююКомпоненту(АдресМакета, "TcpClient", ТипВнешнейКомпоненты.Native);
Комп = Новый("AddIn.TcpClient.TcpClient");
Комп.Open(l_RHost, Число(l_RPort));
2. Техподдержка 08.06.20 08:17
Добрый день.
Есть нюанс: объект компоненты нужно сохранить (в переменной модуля формы или в переменной модуля приложения), иначе при выходе из процедуры он уничтожится и внешних событий не будет. Пример модуля формы:

Перем Компонента;  //здесь сохраняем объект компоненты

Процедура ПриОткрытии()
	Если ПодключитьВнешнююКомпоненту("TCPClient32.dll", "TCP6", ТипВнешнейКомпоненты.Native) Тогда
		Компонента = Новый("AddIn.TCP6.TcpClient");
	КонецЕсли;

	Если Компонента=Неопределено Тогда
		Сообщить("Ошибка подключения компоненты!");
		Возврат;
	КонецЕсли;
	
КонецПроцедуры


Процедура ВнешнееСобытие(Источник, Событие, Данные)
	Сообщить("Внешнее событие   Источник="+Источник+"  Событие="+Событие+"  Данные="+Данные);
КонецПроцедуры

Процедура КнопкаOpenНажатие(Элемент)
	Компонента.Open("127.0.0.1",8001,Ложь);
КонецПроцедуры

Процедура КнопкаWriteНажатие(Элемент)
	ДвоичныеДанные = Новый ДвоичныеДанные("d:\Addin\TCPClient\write.txt");
	Компонента.Write(ДвоичныеДанные);
КонецПроцедуры

Процедура КнопкаReadНажатие(Элемент)
	ДвоичныеДанные  = Компонента.Read();
	ДвоичныеДанные.Записать("d:\Addin\TCPClient\read.txt");
КонецПроцедуры

Процедура КнопкаCloseНажатие(Элемент)
	Компонента.Close();
КонецПроцедуры
Показать
3. Nastyok_Kur 18.06.20 07:55 Сейчас в теме
Спасибо! Получилось!
Но почему-то сразу после получения события "Open", получаю событие "Write", хотя метод Write не вызываю. Это нормально?

Еще поясните, пожалуйста, что означает, что "Метод [Read] следует вызывать после получения события "Read"." Данное событие должно возникнуть до того, как вызываю метод Read?
4. Техподдержка 18.06.20 08:08
(3)
1. Событие "Write" говорит о том, tcp-сервер готов к приёму данных, т.е. можно отправить данные методом Write().

2. Событие "Read" говорит о том, что от tcp-сервера пришли новые данные и их можно считать методом Read().

3. Сразу после получения события "Open", возникает "Write" - это абсолютно нормально, т.е. открыто соединение и сервер готов к приёму данных.
5. Nastyok_Kur 18.06.20 08:21 Сейчас в теме
Ок! Спасибо за оперативный ответ!)
6. Техподдержка 18.06.20 08:39
(5) В принципе, можно отправлять данные на сервер не дожидаясь события "Write". Эти данные будут помещены в очередь и приняты сервером, когда он будет готов.
7. Nastyok_Kur 29.06.20 09:08 Сейчас в теме
Здравствуйте! Не подскажете еще, пожалуйста
Ранее, используя WinSock (решили уйти от нее, т.к. не адаптирована под х64) для интеграции с весами использовали следующий код "tcpClient.SendData 5", т.е. передавали в порт число 5.
Используя Вашу компоненту, каким образом мне надо передавать данные, чтоб эффект был такой же?
Прикрепленные файлы:
8. Техподдержка 29.06.20 09:21
(7) Добрый день.
В 1С есть ряд низкоуровневых инструментов для работы с двоичными данными, используя которые можно подготовить нужный пакет данных. В вашем случае:

Поток = Новый ПотокВПамяти;
ЗаписьДанных = Новый ЗаписьДанных(Поток);
ЗаписьДанных.ЗаписатьБайт(5);
ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();

Компонента.Write(ДвоичныеДанные);
17. d515 29.09.20 12:53 Сейчас в теме
(8) В режиме совместимости с 8.2 объекты ПотокВПамяти и ЗаписьДанных не доступны.

Пробую сформировать ДвоичныеДанные следующим образом:
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.ДобавитьСтроку(ТекстЗапроса);
Сообщить("Текст запроса: " + ТекстЗапроса);
ВременныйФайл = ПолучитьИмяВременногоФайла("txt");
ТекстовыйДокумент.Записать(ВременныйФайл, КодировкаТекста.ANSI);
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
УдалитьФайлы(ВременныйФайл);
Компонента.Write(ДвоичныеДанные);
Здесь ТекстЗапроса - строка, около 20 символов, латиница и разделители.

Получаю ошибку:
Ошибка при вызове метода контекста (Write)
Компонента.Write(ДвоичныеДанные);
по причине:
Неверный аргумент

В каких случаях компонента может выдавать подобную ошибку?
Есть ли проверенный сценарий работы компоненты под 8.2?
18. Техподдержка 29.09.20 13:05
(17) Двоичные данные во внешнюю компоненту можно передать только на платформе 8.3.10.2168 и выше
9. Nastyok_Kur 06.07.20 09:29 Сейчас в теме
Спасибо! то, что требовалось!
Подскажите еще, пожалуйста. Ранее, используя Winsock писали в порт строку, содержащую команды для печати для принтера этикеток (см. фото). Как правильнее, используя Вашу компоненту, отправить в порт то же самое?...
И в частности смущает, как передать VbNullString ?
Заранее спасибо!!!
Прикрепленные файлы:
10. Техподдержка 06.07.20 09:52
(9)
ости смущает, как передать VbNullString ?

Точно также: используйте ЗаписьДанных, метод ЗаписатьСимволы() или ЗаписатьСтроку().
11. Nastyok_Kur 06.07.20 11:21 Сейчас в теме
Какой символ будет интерпретирован, как VbNullString?
12. Техподдержка 06.07.20 11:28
(11) я не специалист по VB. Но похоже, что это пустая строку. Просто используется неявное приведение типов.
13. Mick2iS 314 09.09.20 14:29 Сейчас в теме
Добрый день!
Приобрели эту компоненту в июле.
Уточните, пожалуйста, имеет ли смысл в текущем обновлении, какие изменения?
15. Техподдержка 09.09.20 14:36
(13)Добрый день. Встроили OpenSSL внутрь компоненты.
16. Mick2iS 314 09.09.20 16:29 Сейчас в теме
19. sau_nsk 39 25.12.20 10:51 Сейчас в теме
Техподдержка,
поясните, пож-ста, что означает "Метод: Open код ошибки: 10060." ?
Возникает при попытке обращения к термопринтеру вида

КомпонентаПринтера.Open(АдресПринтера, ПортПринтера, Ложь);

Внешняя компонента предварительно успешно подключена - ObjectID во Внешнем событии "Error" не пустой.
20. Техподдержка 25.12.20 11:00
(19) см. Socket error codes:
10060 Connection timed out. A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.
21. sau_nsk 39 25.12.20 11:22 Сейчас в теме
(20) Возможно, просто принтер банально недоступен. У заказчика попытка, от себя не вижу всё их устройство. Ладно, будем копать дальше, спасибо.
22. e-rogov 10 30.12.20 16:00 Сейчас в теме
Хотел сейчас скачать демо, а там написано что до завтра будет работать...,
а можно пару недель с момента установки например?
ну или там 10кБ..100кБ в сутки ...,
мне потестить бы...
23. frutty 118 20.02.21 09:37 Сейчас в теме
(22) winhex продлил тестовый период.
24. Romakon92 23.04.21 12:30 Сейчас в теме
Добрый день!
Настраиваем интеграцию Сигура и 1C через TCP-IP.
Подскажите пожалуйста, почему компонента возвращает значение 4 и увеличивает это значение на 4 каждый раз(т.е. 4, 8, 12 и т.д.) при успешном открытии?
Пробовали управлять контроллером через Telnet, при открытии Сигур отправляет значение: "ОК".

В обработке заявлено что событие READ возвращает двоичные данные, но у нас возвращает строку с цифрой указанной выше.
26. Техподдержка 23.04.21 12:42
(24) При событии "Read" данные нужно считать методом Read().

В публикации написано:
Событие:
"Read" - от TCP-сервера пришли новые данные, их можно считать методом Read()

Если вы не вызывете метод Read(), то данные накапливаются во входном буфере. Количество данных в буфере показывается в событии "Read". В вашем случае это 4,8,12 и т.д.
25. Техподдержка 23.04.21 12:34
Будьте внимательны: при событии "Read" в переменной Данные указывается размер данных для считывания, а не сами данные. Сами данные нужно получить с помощью функции Read().

Почему так сделано:
Во-первых, через внешнее событие нельзя передать двоичные данные.
Во-вторых, внешнее событие может теряться (например, при переполнении очереди событий). В этом случае потеряются и данные.
27. Pavel_Vladivostok 15.05.21 13:50 Сейчас в теме
Добрый день!
Подскажите каким сроком ограничена работа демо-версии, какие в ней еще есть ограничения, сейчас веду разработку с использованием вашей компоненты, вот думаю когда покупать, или каждый раз можно скачивать демо-версию с продленным сроком? :)
28. Техподдержка 15.05.21 14:33
(27) Добрый день.
1. Срок работы демо-версии ограничен 30.06.2021г, других огранчений нет.
2. Следующий раз демо-версию будем выпускать не ранее середины июля, т.е. будет разрыв в сроках.
3. Если вы ведете разработку на перепродажу, то нужно учитывать ограничения в лицензионном соглашении: компонента может использоваться только теми, кто ее приобрел. Или можете купить исходных код - тогда будет другое лицензионное соглашение, сможете продавать свободно.
29. Pavel_Vladivostok 18.05.21 04:27 Сейчас в теме
(28)
. Если вы ведете разработку на перепродажу, то нужно учитывать ограничения в лицензионном соглашении: компонента может использоваться только теми, кто ее приобрел. Или можете купить исходных код - тогда будет другое лицензионное соглашение, сможете продавать свободно.

Благодарю за ответ, полную версию оплатим в июне, разработка наша не на продажу, для внутренних целей в пределах одной компании.
40. radrick 09.09.21 15:12 Сейчас в теме
(28)
Если вы ведете разработку на перепродажу, то нужно учитывать ограничения в лицензионном соглашении: компонента может использоваться только теми, кто ее приобрел. Или можете купить исходных код - тогда будет другое лицензионное соглашение, сможете продавать свободно.


Добрый день. Подскажите, если я покупаю компоненту и использую ее в своей сети (20-30 точек), но на разных конфигурациях (на сейчас БАС Розница и УТП, 3 базы) - достаточно ли купить один экземпляр компоненты на все точки?
41. Техподдержка 09.09.21 15:26
(40) Если все точки работают от одного юр.лица - тогда достаточно кпить один экземпляр. Если несколько юр.лиц - тогда каждое юр.лицо должно купить компоненту.
42. radrick 09.09.21 15:36 Сейчас в теме
(41)
Если все точки работают от одного юр.лица - тогда достаточно кпить один экземпляр. Если несколько юр.лиц - тогда каждое юр.лицо должно купить компоненту.

Спасибо
30. aptomilov 9 27.07.21 13:56 Сейчас в теме
Демо обработку можете обновить
покататься ?
31. aptomilov 9 27.07.21 14:30 Сейчас в теме
из описания не очень понятно
ответ от сервера удастся получить ?
34. пользователь 28.07.21 07:38
Сообщение было скрыто модератором.
...
33. aptomilov 9 28.07.21 07:38 Сейчас в теме
не продлили мне нужно оттестировать отправку и получение данных если все нормально то куплю
а пока вот так вот

Внешнее событие Источник=TCPClient_96607 Событие=Open Данные={"ip":"173.194.221.94"}
Внешнее событие Источник=TCPClient_96607 Событие=Write Данные=
Внешнее событие Источник=TCPClient_96607 Событие=Error Данные=Срок демо-версии истёк!
Внешнее событие Источник=TCPClient_96607 Событие=Error Данные=Срок демо-версии истёк!
35. Техподдержка 28.07.21 08:00
(33) очистите папку cd %AppData%\1C\1cv8\ExtCompT, там может закешироваться старая версия
36. aptomilov 9 28.07.21 13:26 Сейчас в теме
тут писали что неадекватно отвечает

подтверждаю что да при подключении к сигуру вот так вот.

РЕАЛЬНО ЭТО ИСПРАВИТЬ

Внешнее событие Источник=TCPClient_430715 Событие=Open Данные={"ip":"127.0.0.1"}
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=4
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=8
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=12
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=16
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=20
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
Внешнее событие Источник=TCPClient_430715 Событие=Read Данные=24
Внешнее событие Источник=TCPClient_430715 Событие=Write Данные=
37. Техподдержка 28.07.21 14:07
(36)Будьте внимательны: при событии "Read" в переменной Данные указывается размер данных для считывания, а не сами данные. Сами данные нужно получить с помощью функции Read().
38. basilio58 22.08.21 16:27 Сейчас в теме
Здравствуйте. Пример написан для обычных форм. Есть какие-нибудь особенности для управляемых форм?
39. Техподдержка 22.08.21 16:42
(38) Добрый день. Вид формы значения не имеет. Имеет значение режим использования модальности. Асинхронный вызов методов компонент реализован на уровне платформы: НачатьВызов<ИмяМетода>
43. AneJIbcuH 35 13.09.21 12:35 Сейчас в теме
День добрый! А демо версию можете обновить ?
45. basilio58 17.09.21 05:44 Сейчас в теме
Здравствуйте. Пытаюсь подключиться к принтеру. Принтер доступен другими средствами просматривается.
Компонента инициализируется.
процедура подключения: Адрес 192.168.125.12 Порт 9100
&НаКлиенте
Процедура Подключить(Отказ)
	Если ПроинициализироватьКомпоненту() Тогда
		Контроллер = Новый("AddIn.TCPClient.tcpclient_async");
		Оповещение = Новый ОписаниеОповещения("ЗавершениеОткрытия", ЭтаФорма);
		Контроллер.НачатьВызовOpen(Оповещение,СокрЛП(Адрес),СокрЛП(Порт),Ложь);
	Иначе
		Сообщить("Компонента не проинициализирована!");
	КонецЕсли;
КонецПроцедуры

//команды принтера
&НаКлиенте
Процедура ЗавершениеОткрытия(Результат, Параметры, ДопПараметры)  Экспорт
	Строка="";
	Для каждого Значение Из Параметры Цикл
		Строка = Строка +" "+ Значение;
	КонецЦикла;
	
	Сообщить(Строка);
	Сообщить(Результат);
конецПроцедуры	
Показать


Строка- 192.168.125.12 9100 Нет
получаю ошибку:
Внешнее событие Источник=TCPClient_866923 Событие=Error Данные={"error":"Ошибка вызова connect(): Требуемый адрес для своего контекста неверен.
", "code":10049}
46. Техподдержка 17.09.21 05:47
(45) Метод Open() - параметр Порт должен быть числом
47. basilio58 17.09.21 06:34 Сейчас в теме
Здравствуйте. Если написать адрес в кавычках "192.168.125.12" , то возникает ошибка
Внешнее событие Источник=TCPClient_434373 Событие=Error Данные={"error":"Ошибка вызова getaddrinfo(): Этот хост неизвестен.
", "code":11001}.
В каком виде нужно передавать параметры подключения к принтеру?
48. basilio58 17.09.21 06:36 Сейчас в теме
49. basilio58 17.09.21 07:18 Сейчас в теме
Здравствуйте. если одновременно создаются два подключения, как определить их ObjectID?
50. Техподдержка 17.09.21 07:22
(49) ObjectID - это свойство объекта
51. Kruzya 22.10.21 11:58 Сейчас в теме
Подскажите, пожалуйста, а есть какой-то метод для "засыпания" потока в синхронном режиме? Задаём таймаут 5 секунд, но по каким-то причинам, если сервер не успел ещё послать какой-либо ответ, то происходит возврат "Неопределено" сразу же.

И ожидается ли перенос асинхронной компоненты на "синхронную асинхронность" 1С (которую они в 8.3.18 ввели)? Или 1С ещё ничего не сделала для поддержки этого механизма внешними компонентами?
52. Техподдержка 22.10.21 13:56
(51)

1. "Засыпание": можем сделать метод sleep(сек)

2. "Синхронная асинхронность": уточните, про какой механизм вы говорите?
53. Kruzya 22.10.21 14:19 Сейчас в теме
(52)

1. Будет супер.
2. https://wonderland.v8.1c.ru/blog/uluchsheniya-v-sintaksise-yazyka-1s-dlya-raboty-s-asinkhronnymi-funktsiyami/
По сути, async/await и Task, если проводить аналогию с C#.
54. Техподдержка 23.10.21 07:07
(53)
1. В версии 2.0.7.2 сделали метод Пауза (Sleep)
2. Асинхронная работа с внешними компонентами реализована на уровне платформы начиная с 8.3.5. Подробней здесь: https://its.1c.ru/db/v8320doc#bookmark:dev:TI000001509
55. Kruzya 25.10.21 08:23 Сейчас в теме
(54) 1. Проверили, работает, спасибо. Демо-версия так же до конца октября?
2. Т.е. сама платформа уже реализует эти механизмы? Супер, проверим так же.
57. basilio58 31.10.21 12:43 Сейчас в теме
Здравствуйте.
Не могу получить ID.
Использую конструкцию вида:
Контроллер = Новый("AddIn.TCPClient.tcpclient_async");

Сообщить("ID: "+Контроллер.ObjectID);
Возвращает пустое значение, и сразу и в оповещении.
Во внешнем событии ID передается.
58. Техподдержка 31.10.21 13:05
(57) Исправили в версии 2.0.7.4
59. ВасяЧ 11.11.21 14:42 Сейчас в теме
Применяю компоненту в мобильном приложении на ТСД под Андроид с архитектурой ARM.
Задача состоит в сканировании штрихкода, формировании этикетки и отправке этикетки через компоненту на принтер этикеток.
Вроде бы работает, но печать происходит как-то "через раз". Вероятно, есть какие-то моменты с асинхронностью.

Как правильно вызывать методы компоненты?

В активной форме используется ОбработкаОповещения для отслеживания событий от сканера штрихкода (для него применяется соответствующая компонента). При возникновении события Barcode вызывается http запрос на получение наименования товара, затем формируется текст этикетки на языке принтера и вызывается TCPClient для открытия порта, отправки этикетки на печать, закрытие порта, чтобы не занимать порт для возможности работы с другого ТСД.
Сокращенный код:

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	Если ИмяСобытия="Barcode" Тогда // Еще могут быть события от клавиатура и сканера NFC
                Наименование = ПолучитьНаименованиеПоШтрихкоду(Параметр); //Http запрос по WiFi к базе 1С на получение наименования
		НапечататьЭтикеткуНаПринтере(Параметр,Наименование );
	КонецЕсли;
КонецПроцедуры

Процедура НапечататьЭтикеткуНаПринтере(Штрихкод,Наименование);//Компонента подключена при открытии формы
	ДанныеПечати = Новый Структура("Штрихкод,Наименование",Штрихкод,Наименование);
	Темплейт = СформироватьЭтикеткуПоШаблону(ДанныеПечати);// Получил код этикетки на языке принтера
	Поток = Новый ПотокВПамяти;
	ЗаписьДанных = Новый ЗаписьДанных(Поток);
	ЗаписьДанных.ЗаписатьСтроку(Темплейт, КодировкаТекста.UTF8);	
	ЗаписьДанных.Закрыть();
	ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
	TCPClient.Open(АдресПринтера,9100,Ложь);
	TCPClient.Write(ДвоичныеДанные);
	TCPClient.Close();
КонецПроцедуры

Показать


Что я делаю не так?
60. Техподдержка 11.11.21 14:49
(59) см. ИТС "34.4. Асинхронная работа с внешней компонентой" https://its.1c.ru/db/v837doc/bookmark/dev/TI000001509
61. Kruzya 12.11.21 09:37 Сейчас в теме
А это так и задумано, что исходники одной версии (сильно старее), а сама компонента - другой? Или их просто не обновили?
62. Техподдержка 12.11.21 09:46
(61) Просто не обновили. Исходники будут самой последней версии
63. ВасяЧ 12.11.21 09:55 Сейчас в теме
(60) десять строчек ни о чем...

Процедура НапечататьЭтикеткуНаПринтере(Штрихкод,Наименование);//Компонента подключена при открытии формы
    ДанныеПечати = Новый Структура("Штрихкод,Наименование",Штрихкод,Наименование);
 ...
    ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();

ПослеОткрытияПорта = Новый ОписаниеОповещения("ПослеОткрытияПорта",ЭтаФорма,ДвоичныеДанные);
TCPClient.НачатьВызовOpen(ПослеОткрытияПорта,АдресПринтера,9100,Ложь);
КонецПроцедуры

Процедура ПослеОткрытияПорта(,,ДвоичныеДанные) Экспорт
	ПослеОтправкиДанных = Новый ОписаниеОповещения("ПослеОтправкиДанных",ЭтаФорма);
	TCPClient.Write(ПослеОтправкиДанных,ДвоичныеДанные);
	TCPClient.Close();
КонецПроцедуры	

Показать


Так вообще ничего не работает...
64. ВасяЧ 12.11.21 10:55 Сейчас в теме
Пока пришлось перейти на подключение компоненты в синхронном режиме...
67. basilio58 16.12.21 07:42 Сейчас в теме
(64) Асинхронный режим в компоненте реализован несколько криво. По идее должен работать обратный вызов или ожидание но они не работают. Работает внешнее событие. Я тоже воюю с принтером. У меня в программе используется система переменных-статусов. Первоначальная команда задает некий статус системы и запускает первую процедуру. Дальнейшая раскрутка происходит от внешнего события в зависимости от текущего статуса. Обратные вызовы присутствуют тоже, но они пустые.
68. Техподдержка 16.12.21 07:56
(67) Если вы используете ассинхронный вызов на уровне платформы 1С (через обратный вызов или через обещания), то вы можете использовать объект TcpClient_Sync. Объект TcpClient_Async предназначен для синхронного вызова платформой.
65. basilio58 28.11.21 07:37 Сейчас в теме
Здравствуйте. как скачать обновление 2.0.7.5?
66. Техподдержка 28.11.21 12:31
(65) Обновление можно скачать из личного кабинета: https://infostart.ru/profile/purchases
Напротив нужной позиции должна быть кнопка "получить обновления"
69. Smaylukk 176 30.12.21 15:08 Сейчас в теме
Подскажите, как должен работать метод Прочитать() в блокирующем режим с указанием таймаута?
Сейчас метод получает данные сразу (Неопределено) и код 1С идет дальше, хотя по логике вроде как должен был ожидать ответ.
Использую для связи с эквайринговым терминалом.
70. Техподдержка 04.01.22 09:04
(69) Исправили в версии 2.0.9.2
73. Smaylukk 176 06.01.22 10:08 Сейчас в теме
(70)Спасибо, но протестировать не смог - зависает на этапе подключения.
Но внезапно таймаут заработал на версии 2.0.9.1, когда я вернул старую версию компоненты.
71. radrick 06.01.22 09:55 Сейчас в теме
(69)Добрый день. Тоже использую компоненту для связи с терминалом. Вы сталкивались с тем, что операция на терминале выполнена успешно, но компонента в течение минуты не возвращает ответ в виде двоичных данных? Все время неопределено приходит
72. Smaylukk 176 06.01.22 10:02 Сейчас в теме
(71)Когда делал, то после метода Write() запускал метод Read(60), но сразу же приходил ответ Неопределено.
Обернул это в цикл, где проверяю полученные данные и ПолучитьОшибку() - если оба значения Неопределено, то цикл работает. Также есть контроль по времени работы цикла.
Но когда успешная оплата или отмена - все приходит отлично.
74. radrick 06.01.22 10:26 Сейчас в теме
(72)Спасибо. Тоже решил через цикл, но на некоторых терминалах все время приходит неопределено. Попробую добавить ПолучитьОшибку() - посмотрим, как будет
75. TigroKot 24.01.22 18:36 Сейчас в теме
Добрый день.При открытом соединение не могу просчитать ответ.
Использую метод Соединение.Прочитать(). Сервер ответ отсылает
Компонента тестовая. В че может быть причина?
76. Техподдержка 25.01.22 04:24
(75) Если вы купили полную версию, а она ведет себя как демоверсия, тогда почистите кэш: %AppData%\1C\1cv8\ExtCompT
77. TigroKot 25.01.22 09:50 Сейчас в теме
Пока использую demo.Компонентя подключаю. Метод Прочитать() возвращает неопределенно. Соединение в этот момент активно
78. Техподдержка 25.01.22 09:54
(77) Значит, нет входящих данных от сервера
79. Техподдержка 25.01.22 11:42
(77) Исправили в версии 2.0.9.3
81. TigroKot 25.01.22 12:19 Сейчас в теме
82. AnDrU89 17.02.22 07:23 Сейчас в теме
Здравствуйте, в мобильном приложении будет работать (Андроид и iOS)?
84. AnDrU89 17.02.22 08:01 Сейчас в теме
Спасибо, но нужно чтобы и на iOS работало, буду искать дальше.
85. CagoBHuK 32 08.05.22 13:25 Сейчас в теме
Обратил внимание на компоненту, очень толково сделано, есть даже поддержка Андроида, обе необходимые битности. Но вот тестовый период для демо-версии уже закончился. Продлите его, пожалуйста.
86. dm2010 01.06.22 11:17 Сейчас в теме
Здравствуйте, компонента поддерживает веб-клиент 1С? Очень актуальный вопрос. Если нет, можно ли добавить?
87. Техподдержка 01.06.22 11:50
(86) Сейчас нет, но можем добавить поддержку Google Chrome
88. dm2010 01.06.22 11:51 Сейчас в теме
89. Техподдержка 01.06.22 13:52
(88) Поддержку Google Chrome сделали в версии 2.0.9.8
90. dm2010 01.06.22 15:08 Сейчас в теме
(89)
2.0.9.8

Спасибо. Исходный код доступный к оплате тоже будет версии 2.0.9.8 ? Интересуют полные исходники включая сборщик для веб-клиента под Chrome
91. Техподдержка 01.06.22 18:32
(90) Да, будет всё и последних версий
92. dm2010 08.06.22 16:24 Сейчас в теме
(91) Добрый день. Приобрели исходники.
1. Пробую скомпилировать под Visua Studio 2019, не получается, не находит файл Log.cpp, просьба прислать!
2. Еще вопрос, согласно ИТС все исполнимые файлы из сборки для Веб клиента требуется подписывать SSL сертификатом, у вас файлы не подписаны. Вы используете подпись?
94. dm2010 09.06.22 15:08 Сейчас в теме
(92) Поправка
1. включение файла Log.cpp удалил, проект компилируется
2. компонента без подписей установилась и работает успешно в Chrome. Но все же хотелось получить комментарий, на что влияет наличие подписей файлов компоненты, какие подписи требуется ставить SHA-1, SHA-256, можно ли использовать самоподписанные сертификаты
93. dm2010 09.06.22 15:05 Сейчас в теме
(91)
В версии 2.0.9.8 в неблокирующем режиме при получении данных в событии Read в поле Данные не передается количество байт

09.06.2022 14:52:09: ВнешнееСобытие. Источник: TCPClient_906465, Событие: Read, Данные:
95. basilio58 09.07.22 09:24 Сейчас в теме
Здравствуйте. Подскажите как обновить установленную компоненту?
96. Техподдержка 11.07.22 09:16
(95) Нужно удалить старую версию из папки %AppData%\1C\1cv8\ExtCompT\
97. dm2010 16.07.22 12:20 Сейчас в теме
Здравствуйте. Пожелание к разработчикам добавить в параметры компоненты таймаут (можно общий на установку соединения, на отправку, на прием)
98. basilio58 12.08.22 08:57 Сейчас в теме
Здравствуйте. Пытаюсь подключить принтер Savema 32CK к 1с через сетевое подключение. Обнаружился неприятный феномен с задержкой ответа. Иногда ответ на команду не приходит- не поступает команда Read. Время не засекал но, кажется, что застревает насовсем. Но после следующей команды приходят два ответа одной строкой-одним ответом. Так как на ответах основана работа логики программы, то она не работает. Фирменное ПО Savema работает без проблем, за исключением разного времени подключения к принтеру. Иногда подключается мгновенно иногда с задержкой секунд 15.Нет ли в компоненте буфера, где могут застревать ответы от принтера? Версия компоненты 2.0.9.8.
99. basilio58 23.08.22 06:57 Сейчас в теме
(98)Разобрался. Нужно отслеживать сигнал готовности к записи.
Оставьте свое сообщение

См. также

Модуль ККТ: онлайн-касса по сети Промо

Кассовые операции ККМ WEB-интеграция Платформа 1С v7.7 Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Россия Платные (руб)

Одна онлайн-касса для нескольких программ, для планшетов, для Интернет-сайта. Cоответствует 54-ФЗ. Поддержка маркировки. Любое количество рабочих мест без абонентской платы. Бесплатный пробный период: 30 дней. Позволяет печатать чеки из 1С8.х, 1С7.7, Android, Linux, Битрикс и других сайтов, WEB-клиентов, 1С в облаке, RDP, файлов *.TXT, Excel, C++, Python, Delphi и т.д. Поддержка ФФД 1.2

3000 руб.

20.08.2019    50104    293    296    

Внешняя компонента "ZINT® barcode генератор" (EAN, CODE, QRCode, GS1, GS1 Datamatrix и т.д.)

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Внешняя Native компонента генератора (практически всех возможных) штрихкодов, основанная на доработанной библиотеке ZINT® (Copyright © 2022 Robin Stuart, licensed on free BSD (3 clause)).

3600 руб.

20.09.2022    1334    1    5    

Внешняя компонента для создания QR, DataMatrix, Aztec

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

NativeAPI компонента для создания двухмерных штрихкодов

3000 руб.

18.05.2022    3202    1    18    

СБИС Документооборот в 1С по API

Документооборот и делопроизводство ЭДО и ОФД Платформа 1С v8.3 Россия Платные (руб)

Работа со СБИС непосредственно из 1С. Отправка, утверждение, отклонение, аннулирование, удаление - по одной кнопке с любого рабочего места. Без внешних компонент и плагинов. Только http API. Для обычных, управляемых форм и web-клиента.

14400 руб.

24.06.2021    19376    55    45    

Медиадисплей. Рекламный информационный монитор для покупателя. Промо

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

10800 руб.

30.05.2017    43865    27    55    

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    10848    8    26    

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer). Работа с PDF основана на проекте PDFium из состава проекта Chromium/Chrome, для работы с TWAIN использован свободный проект twpp https://github.com/xricht17/twpp.

2400 руб.

12.05.2020    17006    85    64    

Внешняя компонента CentrifugoClient

WEB-интеграция Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Подключение к серверу обмена сообщениями Centrifugo.

6000 руб.

24.04.2020    15581    19    60    

Мастер создания внешних компонент 1С (технология COM) для DELPHI 6/7/8/2005/2006/2007/2008/2010/XE/XE2/XE3 Промо

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Средство для сверхбыстрой разработки внешних компонент 1С:Предприятия 7.7 и 8 по технологии COM на всех версиях DELPHI, начиная с 6.

1000 руб.

28.03.2013    49856    33    13    

Набор эмуляторов торгового оборудования

ККМ Сканер штрих-кода Терминал сбора данных Весы Платформа 1С v8.3 Россия Платные (руб)

Эмуляторы: электронные весы, весы с печатью этикеток в режиме "OFFLINE", дисплей покупателя, терминал сбора данных, ККТ, принтер чеков, сканер штрихкода, считыватель магнитных карт, RFID считыватель, эквайринговый терминал, принтер этикеток. Поддержка требований к разработке драйверов подключаемого оборудования от 2.1 до 3.9

1800 руб.

02.10.2019    43439    156    89    

Внешняя компонента WebSocketClient

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платные (руб)

Синхронный и асинхронный обмен данными по протоколу WebSocket

6000 руб.

26.08.2019    25667    30    98    

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Транспорт, автопарки, такси Россия Платные (руб)

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.

09.04.2019    12537    2    8    

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1200 руб.

17.09.2018    26554    81    115    

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

1200 руб.

04.05.2018    37675    96    62    

Компонента NativeAPI 1С для массового распознавания и печати штрих-кодов

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Программная компонента в формате NativeAPI 1C-предприятия (не ниже 8.2) предназначена для массового распознавания штрих-кодов из файлов на жестком диске, или загруженных в память компьютера из базы данных или любым другим способом, а также отображения штрих-кодов без использования дополнительных компонентов на стороне клиента.

9600 руб.

15.08.2016    41088    31    35    

Звонки из Microsoft Lync 2013 в 1С

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Простая библиотека с открытым кодом, позволяющая получать информацию о звонках и мгновенных сообщениях Microsoft Lync 2013 в 1С, а также инициировать звонки и отправлять мгновенные сообщения. Библиотека оформлена в виде подсистемы.

2400 руб.

13.01.2015    13756    3    15    

GGraphics - внешняя компонента для работы с картинками jpg (jpeg), png, bmp, gif, tif

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    68482    65    253