Консоль для взаимодействия 1С с COM-портом (чтение и отправка данных)

13.12.25

Интеграция - Внешние источники данных

Внешняя обработка 1С позволяет посылать текстовые команды в COM-порт и производить чтение из COM-порта.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Архивный файл: Внешняя обработка "Консоль для взаимодействия 1С с COM-портом" , dll - сборка, исходник .cs.
.rar 8,33Kb
9 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

1. Назначение обработки

Данная внешняя обработка предназначена для организации обмена данными между 1С:Предприятие 8.3 (64-бит) и любыми внешними устройствами, подключенными через последовательный порт (COM-порт).

Обработка обеспечивает:

  • отправку текстовых команд в COM-порт, включая AT-команды модемов;

  • приём данных из COM-порта;

  • поддержание стабильного соединения и корректное закрытие порта;

  • автоматическую перекодировку данных в Unicode (UTF-8 без BOM), обеспечивающую корректную работу с кириллицей;

  • безопасную работу посредством .NET-компонента, зарегистрированного в системе.

Обработка универсальна и может использоваться для связи с модемами, модульными контроллерами, терминалами, измерительными устройствами и любой аппаратурой, работающей через RS-232/USB-COM адаптер.

 

2. Требования к окружению

  1. Операционная система: Windows 10 / 11 (64-бит).

  2. Платформа 1С: 1С:Предприятие 8.3 (64-бит).

  3. Установленный .NET Framework 4.0+ (64-бит)
    Обычно уже установлен в системе.

  4. Права администратора
    Требуются только для первоначальной регистрации DLL.

 

3. Состав решения

- Внешняя обработка SerialPortCom.epf

Функционал:

  • имя COM-порта указывается текстом (например COM5);

  • скорость обмена указывается вручную (например 9600);

  • в текстовое поле выводятся прочитанные из COM-порта данные;

  • из текстового поля данные отправляются в COM-порт;

  • кнопки «Открыть порт», «Закрыть порт», «Очистить», «Чтение порта», «Запись в порт»;

 

- Готовая сборка .NET Framework: SerialPortCom.dll

- Исходный файл SerialPortCom.cs

Сборка SerialPortCom.dll экспортирует COM-класс SerialCom.Port.

Данный класс предоставляет следующие методы:

  • Open(Порт, Скорость, Паритет, БитыДанных, СтопБиты)

  • OpenSimple(Порт, Скорость)

  • Close()

  • Write(Строка)

  • WriteLine(Строка)

  • ReadExisting()

  • IsOpen()

  • SetTimeouts(ReadTimeout, WriteTimeout)

Внимание! В обработке, в качестве примера, применён упрощенный метод OpenSimple() с минимальным набором параметров.

 

4. Порядок регистрации DLL-файла

Шаг 1. Поместить SerialPortCom.dll в доступный каталог

Шаг 2. Открыть Командную строку (cmd) от имени администратора

Шаг 3. Выполнить регистрацию DLL

Для 64-битной системы и 1С 64-бит требуется 64-битный RegAsm:

"Путь до RegAsm.exe" пробел "Путь до SerialPortCom.dll" пробел /codebase /tlb

Например:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "C:\Program Files\SerialComInterop\SerialComInterop.dll" /codebase /tlb

 

Появится сообщение:

Типы зарегистрированы успешно.
Сборка экспортирована в *.tlb

 

Это означает, что 1С сможет создать объект:

sp = Новый COMОбъект("SerialCom.Port");

 

5. Возможности для интеграции

Обработку возможно использовать:

  • в качестве тестового терминала;

  • в качестве модуля обмена для конфигураций 1С и COM-портом;

  • для автоматизации обмена с GSM-модемами (AT-команды);

  • для приёма данных измерительных приборов.

Интеграция осуществляется на уровне кода 1С.

Пример:

sp = Новый COMОбъект("SerialCom.Port");
sp.Open("COM3", 9600, 0, 8, 1);
sp.WriteLine("AT+CSQ");
Ответ = sp.ReadExisting();
Сообщить("Ответ устройства: " + Ответ);
sp.Close();

 

6. Преимущества решения

  • Работает в 1С 64-бит (в отличие от MSComm32.ocx)

  • Не требует OCX-контролей

  • Полная поддержка Unicode / UTF-8

  • Поддержка современных USB-COM адаптеров

  • Стабильная работа с большими объёмами данных

  • Простая регистрация и подключение

  • Универсальная для любых устройств

 

7. Лицензионные условия

SerialPortCom.dll файл поставляется "как есть" и может распространятся свободно. Пользователь принимает все риски его использования.

Внешняя обработка используется и распространяется в соответствии с правилами Infostart.ru.

 

8. Заключение

Внешняя обработка SerialPortCom.epf обеспечивает полноценную и корректную работу с последовательными интерфейсами из 1С:Предприятие 8.3 (64-бит), используя современный .NET-компонент SerialPortCom.dll.

Данное решение является надёжной альтернативой устаревшим OCX-контролям и полностью совместимо с актуальными версиями Windows и 1С.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.188.17

Вступайте в нашу телеграмм-группу Инфостарт

обработка com порт

См. также

Внешние источники данных Разработчик Аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

35000 руб.

15.11.2022    33843    53    49    

51

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

85400 руб.

05.10.2022    14582    17    8    

17

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Разработчик 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

122000 руб.

19.08.2020    30654    28    3    

29

Внешние источники данных Зарплата Бюджетный учет Разработчик Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

85400 руб.

24.04.2017    57679    99    165    

91

Производство готовой продукции (работ, услуг) Внешние источники данных 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

10370 руб.

24.06.2021    26862    66    55    

48

Файловый обмен (TXT, XML, DBF), FTP Внешние источники данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Здравоохранение, медицина, стоматология Фармацевтика, аптеки Россия Платные (руб)

Внешняя обработка «Загрузка документов из eФарма» создана для программы 1С:Бухгалтерия предприятия, редакция 3.0 (версии Базовая, Проф и Корп). Обработка позволяет загружать документы в базу 1С из файлов выгрузки, имеющих формат .DBF, которые создаются в программе eФарма или eФарма2, а также из любых других программ, формирующих файлы-выгрузки с таким же расширением.

9760 руб.

15.03.2024    2884    5    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Bizerber 15.12.25 09:11 Сейчас в теме
НомерПорта = 5;
Скорость = 9600;
Компонента = Новый COMОбъект("MSCOMMLib.MSComm.1");
Компонента.CommPort = НомерПорта;
Компонента.Settings = Формат(Скорость, "ЧГ=0") + ",n,8,1";
Компонента.InBufferSize = 4096;
Компонента.PortOpen = Истина;
Компонента.RTSEnable = Истина;

Не?
2. pwn 50 15.12.25 12:45 Сейчас в теме
(1) Скорее да чем не, если удаётся воспользоваться mscomm32.ocx.
3. YA_2206000826 17.02.26 16:38 Сейчас в теме
Есть ли возможность передавать управляющие байты на весы посредством данной dll? Компьютер посылает байт 05 hex, весы отвечают байтом 06 hex, по средством методов Write WriteLine не получается.
4. pwn 50 17.02.26 20:45 Сейчас в теме
(3) Текущая реализация dll для этого не подходит потому что она ориентирована на текстовый режим, где данные проходят через Encoding.

Для управляющих байтов:
0x05 = ENQ
0x06 = ACK
использовать строковую передачу нельзя, потому что:
- байт может интерпретироваться как управляющий символ Unicode,
- возможны преобразования кодировки,
- протокол весов может требовать строгое побайтное соответствие.
5. pwn 50 17.02.26 23:22 Сейчас в теме
(3) Необходимо в исходник добавить методы для чтения и записи побайтно и пересобрать dll:

public void WriteByte(int value)
{
if (port != null && port.IsOpen)
{
byte b = (byte)value;
port.Write(new byte[] { b }, 0, 1);
}
}

public int ReadByte()
{
if (port != null && port.IsOpen)
return port.ReadByte();

return -1;
}

Вызов методов на стороне 1С:

sp = Новый COMОбъект("SerialCom.Port");
sp.Open("COM3", 9600, 0, 8, 1);

// Отправляем 0x05
sp.WriteByte(5);

// Читаем ответ
Ответ = sp.ReadByte();

Если Ответ = 6 Тогда
Сообщить("Весы подтвердили (ACK)");
Иначе
Сообщить("Ответ: " + Строка(Ответ));
КонецЕсли;
6. YA_2206000826 20.02.26 16:14 Сейчас в теме
(5) Тоже пришел к похожему решению, спасибо.
7. maikl007 99 02.06.26 09:57 Сейчас в теме
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "C:\Users\1c\Desktop\SerialPortCom\SerialComInterop.dll" /codebase /tlb

RegAsm : error RA0000 : Не удалось найти входную сборку "C:\Users\1c\Desktop\SerialPortCom\SerialComInterop.dll" или одну из ее зависимостей.
8. pwn 50 07.09.26 11:52 Сейчас в теме
(7) Извините за задержку с ответом. Только что вернулся из глуши. Проверьте правильность указания пути и что диск C здесь: C:\Users\1c\Desktop\SerialPortCom\SerialComInterop.dll локальный. Если все верно, тогда сдаюсь. Исхожу из того, что прав у вас достаточно и командную строку вы можете запустить под админскими правами.
Для отправки сообщения требуется регистрация/авторизация