Сетевой протокол TCP: обмен между базами 1С
TCP (Transmission Control Protocol) обмен – это обмен данными по главному протоколу отправки данных, он необходим для того, чтобы передавать интернет-данные.
Рассмотрим, как написать код для обмена данными по ТСР/IP между ТСД на Win CE 6.0 и 1С. Обычно, в системе 1С обмен происходит через Web сервисов, однако, существуют случаи, когда необходимо связаться с оператором, дабы избрать необходимые данные, которые находятся на клиенте, и распечатать на мобильном принтере.
Главная проблематика состоит в том, что некоторые сети на складах имеют плохое соединение. Из-за этого приходится уменьшать трафик, сжимая данные. Поэтому, во время работы терминальных сессий возникают проблемы с портами сервера 1С в тех сетях, которые являются медленными, а именно – торможение печати чека на фискальном регистраторе подключение через RDP.
Также, без обмена по ТСР, могут возникать проблемы во время считывания штрихкода и печать с сервера-терминала будет медленная. Чтобы разрешить эти проблемы нужно установить на компьютере юзера доступную локальную сеть системы 1С, которая работает и как сервер, и как клиент. Далее все данные со сканеров нужно переправить на сервер терминала и обработать.
Следующим шагом, чтобы произвести на фискальном регистраторе печать, нужно отправить данные с сервера по ТСР/IP, после чего, с доступной локальной сети системы 1С будет напечатан чек. Во время печати этикеток, получались данные с сервера, основываясь на которых в доступной локальной сети 1С формировался документ, который отправлялся на печать.
Также, стоит отметить, что для компьютеров с Linux нет необходимых драйверов. Но, для этого существует особый метод: на тот компьютер, где есть Linux устанавливается и Windows, на Windows происходит процесс считывание информации, после чего по ТCР/IP происходит обмен с Linux.
ТСД может использоваться под WinCe, WinMo, UWP и Xamarin. Также, ещё одной важной особенностью является то, что клиенты могут обмениваться сообщениями, как в чате.
2. Код обмена сетевого протокола ТСР
Далее будет представлен код обмена сетевого протокола ТСР на .Net.Core. Для начала, создаём класс по обмену электронами сообщениями, которые используют сжатые данные. Чтобы отправить данные нужно задействовать такой метод:
А со стороны системы 1С будет приниматься следующий класс:
Далее берём стандартный модуль по формировке сообщений, после чего, создаём на сервере класс для прослушки:
Далее, во время соединения нужно считать данные, создать объект для переправки в систему 1С. После чего, запускаем нового слушателя. Код самой отправки выглядит так:
Далее производим непосредственно обработку по ТСР системе 1С:
3. Конвертация данных в 1С через объект, который был получен
Далее проводим конвертацию данных в 1С через объект, который был получен:
Важно помнить, что очерёдность событий в системе 1С равна единице. Это значит, что одна задача выполняется, а следующая находится в очереди. Но устройств обычно много, поэтому, следует установить больший размер очереди таким способом:
Данный способ будет возвращать размер очереди, который используется в данный момент.
Есть одна лазейка, которой можно воспользоваться в крайнем случае, если нет желания заморачиваться с установкой очереди – запуск нескольких приложений системы 1С и ТСР/IP, но под различными портами сервера 1С, но в таком случае могут не разобраться операторы, поэтому следует это не использовать, без крайней надобности.
Чтобы произвести установку нужных делегатов – существуют методы, которые представлены ниже:
Смотря какой тип делегата он будет установлен соответствующий:
Чтобы провести тестирование работы – нужно задействовать 3 клиента и задействовать «ТестОбменПоТСРIP.epf», чтобы проверить очерёдность событий в системе 1С. Специалист компании «Кодерлайн» Айдар Фархутдинов
Вики IT-KB
После установки экземпляра SQL Server для размещения баз данных 1С:Предприятие 8.3 нам необходимо выполнить настройку сетевых параметров этого экземпляра. Для этого откроем консоль SQL Server Configuration Manager, устанавливаемую вместе с SQL Server, перейдём в дереве навигации в SQL Server Network Configuration.
Для экземпляра SQL Server, на котором будут размещаться базы данных для 1С, включаем и настраиваем протокол TCP/IP в режим работы со статическим портом (можно использовать порт по умолчанию — TCP 1433). При этом не забываем очистить значение в поле TCP Dynamic Ports.
В случае совмещения серверов SQL Server и 1С:Предприятие 8.3 на одной системе рекомендуется включение протокола Shared Memory. Это позволит серверу 1С:Предприятие обращаться к ресурсам SQL Server через оперативную память, вместо использования протокола TCP/IP. По информации из разных источников это может ощутимо улучшить производительность 1С:Предприятие. При этом Shared Memory нужно включать как для сервера, так и для клиента SQL Server
Протокол Named Pipes можно выключить, оставив включёнными лишь протоколы Shared Memory и TCP/IP.
После изменения настроек необходимо перезапустить службы SQL Server, для того чтобы новые настройки начали действовать.
Теперь проверим, что на сервере создался TCP прослушиватель на указанном нами номере порта…
Как видим, TCP прослушиватель работает и теперь всё, что нам остается сделать, это добавить на сервере SQL Server разрешающее правило в Windows Firewall для возможности удалённого подключения на соответствующий статический TCP порт. Сделаем это с помощью PowerShell:
New-NetFirewallRule -DisplayName "SQL Server Service (BILLING) TCP-In" ` -Direction "Inbound" -Protocol "TCP" -Action "Allow" -LocalPort "1433"
Проверено на следующих конфигурациях:
Версия ОС | Версия SQL Server |
---|---|
Microsoft Windows Server 2012 R2 Standard EN (6.3.9600) | Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0) |
Автор первичной редакции:
Алексей Максимов
Время публикации: 13.02.2019 09:51=2
Обсуждение
1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/configuring-sql-server-network-protocols.txt · Последнее изменение: 13.03.2023 15:23 — Алексей Максимов
Сетевой протокол TCP: обмен между базами 1С
TCP (Transmission Control Protocol) обмен – это обмен данными по главному протоколу отправки данных, он необходим для того, чтобы передавать интернет-данные.
Рассмотрим, как написать код для обмена данными по ТСР/IP между ТСД на Win CE 6.0 и 1С. Обычно, в системе 1С обмен происходит через Web сервисов, однако, существуют случаи, когда необходимо связаться с оператором, дабы избрать необходимые данные, которые находятся на клиенте, и распечатать на мобильном принтере.
Главная проблематика состоит в том, что некоторые сети на складах имеют плохое соединение. Из-за этого приходится уменьшать трафик, сжимая данные. Поэтому, во время работы терминальных сессий возникают проблемы с портами сервера 1С в тех сетях, которые являются медленными, а именно – торможение печати чека на фискальном регистраторе подключение через RDP.
Также, без обмена по ТСР, могут возникать проблемы во время считывания штрихкода и печать с сервера-терминала будет медленная. Чтобы разрешить эти проблемы нужно установить на компьютере юзера доступную локальную сеть системы 1С, которая работает и как сервер, и как клиент. Далее все данные со сканеров нужно переправить на сервер терминала и обработать.
Следующим шагом, чтобы произвести на фискальном регистраторе печать, нужно отправить данные с сервера по ТСР/IP, после чего, с доступной локальной сети системы 1С будет напечатан чек. Во время печати этикеток, получались данные с сервера, основываясь на которых в доступной локальной сети 1С формировался документ, который отправлялся на печать.
Также, стоит отметить, что для компьютеров с Linux нет необходимых драйверов. Но, для этого существует особый метод: на тот компьютер, где есть Linux устанавливается и Windows, на Windows происходит процесс считывание информации, после чего по ТCР/IP происходит обмен с Linux.
ТСД может использоваться под WinCe, WinMo, UWP и Xamarin. Также, ещё одной важной особенностью является то, что клиенты могут обмениваться сообщениями, как в чате.
2. Код обмена сетевого протокола ТСР
Далее будет представлен код обмена сетевого протокола ТСР на .Net.Core. Для начала, создаём класс по обмену электронами сообщениями, которые используют сжатые данные. Чтобы отправить данные нужно задействовать такой метод:
А со стороны системы 1С будет приниматься следующий класс:
Далее берём стандартный модуль по формировке сообщений, после чего, создаём на сервере класс для прослушки:
Далее, во время соединения нужно считать данные, создать объект для переправки в систему 1С. После чего, запускаем нового слушателя. Код самой отправки выглядит так:
Далее производим непосредственно обработку по ТСР системе 1С:
3. Конвертация данных в 1С через объект, который был получен
Далее проводим конвертацию данных в 1С через объект, который был получен:
Важно помнить, что очерёдность событий в системе 1С равна единице. Это значит, что одна задача выполняется, а следующая находится в очереди. Но устройств обычно много, поэтому, следует установить больший размер очереди таким способом:
Данный способ будет возвращать размер очереди, который используется в данный момент.
Есть одна лазейка, которой можно воспользоваться в крайнем случае, если нет желания заморачиваться с установкой очереди – запуск нескольких приложений системы 1С и ТСР/IP, но под различными портами сервера 1С, но в таком случае могут не разобраться операторы, поэтому следует это не использовать, без крайней надобности.
Чтобы произвести установку нужных делегатов – существуют методы, которые представлены ниже:
Смотря какой тип делегата он будет установлен соответствующий:
Чтобы провести тестирование работы – нужно задействовать 3 клиента и задействовать «ТестОбменПоТСРIP.epf», чтобы проверить очерёдность событий в системе 1С. Специалист компании «Кодерлайн» Айдар Фархутдинов