Что нам стоит Push построить

Публикация № 545047

Разработка - Системная интеграция - Внешние источники данных

Push сервер онлайн обмен

Попробовал некоторое время назад, push сообщения, реализованные в платформе. Понравилось, но есть несколько минусов, на примере одной программы сообщений (не буду показывать пальцем), спустя некоторое время, сообщения переставали приходить онлайн, а на компьютере приходили моментально, при этом сами смартфоны звались флагманами. Читал позднее статью, где описывалось, что проблема на стороне смартфонов, что-то вроде технологий энергосбережения, но точно не помню. Также немалый минус доступно только для смартфонов.

Дело было вечером, делать было нечего.

Остановиться, для изобретения велосипеда, на node.js и модуле socket.io

Нет смысла подробно описывать, в интернете очень много информации, что такое node.js

Замечу только, что это небольшое приложение, доступное для windows и linux компьтеров.

Если в двух словах, node.js это скрипт сервер, позволяющий открывать и слушать порты, формировать ответы на пришедшие запросы. По сути своеобразный аналог web серверам apache, IIS. Только проще, легче и быстрее.

Код node.js прост и по сути аналогичен объектам, используемым HTTP сервисами 1С, запрос - ответ. Дополнительный модуль Socket.io  позволяет организовать своего рода пул клиентских соединений.

Самый простой способ продемонстрировать работу Push сервера это «чат», но «чат» слишком простой, поэтому чуть усложнил «хеллоу ворд» до «мессенджера».

 

Архитектура решения «Пушок»:

 

Серверная часть:

1С предприятие (файловая или серверная версия 8.3.6 и выше) - используется в качестве базы данных, и сервера отложенных сообщений.

Node.js – небольшой простой скрипт сервера.

Настройка портов и другой рабочей информации, а также запуск, остановка скрипта сервера node.js автоматизирован. Т.е. хоть содержатся в скрипте, но настраиваются через интерфейс 1С.

 

Клиентская часть:

1С тонкий клиент (8.3.6 и выше), позднее планирую сделать мобильное приложение + service.apk

AddInNativeSIO.dll – Внешняя компонента native api c++, для приема передачи сообщений в 1С предприятие. Пока только x86 windows.

 

На данный момент "мессенджер" пока не является полнофункциональным решением. И по сути служит примером онлайн обмена данными и сообщениями с потверждением отправки. Не претендую на лавры изобретателей :)

Хоть Node.js и был описан в качестве своеобразного "аналога" вебсерверов, но для публикации http сервиса 1С требуется вебсервер apache или IIS. Сервис нужен для обратной связи node.js и 1с, поскольку в внешней компоненте на сервере не используется внешнее событие и полученные данные передать нельзя.

Также, данную разработку можно использовать как пример для интеграции с практически всеми базами данных, доступными в nodejs.

Возможно, в дальнейшем добавлю вариант использованияя postgresql, запись данных напрямую из nodejs. В таком варианте таблицы postgresql  будут добавлены как внешние источники данных. Или же можно испольвать nosql базу данных, более приспособленную для хранения json структур.

Добавить в скрипт сервера SSL шифрование несложно, несколько строчек кода и, возможно, еще один модуль добавлю позднее.

 

Пушок 1.1

 

 

  1. Добавил небольшую статистику онлайн в серверной части.

  2. Добавил возможность использования https.

  3. Добавил передачу файлов, пока в один поток 8 мбайт сек. около 30 мб. максимум. 

  4. Добавил версию для мобильного приложения.

  5. Убрал ограничения.

 

Варианты применения по сути безграничны:

  • Управление сервером с мобильного.

  • Персональное облако.

  • Последняя миля современной доставки курьером, ранее видел перемещение между городами.

  • Общие таблицы mxl с онлайн редактированием сразу несколькими пользователями, что-то вроде таблиц гугл.

  • Также возможно вот такое нестандартное использование стандартных казалось бы вещей. 

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

 

Логика решения изначально ориентирована на простоту и минимум кода. Но совсем просто не вышло.

Код конфигураций полностью открыт, скрипт javascript  также.

Код сервера конфигурации сервера 1400 строк, клиента 1000, скрипта node.js 300 строк.

Из конфигураций исключен макет https компонент, его выложу позднее.

Установка:

Предполагается что файловая или серверная 1с уже установлена, а также apache или IIS

Загрузить файл PS.cf  конфигурации сервера, в новую базу.

Опубликовать http сервис 1с, установленной в предыдущем пункте конфигурации сервера.

Установить node.js и socket.io, на официальных сайтах и  в интернете масса простых инструкций.

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

Далее можно разворачивать базу из PScl.cf, заполнять параметры подключения к серверной части.

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

Продолжение публикации в Сервер push сообщений “Push0k“ 18.05

Рекомендуется использовать файлы из новой публикации.

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

Наименование Файл Версия Размер
PushServer1_1.rar
.rar 2,73Mb
22.02.17
22
.rar 2,73Mb 22 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Steelvan 08.09.18 17:55 Сейчас в теме
Краеугольный камень " Установить node.js и socket.io, на официальных сайтах и в интернете масса простых инструкций. ".

Мы тоже хотели использовать node.js, но надо учитывать уровень подготовки абсолютного большинства 1Сников, для которых даже простое упоминание сторонних технологий переводит разработку в разряд "Посмотреть и забыть".

В идеале, в описании должны быть что-то типа "Все сделано на технологиях 1С, без необходимости устанавливать и настраивать сторонние приложения".
2. PloAl 145 08.09.18 19:44 Сейчас в теме
(1) К слову про технологии:
При публикации базы в web или работе с http или web сервисами, требуется установка и настройка IIS или Apach.
При современной разработке, также нужен MSSQL или postgreSQL.

Вы видели "сервер взаимодействия", там много сторонних приложений.

В продолжении публикации, есть ссылка на образ docker и файл, внутри ubuntu + posgresql + node.js и все необходимые модули.
При наличии быстрого компьютера и интернета, все описанное устанавливается менее пяти минут.
4. acanta 73 09.09.18 13:04 Сейчас в теме
Можно ссылок на ролики ?
5. PloAl 145 09.09.18 13:55 Сейчас в теме
3. Steelvan 09.09.18 12:25 Сейчас в теме
Вы воспринимаете желаемое за действительное.

Желаемое "Все знают и умеют ... образ docker и файл, внутри ubuntu + posgresql + node.js и все необходимые модули за пять минут..."

Действительное "Есть необходимый минимум, который освоит абсолютное большинство. Остальное это посмотреть и забыть."

У меня нет цели что-то доказывать и с чем-то спорить.
Просто я подвел итог 10 загрузок за два года.

Если вас это обижает, извините.
6. PloAl 145 09.09.18 14:01 Сейчас в теме
Вы подводите итог - "Просто я подвел итог 10 загрузок за два года."
Ставите себя на мое место, решаете что меня это может обидеть - "Если вас это обижает, извините."

У меня нет проблем с желаемым и действительным.
Комментарии ваши меня не обижают.
7. hercares 18.03.19 17:08 Сейчас в теме
AddInNativeSIO.dll – Внешняя компонента native api c++, для приема передачи сообщений в 1С предприятие. Пока только x86 windows.

можете поделиться этой dll
8. PloAl 145 19.03.19 08:44 Сейчас в теме
Внешняя компонента встроена в конфигурацию (Общие макеты), скачать которую можно из статьи, ссылки снизу. Рекомендую, скачивать из продолжения статьи https://infostart.ru/public/716689/ , там более свежая версия а также x64, ВК внутри внешней обработки.
Оставьте свое сообщение

См. также

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

Использование хранимых процедур MS SQL Server в 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf MS SQL Абонемент ($m) Внешние источники данных

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

1 стартмани

03.12.2019    5449    3    Dedushka    26       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Вебхук. Путь Телеграма

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) Внешние источники данных Интеграция

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

1 стартмани

03.10.2019    8951    6    platonov.e    14       

Получение изображения с IP-камеры

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Внешние источники данных

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    6113    22    sivin-alexey    8       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Описание формата внутреннего представления данных 1С в контексте обмена данными

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Разработка

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    9151    7    Dementor    27       

Согласование задач из Outlook

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    4669    11    duhh    17       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Обмен большими данными между клиентом и сервером

Статья Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Внешние источники данных

В статье рассматривается вопрос передачи больших объемов данных, превышающих теоретический лимит сеансовых данных (4Гб за вызов) (они же временное хранилище) как с клиента на сервер, так и в обратном направлении.

1 стартмани

27.08.2019    8212    2    logos    24       

Телеграм 1С – почти коробка

Инструменты и обработки Программист Пользователь Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    7192    20    zfilin    59       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Расширение Бром для интеграции с 1С

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Внешние источники данных WEB

Из этой статьи вы узнаете, как можно быстро и просто синтегрироваться с любой конфигурацией 1С при помощи расширения Бром.

1 стартмани

06.08.2019    3191    4    itworks    10       

Конфигурация для обмена данными (интеграционная шина)

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных WEB

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

4 стартмани

08.07.2019    5444    20    miha-28    16       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Интеграция 1С с Битрикс CRM через REST API

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Внешние источники данных

На фоне неутихающего обострения «бизнеса» по внедрению СРМ-систем остро встают вопросы обмена данными с уже существующими системами. В статье рассматривается выгрузка контактов, товаров и сделок из 1С в Битрикс CRM через REST API, приложена обработка для тестирования.

1 стартмани

28.06.2019    11586    13    muzipov    7       

Почта России - отправка и отслеживание, интеграция с Документооборот 8

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 ДО Россия Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Выгрузка почтовых отравлений в личный кабинет отправки Почты России; отслеживание почтовых отправлений через Почту России; расширение для интеграции Документооборот 8 с Почтой России

5 стартмани

04.06.2019    4191    35    wtlz    10       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Шаблон http-сервиса для вашего проекта

Инструменты и обработки Программист Архив с данными v8 v8::Mobile 1cv8.cf Абонемент ($m) Внешние источники данных WEB Мобильная разработка

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    10797    60    MarkoSokolov    47       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Обмен через XML WEB Разработка

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

1 стартмани

22.04.2019    21764    25    riposte    63       

WhatsApp чат для 1С

Инструменты и обработки no Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Внешние источники данных

WhatsApp чат для 1С. Расширение конфигурации, подходит для любых конфигураций 1С (управляемые формы).

5 стартмани

15.04.2019    5366    20    ManyakRus    19       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть

Инструменты и обработки Бухгалтер Расширение (cfe) v8 ERP2 БУ Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Подключаемое расширение к конфигурации ERP с функционалом отправки дополнительных реквизитов 1С ЭДО для Татнефть (№ и дата договора, подразделение, автор, примечание) в электронных документах Счет-фактуры и ТОРГ-12 Проверялось на 1С:ERP Управление предприятием 2.4.6.160.

2 стартмани

07.04.2019    5259    10    sapervodichka    6       

Аутентификация на внешних сервисах посредством OAuth

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Информационная безопасность Внешние источники данных

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    10790    8    binx    9       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Формирование xml файла ЭДО (СБИС, Диадок, Такском и т.п.) для типовых документов (счета-фактуры, накладные)

Инструменты и обработки Программист Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 1cv8.cf Документооборот и делопроизводство Абонемент ($m) Внешние источники данных Обмен через XML

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

4 стартмани

30.03.2019    17678    128    capitan    61       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

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

4900 рублей

Декларации по формам 11 и 12 алкогольной продукции, интеграция с ПО Декларант-Алко

Отчеты и формы Бухгалтер Архив с данными v8 Розничная и сетевая торговля (FMCG) Россия БУ Розничная торговля Абонемент ($m) Регламентированная отчетность Внешние источники данных

Конфигурация на обычных формах, платформа 1С 8.2.19.130 и выше, с помощью которой можно сформировать Декларации по формам 11 и 12 алкогольной продукции, гибрид/интеграция с ПО Декларант-Алко версии 4.31.05 и выше.

1 стартмани

25.03.2019    4403    8    independ    6       

Работа с Active Directory из 1С (загрузка / выгрузка данных)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Внешние источники данных

Загрузка данных из Active Directory / Изменение информации пользователя в AD из 1С.

1 стартмани

26.02.2019    7403    60    Смешной 1С    7       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Статья Программист Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать.

1 стартмани

26.02.2019    9893    10    alexlx    29       

Универсальное расширение 1С для Google Таблиц и Документов

Статья Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Внешние источники данных

Эта статья для тех, кто использует G Suite и 1С. Готовое решение для выгрузки отчетов и печатных форм из баз 1С в Google Диск в формате Google Таблиц и Google Документов. Информация по его внедрению. Описание создания и настройки проекта в GCP.

1 стартмани

31.01.2019    10087    23    Maria18    18