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

13.06.18

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

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

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

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

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

Остановиться, для изобретения велосипеда, на 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

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

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

См. также

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    9155    9    8    

10

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    22346    18    1    

21

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse и MS SQL (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3, а также MS Excel в базу данных ClickHouse, а также в Microsoft SQL для работы с данными 1С в Yandex Datalens, Visiology, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse/MS SQL. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Вашей BI-системе

230000 руб.

15.11.2022    12904    11    47    

28

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    48627    96    159    

86

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Позволит автоматически и наиболее полно ввести данные в программу для начала работы. 

15600 руб.

08.12.2011    81468    128    123    

146

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

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

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

24000 руб.

16.11.2018    29979    20    31    

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

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

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

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

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

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

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

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

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

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

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