|
Переписать код на 1С | ☑ | ||
---|---|---|---|---|
0
Kongo2019
27.07.20
✎
14:42
|
Доброго.
Есть такой код. import sockettry: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(("127.0.0.1", port)) s.send(t) s.close() except socket.error, msg: error("can't forward to port %i: %s" % (port, msg)) s.close() В 1С аналогичное есть? |
|||
1
lEvGl
гуру
27.07.20
✎
14:43
|
в 1с как и в ms, есть все, если подключить нужные сборки
|
|||
2
Kongo2019
27.07.20
✎
14:46
|
И где рыть?
|
|||
3
acht
27.07.20
✎
14:49
|
(2) С такой постановкой - от HTTPсоединений через ЗапуститьПриложение до внешних компонент
|
|||
4
lEvGl
гуру
27.07.20
✎
14:49
|
а что нужно
|
|||
5
Kongo2019
27.07.20
✎
14:52
|
(4) Файл отравить.
Через сокеты. s.send(t), где t - это файл. |
|||
6
ZDenis
27.07.20
✎
14:56
|
(5) У меня так работает, но правда я не файл передаю, но нужна библиотека Mswinsock.dll
&НаКлиенте Процедура ПередачаКадастровогоНомера(Команда) Порт = 1000; WinsocketClient = Новый COMObject("MSWinsock.Winsock"); WinsocketClient.RemoteHost = "127.0.0.1"; WinsocketClient.RemotePort = Порт; Попытка WinsocketClient.Connect(); // само подключение состоится только после выхода из текущего метода // после подключения выполнится ПриПодключенииКлиентаКсерверу Исключение КонецПопытки; ПодключитьОбработчикОжидания("ПриПодключенииКлиентаКсерверу", 1, Истина); КонецПроцедуры &НаКлиенте Процедура ПриПодключенииКлиентаКсерверу() Экспорт ОтключитьОбработчикОжидания("ПриПодключенииКлиентаКсерверу"); КодДляПередачи = ТутНужноеДляПередачи; Если ЗначениеЗаполнено(КодДляПередачи) Тогда WinsocketClient.SendData(КодДляПередачи); КонецЕсли; КонецПроцедуры |
|||
7
spiller26
27.07.20
✎
14:58
|
(0) 1C самом с сокетами не умеет работать только через сторонние библиотеки.
|
|||
8
Kongo2019
27.07.20
✎
15:01
|
(6)Спасибо, попробую.
|
|||
9
ZDenis
27.07.20
✎
15:05
|
(8) Еще в модуле приложения переменная объявлена
Перем WinsocketClient Экспорт; |
|||
10
lEvGl
гуру
27.07.20
✎
15:07
|
найден первоисточник топика
v8: Из 1с отправить данные на определенный ip адрес и порт |
|||
11
Kongo2019
27.07.20
✎
15:10
|
(10) Ха, да я не первый.
Я свой код из документации вытащил. Но там походу не заработало. |
|||
12
acht
27.07.20
✎
15:14
|
||||
13
Ц_У
27.07.20
✎
15:15
|
||||
14
Ц_У
27.07.20
✎
15:16
|
(10) ой :)
|
|||
15
Ц_У
27.07.20
✎
15:17
|
ну в этой ситуации мы просто это как бы здесь наши полномочия все (с)
|
|||
16
lEvGl
гуру
27.07.20
✎
15:22
|
))
по теме - здесь как бы шило мыло, все. пс. зачем менять свою компоненту из (0) на винсок, тоже полномочия. |
|||
17
Сияющий в темноте
27.07.20
✎
23:27
|
файл в udp порт?
ну,ну,веселые ребята. |
|||
18
lodger
28.07.20
✎
01:00
|
(17) они суют xml с данными чека, в видеорегистратор снимающий кассу\выдачу, чтобы на картинку наложить содержимое чека.
почему бы и не udp. пока туда-сюда, данные всё равно потеряют актуальность. а так, типа шнеле-шнеле. |
|||
19
Garykom
гуру
28.07.20
✎
08:31
|
(0) Поставь питон, проверь что приведенный код работает.
А затем тупо запускай из 1С через командную строку слегка допилив код чтобы xml из файла брал, куда его 1С положит и выполнит КомандаСистемы )) |
|||
20
Garykom
гуру
28.07.20
✎
08:32
|
(19)+ Это самый простой, надежный и гибкий способ.
Если завязаться на COMObject("MSWinsock.Winsock") то сразу линукс отсекается |
|||
21
Garykom
гуру
28.07.20
✎
08:33
|
(20)+ Да и хрен то с линуксом но к 1С x86 привязка, 64 бит лесом или грабли
|
|||
22
Сияющий в темноте
28.07.20
✎
08:58
|
если видеорегистратор это программа а как бы 127.0.0.1 намекает,то учить ее о
работе с файлами и потоками |
|||
23
novichok79
28.07.20
✎
09:07
|
||||
24
novichok79
28.07.20
✎
09:07
|
ну на ИС посмотрите публикацию с номером 236223
|
|||
25
Kongo2019
28.07.20
✎
10:20
|
(19) А это интересный вариант.
То бишь писать мое сообщение в файл, и выполнить скрипт на Питоне. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |