Табло очереди заказов на экран телевизора

Связка из веб-приложения и расширения для 1С: Розница 2.3.

Арт.: 1649790

очередь_заказов.png
1с настройки.png
1с рмк.png
1с очередь заказов.png
очередь_заказов.png
1с настройки.png
1с рмк.png
1с очередь заказов.png

3600 руб.

1000 руб.

Данная разработка позволяет реализовать вывод на экран телевизора с веб-браузером (со smart tv или медиаприставкой) табло с очередью заказов.

 

Табло

Серверная часть - ASP NET 6, Web API приложение, веб-интерфейс реализован на Angular, динамическое обновление данных посредством SignalR. Сервер использует СУБД SQLite, по запросу могу собрать под другие базы данных.

Расширение реализовано для 1С: Розница 2.3 (тестировалось на версии 2.3.10.61).  Расширение формирует запросы к серверу Web API, для отображения новых заказов и отметки уже выполненных, также реализована возможность печати на ККТ чека с текущим номером заказа и его составом.

Веб-интерфейс на Angular позволяет самостоятельно (или по запросу) легко кастомизировать внешний вид табло.

 

Установка

 

Web API приложение

Серверная часть устанавливается на веб-сервер IIS.

Предварительно необходимо установить ASP.NET Core Runtime 6, Hosting Bundle по ссылке: https://dotnet.microsoft.com/en-us/download/dotnet/6.0

Для IIS необходимо добавить новое приложение (или создать отдельный пул, если сервер уже активен и необходимо запустить на отдельном порту). В созданную папку приложения поместить содержимое папки Server.

Возможно использование Kestrel-сервера - если нужно только локальное подключение для тестирование, то всего лишь запустить файл OrderQueue.exe в папке Server (по умолчанию использует порт 5000, можно будет увидеть в окне консоли). Иначе можно настроить проксирование через Apache/nginx.

В папке Server находится файл appsettings.json, в нем необходимо указать настройки работы серверной части.

В разделе ConnectionStrings указано расположение базы данных, при необходимости значение можно изменить. База данных будет создана автоматически.

Важно: так как в папке с приложением находится база данных Sqlite для хранения текущих заказов, нужно наличие прав на запись в данную папку у пользователя, под которым запущен экземпляр приложения. Если используется IIS и пул приложения запущен от пользователя Network Service, то нужно дать этому пользователю права на запись в эту папку.

"ConnectionStrings": {
    "OrderQueue": "Data Source=orderqueue.db"

В разделе Cors -  адрес сервера node.js с запущенным angular.

"Cors": {
    "Host": "http://localhost:44448"
  }

В разделе Settings - время (в минутах) автоматического удаления готовых заказов (CleanReadyInterval) и находящихся в очереди (CleanProcessingInterval).

 "Settings": {
    "CleanReadyInterval": "10",
    "CleanProcessingInterval": "720"
  }

 

Интерфейс Web API

Реализованы следующие функции WebAPI. Их можно использовать при самостоятельной интеграции в другие системы.

Команды передаются как http get запрос серверу. Например, запрос может выглядеть следующим образом:

http://192.168.1.210:5146/orderqueue/order/getcompleteorders

Где выделенная часть постоянная для всех запросов - адрес сервера, порт и имя приложения на IIS сервере.

Команда Описание
/order/addorder?number=<номер заказа> Добавление заказа в очередь
/order/removeorder?number=<номер заказа> Удаление заказа
/order/setordercomplete?number=<номер заказа> Отметка заказа, как готового
/order/getcompleteorders Возвращает готовые заказы
/order/getprocessingorders Возвращает заказы в очереди

 

<номер заказа> - параметр команды, который представляет собой числовое значение. Например, 001, 002.

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

Команды, возвращающие списки заказов, передают ответ в качестве json структуры вида:

[{"id":3,"number":"002","status":"Processing","orderDate":"2022-07-05T12:26:34.0481005"}]

 

Angular 

Для angular необходимо скачать node.js https://nodejs.org/en/

Тестировал на LTS версии 16.14.2

После установки необходимо перейти в папку ClientApp с веб-сервером.

В папке src\environments находится файл environment.prod.ts. В нем необходимо указать адрес сервера Web API. 

Адрес должен заканчиваться на '/'. Если сервер запущен на IIS, то не забыть указать имя приложения на сервере, например, http://192.168.1.100:5146/orderqueue/

export const environment = {
  production: true,
  baseUrl: 'http://localhost:5146/'
};

Далее в папке ClientApp запустить по очереди файлы install.bat и start.bat, либо вручную открыть командную строку в этой папке и выполнить команды npm install и npm start. Вторую команду необходимо добавить в автозагрузку системы.

 

Расширение для 1С

В 1С необходимо подключить расширение ОчередьЗаказов.cfe.

Расширение добавит новый раздел - Очередь заказов. В этом разделе необходимо задать значения констант для работы расширения.

  • Сервер очереди заказов - адрес сервера Web API.
  • Ширина кассовой ленты - ширина ленты для печати чека.
  • Печатать второй экземпляр состава заказа - если нет необходимости ставить еще одно рабочее место у сборщика заказа, то есть возможность печатать два экземпляра чека с номером и составом заказа.

В РМК в разделе Меню добавлены две кнопки - В очередь и Открыть очередь.

 

РМК

 

Кнопка В очередь выводит на табло номер нового заказа и печатает чек с номером и составом заказа. Фискальный чек не печатается, процесс оплаты остался без изменений.

Кнопка Открыть очередь отображает окно со списком активных заказов, где их можно пометить как готовые к выдаче.

 

Очередь заказов

 

Ограничения на количество клиентов веб-сервера табло отсутствуют, соответственно можно подключить несколько телевизоров.

Код расширения и angular-приложения открыт, Web API - приложение с закрытым кодом.

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

Windows Server 2016, IIS 10/Windows 11, Kestrel.

1С:Предприятие 8.3 (8.3.20.1710),  Розница, редакция 2.3 (2.3.10.61)

Статистика:
Просмотры 13946
Загрузки 2
Рейтинг 13
Создание 29.04.22 09:21
Обновление 09.12.22 11:34
№ Публикации 1649790
Характеристики:
Теги

табло очередь заказов

Рубрики WEB-интеграция Работа с интерфейсом
Кому Пользователь
Тип файла Архив с данными
Платформа Платформа 1С v8.3
Конфигурация 1С:Розница 2
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Нет
1. Steelvan 29.04.22 10:51 Сейчас в теме
И#аааать !

Чтобы из 1С насвязи выводить страничку с десятком элементов нужно

... ASP NET 6, Web API приложение, веб-морда сделана на Angular, динамическое обновление данных посредством SignalR. Сервер использует СУБД PostgreSQL ...

да еще и с возможностью настройки

---

Ну тогда 6240 это мало, надо отстатыщ :)
Hexed; uk09; maksa2005; akR00b; +4 Ответить
2. Техподдержка 29.04.22 11:00
(1) Лицензии 1С не расходуются, все работает достаточно быстро, под СУБД могу собрать любую (PostgreSQL использовал из-за того, что уже была на сервере), отдельный Angular позволяет настроить внешний вид под себя и вывести дополнительную информацию, хоть видео с рекламой.
Возможно, выглядит громоздко, но достаточно гибко.
3. cdiamond 04.05.22 08:25 Сейчас в теме
По секрету, 1С умеет быть web-сервером сам, напрямую, без регистрации, СМС, дополнительных СУБД и траты лицензий. 50 телевизоров точно потянет
Hexed; uk09; akR00b; +3 Ответить
4. Техподдержка 04.05.22 21:30
(3) Вы имеете ввиду автономный сервер? Там вроде ограничение на 3 сеанса без покупки дополнительной лицензии в файловом варианте базы данных.
5. cdiamond 05.05.22 07:35 Сейчас в теме
(4) Нет. Объект конфигурации - http-сервис. Лицензий не расходует
Hexed; uk09; maksa2005; +3 Ответить
6. Hexed 23.05.24 12:19 Сейчас в теме
(5) подтверждаю, рисовал сразу в 1с через http-сервис вебморду кабинета пользователя для передачи показаний счетчиков
7. Техподдержка 29.05.24 11:50
(6) http-сервис привязывает систему только к 1с. Данное решение возможно и кажется избыточным, но более универсальное.
8. Hexed 29.05.24 12:13 Сейчас в теме
(7) да, я понял что это не баг, это фича! )))
Видимо планируется стороннее приложение, которое должно тянуть-ложить доп инфу именно через sql базу данных, но по контексту задачи это не видно. И выглядит как будто два узких специалиста нашли общую точку обмена данными, усложнив тем самым реализацию задачи, ее поддержку и количество уязвимостей
9. user2091617 10.06.24 11:43 Сейчас в теме
Добрый день! есть реализация без кнопки "в очередь"? например для товаров с определенным признаком номенклатуры сразу формировать очередь, без нажатия кнопки?
10. Техподдержка 13.06.24 19:12
(9) Добрый день. Добавлю такую возможность в расширении для 1С.
11. пользователь 13.06.24 19:46
Сообщение было скрыто модератором.
...

Оставьте свое сообщение

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

36000 руб.

Интеграция 1С и Битрикс 24 — модуль синхронизации для обмена задачами

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации лине...

5040 руб.

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координа...

22656 руб.

Конструктор API для обмена базы 1С 8.3 с другими системами по протоколу http в формате JSON

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

Интеграция с сервисом vetmanager в 1С: Бухгалтерия 3.0

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.