TCP-клиент в 1С (open-source)

26.12.24

Интеграция - WEB-интеграция

Новые методы в составе Открытого пакета интеграций для работы по протоколу TCP (в качестве клиента) на основе Native API компоненты на Rust.

Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Для тех, кто уже знаком с ОПИ, данный раздел можно пропустить.

 
 Что такое Открытый Пакет Интеграций

 

Открытый Пакет Интеграций (ОПИ) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и программы для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.


  • ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.

 

 

 

  • Удобная единая документация. Она расположена на сайте opi.neocities.org и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.

 

 

 

 

  • Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи

 

На момент последнего обновления данной статьи, доступны следующие API:

Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.

 

TCP - один из основных транспортных протоколов интернета. Поверх него работает огромное количество других протоколов, уже прикладного уровня, таких как HTTP(s), FTP, SMTP, IMAP, DNS, LDAP и еще бог весть знает сколько их есть

 

Тем страннее, что в платформе 1С нет встроенной его реализации, хотя основанный на нем HTTP есть (в OneScirpt, кстати, TCP есть из коробки). Но не суть. В сегодняшнем обновлении в состав ОПИ было добавлено несколько методов для работы по этому протоколу - пока только в качестве клиента - а именно:

  • Открытие и закрытие соединения
  • Отправка данных серверу в виде строки или двоичных данных
  • Прием ответа от сервера в виде строки или двоичных данных
  • Небольшой утилитарный метод, который реализует все вышеперечисленное как одно простое действие обработки запроса

Реализовано это при помощи Native API компоненты на Rust. Это первая компонента в ОПИ и моя проба пера в принципе, так что я буду очень рад, если в случае проблем с ней вы напишите в Issues или комментарии к статье. Собрана она под все платформы: x64 и x86 Windows и Linux и хранится в общем макете (тестировалась на x64 Windows (1С) и x64 Ubuntu (через OneScript)). В приложение же для командной строки от реализации TCP попал только 1 метод - функция обработки запроса

Также огромное спасибо medigor за крейт addin1c для Rust. Это пакет, который берет на себя все вопросы организации компоненты так, чтобы 1С смог с ней работать, а тебе остается только реализовать сами методы, которые нужны для использования. Одна из самых недооцененных штук в 1Сном opensource, что я видел - поставьте этому герою звездочку, пожалуйста, а то как-то даже неудобно.

Ну, а теперь немного про другие нововведения.


 

Улучшения в CLI версии

В приложении для командной строки (если что, ОПИ это не только расширение для 1С, но и консольное приложение для Windows и Linux с тем же набором функций, которые работают без 1С) случилось несколько улучшений

Во-первых, была добавлена поддержка управляющих последовательностей: \n (перенос строки), \r (возврат каретки), \v (вертикальная табуляция) и \f (перевод формы). Теперь их можно использовать в текстовых аргументах и они будут заменены на соответствующие символы. Я хотел уменьшить риск поломки существующих процессов для тех, кто уже использует CLI версию и будет обновляться, поэтому данное нововведение не касается строк в формате JSON и путей к файлам

Во-вторых, вывод информации о процессах в длительных операциях был заменен на динамические прогресс-бары. Ну, это просто для красоты)



 

 

Также были исправлены некоторые мелкие баги и добавлено несколько новых методов для работы с Ozon. Описание же полного функционала Открытого пакета интеграций вы, как и всегда, можете найти в документации. А ссылки на скачивание и страницы проекта будут ниже

Спасибо за внимание!

 

Также не забывайте ставить звездочку этому и другим проектам, если они вам понравилась! Проектам это помогает в развитии, а вам - в отслеживании новостей о выходе новых версий


 

Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations

Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest

 
 Где? Куда?

 

Другие статьи про Открытый пакет интеграций на Инфостарт:

 

 

 Мой GitHub:    https://gitub.com/Bayselonarrend 
 OpenYellow:    https://openyellow.org
 Лицензия MIT:  https://mit-license.org

tcp интеграция web обмен протокол компонента

См. также

Оптовая торговля Розничная торговля WEB-интеграция Конфигурации 1cv8 Платные (руб)

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

57600 руб.

26.11.2024    808    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18158    20    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20343    13    19    

18

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    91653    179    217    

333
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 824 26.12.24 10:47 Сейчас в теме
Отлично! Теперь можно создавать сетевые игры на 1С )
lostcay; Xershi; bayselonarrend; +3 Ответить
2. aximo 2104 26.12.24 11:32 Сейчас в теме
Автору плюс! Но, почему портал об 1с слишком часто выходит из тематического поля….

И где новость о 8.5 ??????
3. bayselonarrend 2139 26.12.24 11:35 Сейчас в теме
5. Xershi 1555 26.12.24 13:12 Сейчас в теме
(2) 8.5 в бетте, смысла пока её смотреть нету, только если очень надо.
4. Xershi 1555 26.12.24 13:10 Сейчас в теме
Рекомендую статью в ворд загонять.
верстикальная
даное

Интересует почему раст?
В свое время было желание написать ВК на джаве, но учителя не было так и забросил вопрос о создании ВК.
И чем занимаешься, каждый месяц новая интеграция.
bayselonarrend; +1 Ответить
6. bayselonarrend 2139 26.12.24 13:19 Сейчас в теме
(4)
Интересует почему раст?

Очень клевый язык, быстрый, при этом не требующий отдельной прослойки на C и запихивания всего рантайма внутрь dll (как в Go, например). А с RustRover вообще одно удовольствие работать

И чем занимаешься, каждый месяц новая интеграция

Это просто хобби в свободное время)
KirillZ44; +1 Ответить
7. dill 26.12.24 13:46 Сейчас в теме
(6)
Это просто хобби в свободное время)

Вы либо не спите, либо много свободного времени. В любом случае жирный плюс)
bayselonarrend; +1 Ответить
8. VmvLer 26.12.24 15:19 Сейчас в теме
"За бугром" Раст стал корпоративным стандартом
9. bayselonarrend 2139 26.12.24 15:22 Сейчас в теме
(8) Ну, в отдельных низкоуровневых областях, вроде embedded, действительно популярен
Оставьте свое сообщение