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

Связка из веб-приложения и расширения для 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)

Статистика:
Просмотры 12269
Загрузки 1
Рейтинг 10
Создание 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 это мало, надо отстатыщ :)
uk09; maksa2005; akR00b; +3 Ответить
2. Техподдержка 29.04.22 11:00
(1) Лицензии 1С не расходуются, все работает достаточно быстро, под СУБД могу собрать любую (PostgreSQL использовал из-за того, что уже была на сервере), отдельный Angular позволяет настроить внешний вид под себя и вывести дополнительную информацию, хоть видео с рекламой.
Возможно, выглядит громоздко, но достаточно гибко.
3. cdiamond 04.05.22 08:25 Сейчас в теме
По секрету, 1С умеет быть web-сервером сам, напрямую, без регистрации, СМС, дополнительных СУБД и траты лицензий. 50 телевизоров точно потянет
uk09; akR00b; +2 Ответить
4. Техподдержка 04.05.22 21:30
(3) Вы имеете ввиду автономный сервер? Там вроде ограничение на 3 сеанса без покупки дополнительной лицензии в файловом варианте базы данных.
5. cdiamond 05.05.22 07:35 Сейчас в теме
(4) Нет. Объект конфигурации - http-сервис. Лицензий не расходует
uk09; maksa2005; +2 Ответить

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

См. также

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

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

36000 руб.

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на с...

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. Пр...

28000 25200 руб.

SALE! 10%

[Расширение] БОР-Навигатор.Культура

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения"...

8400 руб.

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий в...

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редакти...

6000 руб.

Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предп...

Расширении конфигурации "Управление торговлей, редакция 11" для работы с веб-сервисом Мерлион с помощью Merlion API. Расширение и набор подключаемых дополнительных обработок позволяет без изменения конфигурации получить возможн...

8280 руб.