Сервер push сообщений “Push0k“ 18.05

Публикация № 716689 19.12.17

Интеграция и обмен данными - WEB-интеграция

1C push push0k node.js socket.io 1c docker postgresql

Аналог других “мессенджеров“. Позволяет практически все то же самое, что и другие решения. За исключением смайлов, эмодзи, голосовой и видео связи. Основное отличие от других решений, открыта и доступна для изменения серверная и клиентская часть месенджера. Общедоступной серверной части нет, за серверную часть отвечаете вы сами.

Сервер push сообщений “Push0k“ 19.01

Доработал серверную часть, добавил процедуры для новой «админки».

Сделал, push0k admin, приложением electron. Клиентскую часть также реализовал на electron.

Приложение push0k admin:

Приложение сделано на electron с использованием vue.js . Внутри реализовано подобие оконной системы, небольшие модальные диалоги можно перетаскивать как окна, заголовки окон для windows сделаны аналогично windows 10, для Mac OS как в последних версиях, но пока без учета dark theme. Для linux соберу позднее, там с заголовками диалогов чуть сложнее, думаю будет как в ubuntu и если не ubuntu то win 10 style. Потребление памяти в win 10 и Mac OS больше 150 мегабайт не видел.

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

Более подробно по ссылке https://github.com/PloAl/push0k, там же можно скачать программу бесплатно.

Клиентское приложение на electron выложу позднее.

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

 

Добавил возможность быстрой установки в контейнере docker

Контейнер состоит из: Ubuntu 16.04, PostgreSQL 9.6, node.js 8.11 + push0k 1805

Запуск, команды консоли

Загрузить образ:

docker pull ploal/push0k

Создать и запустить контейнер из образа:

docker run --name push0k -d --restart=always --net host --tmpfs="/var/lib/postgresql/9.6/main/pg_stat_tmp:rw,noatime,nodiratime,size=500M,mode=700,uid=799,gid=799" ploal/push0k:1806 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf

После выполнения второй команды можно подключаться к контейнеру

  • порт администрирования push0k: 2016
  • порт сервера postgreSQL: 5432 Сетевой ip адрес совпадает с адресом компьютера где установлен docker. По умолчанию в postgreSQL устанавливается пароль YourPassword. Пароль можно изменить в консоли контейнера команда: 
    sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'YourPassword'"

     

Если контейнер запускается в более ранней версии docker 17.05, из строки запуска следует убрать параметр 

--tmpfs="/var/lib/postgresql/9.6/main/pg_stat_tmp:rw,noatime,nodiratime,size=500M,mode=700,uid=799,gid=799"

 , данный параметр создает RAM диск для записи статистики postgreSQL, в версиях ниже 17.05 параметр недоступен.

Этот контейнер также использую данный контейнер в качестве 1с сервера. Для установки 1c сервера, достаточно перенести распакованные установочные файлы *.deb , внутрь контейнера. Перейти в консоли контейнера в каталог куда перенесены установочные файлы 

cd /YourCatalog/withSetupDebs

 и запустить установку командой 

dpkg -i *.deb

 после установки для автоматического запуска сервера надо отредактировать файл /etc/supervisor/supervisord.conf в файле надо убрать комментарии в виде символов ";" с секции ;[program:1csvr] и строки под ней ;command=/opt/1C/v8.3/...

Для переноса файлов внутрь контейнера рекомендуется настроить и использовать примонтированную папку "public", также возможна масса других вариантов: поиск напрямую в папках aufs, установка настройка samba, запуск ssh. Для поиска и редактирования файла /etc/supervisor/supervisord.conf проще всего воспользоваться старым добрым полношным коммандэром для этого набрать в консоли mc

 


Сервер push сообщений “Push0k“ 18.05

Новая логика серверной части:

Серверный скрипт “push0k.js“ теперь к пакету nmp “socket.io” дополнительно использует пакеты “pg” и “pm2“. Первый позволяет подключаться к базе postgresql напрямую, второй пакет позволяет запустить несколько процессов и по максимуму задействовать все ядра процессора.

Логика сервера push0k, аналогична логотипу, все сообщения пересылаются через сервер.

  • socket.io основной websocket сервер.
  • node-postgres модуль для связи с postgreSQL.
  • pm2 используется для запуска балансировки и мониторинга нескольких процессов push0k.js

Убрал использование базы данных 1С, данные записываются напрямую в базу postgresql. Подробнее на картинке. 

push0k admin отдельная конфигурация, рекомендуется локальная файловая установка, т.к. как используются внешние источники данных (нет справочников, документов и.т.д.) и логика предполагает "одного капитана на корабле", если их два и более у каждого должна быть своя локальная файловая база.

Скрипт сервера *.js ранее хранился внутри серверной конфигурации 1с оттуда и использовался. Сейчас файлов сервера стало немного больше, и все файлы сервера теперь доступны по ссылке github.com/PloAl/push0k . Инструкция по установке серверной части node.js находится там же. А для push0k admin, доступна по кнопке F1.

Оптимизировал логику уведомлений и синхронизации клиентов. Все данные синхронизируются буквально по одной дате. В справочные таблицы добавил колонки даты последнего изменения и идентификатор изменившего. Добавил таблицу версии в триггерной функции при обновлении справочных таблиц записывается старая запись в формате json. Интерфейс для просмотра истории версии и восстановления старой версии пока не делал.

Добавил предопределенный элемент справочника Комнаты “Администраторы“. Логика аналогична группе прав «администраторы» в ОС. При первом запуске создается пользователь данной комнаты - «администратор». Не входящие пользователи в эту комнату, при запуске “push0k admin” не смогут авторизоваться.

Больше безопасности:

Доработал механизм авторизации. Для авторизации в базе сохраняется двойной хеш sha256. При авторизации используется хеш от сохраненного хеша + УИД текущего соединения "соленый хеш". Т.е. перехваченный хеш не позволит авторизоваться повторно, и не раскроет текущий пароль. При установке нового пароля, хеш нового пароля запаковывается в запароленый zip архив, пароль на zip = старый пароль + УИД соединения. Добавил в внешнюю компоненту метод получения хеш sha256, для использования типового метода надо пересылать пароль на сервер, в ВК хеш получается сразу на клиенте. В целом описанное выше означает что важные личные данные даже без использование TLS хорошо защищены. Но конечно более надежно использовать TLS соединения.

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

Новые требования:

Реализовал возможность авторизации по номеру мобильного телефона.

Сделал возможность настроить отображение уведомлений и сообщение от контакта будут приходить втихую без уведомления. Возможно и полностью заблокировать сообщения от определенных контактов.

Добавил возможность пользовательской настройки представления контакта. Т.е. например в контактах несколько Иванов, каждый из пользователей волен обозвать другого как ему угодно хоть Дартаньян хоть Каналья.

Попугайметр - механизм для тестирования сервера:

Добавил комнату предопределенный элемент справочника Комнаты “Test”. С помощью сообщения в комнате, клиенты при получении автоматически отвечают заданного размера сообщениями программно в цикле заданное количество раз. По факту получается нагрузочное тестирование.

Тестирование с скриншота отправка сообщений в тестовую комнату чат, самому порой удивительно всего 50 000 сообщений и 4 250 000 телодвижений: 

отправка 50 000 сообщений: Процессы сервера: 4 Пользователи: 5

1. Всего сообщений получено 50 000 * 5 = 250 000

2. Пересылка в другие процессы сервера 250 000 *  Процессы сервера: 4 - 1 = 750 000

3. Отправлено адресатам  250 000 *  Пользователи: 5 - 1 = 1 000 000

4. Записано сообщений в таблицу postgreSQL 250 000

5. Получено уведомлений доставки 1 000 000

6. Записано в таблицу postgreSQL уведомлений доставки 1 000 000

7. Все операции 4 250 000

В тестах пока максимум 10 000(+-несколько сотен) операций в секунду, при этом количество процессов не влияет. Без разницы 4 пользователя в 4ёх процессах или все на одном процессе. Это говорит о том что процессор в данном тесте не является бутылочным горлышком, узким местом. Знаю windows - не серверная, не самый лучший вариант для запуска сервера из за ограничений сетевого стека.

Классификатор телефонов:

Добавил таблицу классификатор Российских телефонных кодов, нашел на сайте Россвязи 4 файла csv . Таблицу создавал специально под формат csv, загружал из диалога pgAdmin4, около 50000 записей 0,3 секунды, файлы с кодами 8 и 9 пришлось заменой немного подправить.

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

 

Много новых возможностей клиентской обработки:

Отдельная кнопка цитирования "6699" и кнопка пересылки сообщения полностью. При наведении курсора на дату сообщения можно увидеть, имя компьютера и имя базы 1с где было создано сообщение.

Комнаты - теперь имеют звездатое название или стартег

Скриншот формы редактирования и администрирования комнаты на клиенте.

 

К сожалению мобильная версия приложения для android, отстала от всех вышеописанных изменений и будет доступна позднее.

 


Сервер push сообщений “Push0k“ 17.12

Это продолжение публикации  Что нам стоит Push построить

Там же более подробное описание логики работы решения.

Код решения практически полностью открыт. Исключение составляет внешняя компонента используемая на клиенте и дополнительное мобильное приложение Push0kService.apk , но закрытая часть написана универсально и никак не влияет на возможность доработки решения. Также закрытый код не содержит какого либо обращения к моим http ресурсам для сбора обезличенной статистики запусков и прочих метрик.

Описание изменений:

Сервер:

  • Добавил возможность отладки серверного скрипта *.js в браузере Google chrome. Галка включения отладки в настройках и рядом ссылка для перехода в браузер chrome. Отладка может быть запущена и удаленно с другого компьютера локальной сети, то есть не обязательно запускать на том же компьютере где запущен серверный скрипт *.js.

  • Оптимизировал по серверный скрипт *.js: убрал комментарии, инициализацию новых свойств объектов где возможно, вынес настройки в отдельный файл.

  • Сделал статистику прикрепленных файлов размер, получено и передано максимальные скорости передачи. Файлы хранятся на диске частями перекодированные в base64 внутри файлов json.

  • Заполнил справочную информацию: по установке, настройке и логике заполнения, в встроенной справке 1с.

  • Сделал возможность блокировки пользователей при частом вводе неправильного пароля, по сути защита от брутфорса - подбора паролей.

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

  • Добавил много новых настроек, более подробно в справке.

Клиент:

  • Добавил отображение новых не прочтенных сообщений. Рыжая цифра новых в списке пользователей и жирно рыжая дата в сообщениях.

  • Реализовал прогресс бар при передаче и загрузке файлов на  или с сервера.

  • Добавил x64 версию внешней компоненты.

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

  • Сделал возможность перетаскивания файлов вложений из сообщений. 

  • Добавил “бота” в собственный контакт при получении NFC метки, ищет в метке ссылку на справочник, далее ищет ссылку в справочнике и если находит, пишет автоматически сообщение с ссылкой в чат.  

  • Реализовал клиентскую версию в виде внешней обработки. Данные сохраняются локально в виде файлов html, отдельно для каждой базы. Обращений к серверу практически нет. Сделал отображение картинок по умолчанию круглым. 

Клиент android

  • Убрал использование мобильной Внешней Компоненты. 

    Добавил вместо ВК дополнительное приложение - службу. Приложение Push0kService.apk позволяет оставаться на связи, android не закрывает приложение и дополнительную службу. Для корректной работы требуется заблокировать отображение уведомлений от приложения 1С, уведомления выводятся службой Push0kService.apk

  • Добавил отображение новых не прочтенных сообщений. Рыжая цифра новых в списке пользователей и жирно рыжая дата в сообщениях.

  • Реализовал уведомление - прогресс бар при передаче и загрузке файлов на или с сервера.

  • Сделал интеграцию с приложением чтения записи NFC меток Беспроводные метки NFC. Позволяет записывать переданные в чат ссылки на справочники в метку NFC.

  • Добавил возможность кадрирования - обрезки выбираемых картинок для фотографии пользователя, также обрезать можно и кружочком. 

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

Серверная push0k часть может работать как на windows так и на linux, без разницы в файловом база или сервер 1с.

Node.js можно использовать практически любую, но рекомендуется все же последняя. Socket.io рекомендуется 2.0 и выше.

Мобильное приложение и служба Push0kService.apk , рассчитаны на android не ниже 5.0 lollipop

 

Версия за “стартмани” не имеет возможности в клиентской части подключаться по протоколу https.

Для этого требуется другая дополнительная Внешняя Компонента.

Мобильному приложению android требуется другая версия Push0kService.apk

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

Наименование Файл Версия Размер
Внешняя обработка клиент “push0k“ 18.05:

.epf 1,27Mb
10
.epf 18.05 1,27Mb 10 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. acesdjazzz 26.12.17 05:20 Сейчас в теме
2. PloAl 139 26.12.17 07:00 Сейчас в теме
3. Franco 79 19.01.18 06:45 Сейчас в теме
В обработке «Сервер» в форме:
?(Не HTTPВерсия,?(НаборКонстант.ЗащищенноеСоединениеHTTPS,"Push0k_TLS","Push0k"),"Push0k_TLS")

где
HTTPВерсия = Истина
НаборКонстант.ЗащищенноеСоединениеHTTPS = Ложь

само собою возвращает Push0k_TLS, ходя такого макета нет и в помине. В результате прямо на старте отлуп пользователю.
Обидно, да, только зашёл....
8. PloAl 139 19.01.18 09:51 Сейчас в теме
(3) посмотрел есть небольшая проблема, поправлю
(4) поискал в статье и в инструкциях, не нашел, где я обещал или описывал "мастера настройки"
(5) поправлю
(6) вы ошибаетесь, нет там адреса и не должно быть точно
(7) в какой момент при каком действии так получается?
4. Franco 79 19.01.18 07:13 Сейчас в теме
Не обнаружил пошагового мастера настройки.
Это что, я ещё и думать должен?!
:)
9. PloAl 139 19.01.18 13:02 Сейчас в теме
(4) Весь интерфейс настройки можно назвать мастером, но не пошаговым так как шаги могут настраиваться в произвольном порядке. Подробное описание всех параметров в справке также можно увидеть при наведении на реквизит всплывающее пояснение.
16. Franco 79 19.01.18 20:01 Сейчас в теме
(9) Не-не... Нельзя неопытным пользователям предоставлять такие возможности. Уж лучше пусть я буду идиотом, но всё делать по инструкции, чем ошибаться и бросить все попытки что-нибудь сделать.
17. Franco 79 19.01.18 20:18 Сейчас в теме
(9) Ещё одно - не ошибка, конечно, но пока разобрался...
Опубликовал не под тем именем, под которым указан к сервису в константе. Сменил его в самих константах, а потом всё-таки нашёл в «Настройках» - «Дополнительно» - «Путь к сервису».
Думаю, об этом надо написать на самой форме и в инструкции.
Да-да, есть в самом конце справки,знаю...
5. Franco 79 19.01.18 07:23 Сейчас в теме
В настройке поменял порт 1С на 80, обычный для IIS, получил ошибку
{Обработка.Сервер.Форма.Форма.Форма(218)}: Преобразование значения к типу Число не может быть выполнено
ПИД = Число(ПолучитьПИДСервера());
Ну да, потому что получил ошибку 405, а в преобразование в число пришла строка с описанием этой ошибки.
10. PloAl 139 19.01.18 13:08 Сейчас в теме
(5) Судя по ошибке, вы перепутали порт "http сервиса 1с" и порт "для связи с 1с", если указать все правильно ошибки не будет
14. Franco 79 19.01.18 19:52 Сейчас в теме
(10)Да, это так.
Однако здесь не обрабатывается код http-ответа. Например, я только что получил ошибку 500 (это из-за использования учебной версии на домашнем ПК). Но код попытался преобразовать текст ошибки к числу.
6. Franco 79 19.01.18 09:23 Сейчас в теме
В Функция ПолучитьПИДСервера() Экспорт
вместо
ХТТПЗапрос = Новый HTTPЗапрос();

нужно
ХТТПЗапрос = Новый HTTPЗапрос("pushOKserver/hs/sio/");

Ибо:
HTTPЗапрос (HTTPRequest)
По адресу ресурса и заголовкам
Синтаксис:
Новый HTTPЗапрос(<АдресРесурса>, <Заголовки>)
Параметры:
<АдресРесурса> (обязательный)

или

Формирование неинициализированного объекта
Синтаксис:
Новый HTTPЗапрос()
Описание:
Создает неинициализированный объект.

Но тогда адрес ресурса должен быть задан принудительно.
11. PloAl 139 19.01.18 13:15 Сейчас в теме
(6) В данном запросе идет обращение к скрипту nodejs адреса ресурса там нет никакого. Указанный вами ресурс есть при подключении к http серверу 1с. Скорее всего вы перепутали порты. В СП нет строчек что "адрес ресурса" надо задавать принудительно, да и работает оно без указания.
13. Franco 79 19.01.18 19:37 Сейчас в теме
(11)Ага, понятно. Вопрос 7 тогда тоже снимается.
7. Franco 79 19.01.18 09:25 Сейчас в теме
В http-сервисе

{HTTPСервис.SocketIO.Модуль(20)}: Поле объекта не обнаружено (event)
12. PloAl 139 19.01.18 13:18 Сейчас в теме
(7) Возможно тут тоже проблема из за указания неправильных портов. Будьте добры напишите как воспроизвести ошибку.
15. Franco 79 19.01.18 19:59 Сейчас в теме
(12) Просто не совсем ясно, что имеется ввиду: «Основной порт сервера, к которому подключаются все клиенты...» и «Порт node.js 127.0.0.1:XXX через который пушсервер 1с взаимодействует со скриптом...». Вы же специалист по node.js, а я только пытаюсь понять что куда и как использовать.
18. PloAl 139 19.01.18 20:21 Сейчас в теме
(15) Пример авторизация: Клиент -> Основной порт (Node.js) -> Порт HTTP сервиса 1С -> порт для связи с 1С(Node.js) -> Основной порт (Node.js) -> Клиент
В следующей версии, не будет этих портов. Скрипт nodejs будет напрямую писать в postgresql.
19. hercares 19.03.19 21:38 Сейчас в теме
Сервер push сообщений “Push0k“ 19.01

В архиве обработки 18.05 или 19.01?

В предыдущей вашей доработке использовался сервер 1с, на котором был настроен http сервис и клиенты 1с, мобильные. Правильно ли я понимаю, что push0k admin заменил сервер 1с?
20. PloAl 139 19.03.19 23:23 Сейчас в теме
В архиве 18.05, в 19.xx логика практически такая же.

Сервера 1с, не было уже в 18.05
В 18.05 была конфигурация push0k admin, в качестве внешних источников использовались таблицы postgreSQL.
Оставьте свое сообщение

См. также

Получение/отправка сообщений RabbitMQ через REST API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простой пример получения и отправки сообщений в брокер сообщений RabbitMQ через REST API из 1С без сторонних компонент и middleware.

1 стартмани

23.09.2022    4663    9    NikeeNik    16    

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    6483    18    huxuxuya    28    

Распознавание текста из изображений и PDF с помощью нейросетей Yandex Vision и 1С

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Если вам нужно с помощью компьютерного зрения от Yandex быстро распознавать текст из документов и изображений, эта статья для вас!

5 стартмани

13.07.2022    6181    9    kiv1c    4    

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    16465    137    XilDen    19    

Api идеи для начинающих

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка подойдет тем, кто только начинает знакомиться с механизмами api в 1С. В обработке представлены взаимодействия с 12 простыми сайтами на примерах. Решения не затрагивают полной документации, а носят лишь ознакомительный характер. Делал на платформе 8.3.20.

1 стартмани

16.06.2022    7393    22    user676027_svikator    5    

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

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

1 стартмани

02.05.2022    7024    124    Steelvan    0    

Обмен данными с Web-сервисами

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Обработка предназначена для быстрой настройки обмена данными с Web-сервисами из пользовательского интерфейса.

10 стартмани

29.04.2022    5076    28    ns_bulatov    4    

Модуль обмена с QIWI Промо

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

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    14650    2    Neti    10    

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сервис предназначен для передачи сообщений от сервера 1С клиентским сеансам. В простом случае полученное сообщение отображается у клиента в виде всплывающего окна (процедура 1С ПоказатьОповещениеПользователя). С использованием данного сервиса можно оповещать пользователей о новых задачах, полученных электронных письмах, менеджеров о новых заказах, загруженных с сайта и т. п. Дополнительно имеется возможность передавать произвольные данные и обрабатывать самостоятельно полученные сообщения на клиенте, что позволяет реализовать более сложные сценарии (чаты, отображение прогресса длительной операции на сервере и т. п.).

1 стартмани

02.02.2022    10781    33    ltfriend    9    

Создание интерактивных обучающих курсов с помощью Vanessa Interactive

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

Приветствую Вас, коллеги. Сегодня Вам предлагается рассмотреть технологию создания интерактивных обучающих курсов, системы Onboarding, интерактивной справки для любых конфигураций разработанных на базе платформы 1С при работе в web клиенте. Прошу посмотреть ролик, кому неинтересно, как это работает, можно дальше не читать. Тестировалось на 1С:Предприятие 8.3 (8.3.20.1646).

1 стартмани

02.02.2022    5904    1    Viktor_Ermakov    2    

BIM: взаимодействие с платформой Autodesk Forge Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Строительство Строительство Абонемент ($m) Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    74683    16    kandr    3    

Создание простых сайтов на основе http сервисов - tips and tricks

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Универсальный метод, html шаблоны, страницы с авторизацией и без, многоязычность, страница авторизации, etc.

1 стартмани

22.01.2022    7719    10    vl-sher1    29    

1Scan. Интеграция веб-клиента 1С с устройством Android (смартфон, планшет, ТСД)

Мобильная разработка WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Получение из Android устройства данных сканера штрихода, камеры, GPS, широковещательных сообщений и передача в код модуля формы 1С для дальнейшей обработки.

1 стартмани

15.11.2021    8320    36    kild    33    

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

01.04.2021    16762    20    SaschaG    4    

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Языки и среды Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    21940    59    Parsec1C    20    

Отправка Push-уведомлений через сервис Firebase Cloud Messaging по протоколу FCM HTTP v1 API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

При разработке нативного приложения Android для ТСД, в котором присутствует функционал отображения задач кладовщикам, созданных в 1С, возникла необходимость отправлять push-уведомления о появлении новых задач. Для отправки таких уведомлений было решено использовать сервис Firebase Cloud Messaging (FCM). Так как для 1С, в отличии от других языков программирования, не существует готовых библиотек, что вполне логично, то очевидным способом отправки является использование протокола HTTP. Однако, существующая информация в интернете в части 1С содержит только сведений об отправке push-уведомлений через этот сервис с использованием устаревшего протокола HTTP Firebase Cloud Messaging. Сам Google не рекомендует использовать данный протокол и настоятельно склоняет к переходу на новый протокол FCM HTTP v1 API. Что ж, пришлось разбираться самостоятельно.

1 стартмани

24.03.2021    16552    27    ltfriend    16    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3 Промо

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бухгалтерский учет Бухгалтерский учет Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    29227    40    capitan    28    

1С + react native

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример реализации клиента для 1С на react native.

1 стартмани

09.10.2020    16284    11    van_za    9    

Учимся создавать http сервис (часть третья). Передача нескольких параметров в http сервис

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пошаговое руководство по созданию http сервиса (часть третья). Передача нескольких параметров в http сервис, a также формирование сложных JSON строк.

1 стартмани

02.10.2020    31049    9    hpi    18    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Часто 1С не может взаимодействовать со сторонними продуктами, например для шины предприятия RabbitMQ создают внешние компоненты. В статье предлагается новомодный подход REST API реализованный на приложении прокладке Middleware, язык тоже трендовый Golang. В статье немного познакомлю Вас с языком Golang, опишу интеграцию на стороне 1С (8.3.16.1502). Если статья зайдет, напишу как выгружать журнал регистрации по этой схеме в ElasticSearch

1 стартмани

31.08.2020    18131    17    dmitry-irk38    15    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    47060    115    Ditron    120    

HTTP сервисы по OpenAPI спецификациям

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Начинаем путь разработки HTTP сервисов с создания спецификаций OpenAPI. Автодокументация сервисов формата Swagger UI без зависимостей. Настройка сервисов в режиме предприятия.

1 стартмани

29.06.2020    24358    28    shmalevoz    22    

Конструктор HTTP-соединений в 1С (обычные и управляемые формы)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

02.06.2020    13496    39    Denr83    0    

oData – HTTP-сервис для ленивых.

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

10.05.2020    19122    35    Forest83    2    

DaJet QL - расширяемый язык запросов

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    19055    12    zhichkin    19    

Пример работы с Trello из 1С

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

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

1 стартмани

15.02.2020    25091    61    terrorion    18    

Проверка VAT номеров Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    25565    4    wtlz    1    

Автозаполнение адреса по КЛАДР в УПП при выгрузке контрагента с портала компании (API dadata)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Заведение, согласование контрагентов организовано на портале компании. Далее по web-сервису контрагенты выгружаются в УПП (юр.адрес и факт.адрес выгружаются строкой). Задача автоматизировать заполнение адреса в УПП по КЛАДР.

1 стартмани

03.12.2019    15377    3    John_d    10    

Конфигурация Парсер Сайтов Объявлений (Авито avito.ru) Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Вкратце: Например, вы можете автоматически несколько раз в день (любое заданное время) загружать свежие объявления в категории Телефоны (любой категории или произвольный запрос) и отправлять сообщения тем, которые содержат слово «iphone 6S» и цена ниже 50 000 руб. Затем отправлять себе на почту отчеты о загруженных объявлениях и результатах рассылки. А можете загружать данные в основную учетную систему.

21.03.2016    45121    0    capitan    21    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    31342    175    Denr83    0    

Яндекс сервисы [Расширение]

Универсальные обработки WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    21239    13    noprogrammer    12    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

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

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

10 стартмани

31.08.2017    32874    32    vipchep    5    

Выгрузка номенклатуры в социальную сеть Вконтакте

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    31909    73    kaliuzhnyi    48    

Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простая обработка по отправке или получение данных с любого сервера главное знать ресурс (выполняемую функцию) и тело запроса.

1 стартмани

12.08.2019    41906    84    MaxPowerr    7    

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

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

4 стартмани

08.07.2019    28772    45    miha-28    17    

Пример использования REST API Яндекс Диска Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    44840    77    MKFreeUser    17    

Беспроводные метки NFC Промо

Идеи и тренды в разработке Мобильная платформа Мобильная платформа Абонемент ($m) Абонемент ($m)

Технический прогресс не стоит на месте, появляющиеся новые технологии со временем дешевеют и становятся доступны практически всем желающим. Как пример можно привести мобильные телефоны. Середина 80-ых - начало 90-ых были переносные таксофоны с ручками или кирпичи стоимостью несколько тысяч $, конец 90-ых - большого размера трубки, с торчащими антеннами со стоимостью от 100$ Такую же аналогию можно провести с NFC метками, используемыми в учетных целях.

1 стартмани

16.05.2017    29205    96    PloAl    22