Дисплей покупателя, второй монитор, поддержка графики, видео, html, javascript, css. Планшет в качестве второго монитора

Программирование - Внешние компоненты

Эта программа позволит выводить данные из 1С на дополнительный монитор или андроид планшет по беспроводной связи. Использовать разработку рекомендуется в торговле, как альтернатива дисплею покупателя, для организации информационных табло, электронных очередей.
CashPad cloud: автоматизация кафе, баров, ресторанов. Это бесплатно!

CASHDISPLAY - разработка, применяемая нашей командой для реализации дисплеев покупателей по заказу компании "KAPO Duty Free" в нашей кассовой программе "КАССА-PRiMA".  

Обычно в POS-системах используется достаточно дорогой и мелкий дисплей покупателя. Поскольку компании "KAPO Duty Free" требовалось для работы с клиентом больше пространства, чем может предложить стандартный дисплей покупателя, мы решили применить в качестве его альтернативы обычный малогабаритный дисплей.

Плюсы такого решения очевидны:

  • - Клиент получает больше информации 
  • - Не требуется драйвер для подключения
  • - Возможно использовать любой монитор, от 7" до 70"
  • - Программист полностью управляет оформлением выводимых на дисплей данных

В качестве формата выводимых данных мы решили использовать обычную html-разметку. 

Поместите cashdisplay.exe в каталог с Вашей программой, создайте простенький файл стилей styles.css в этом же каталоге и наслаждайтесь детальной, красочно оформленной информацией на дополнительном дисплее, выводимой прямо из 1С. Качайте, пользуйтесь!

В прилагаемом архиве Вы найдете сам CashDisplay, инструкцию по его использованию в 1С, пример обработки, использующей CashDisplay, и пример файла css-стилей.

При первом использовании cashdisplay.exe запускается вручную, для регистрации com-объекта! 

 

Приводим пример кода из файла описаний для тех, кто думает, что ниасилит...

Подключение

Об=Новый COMОбъект("CashDisplay.Server");
Об.SetMonitor(2);
Об.Write("HELLO, WORLD!");
Об.Monitor();

Пример вывода данных

Об.Add("SUMMASTR","Сумма чека:");
Об.Add("SUMMA","5000.00");
Об.Add("RAZDEL1","");
Об.Add("CENASTR","Цена:");
Об.Add("CENA","100.00");
Об.Add("KOLVOSTR","Кол-во:");
Об.Add("KOLVO","3");
Об.Add("SUMMATOVSTR","Сумма");
Об.Add("SUMMATOV","300.00");
Об.Add("RAZDEL2","");
Об.Add("TOVAR","Одуванчеги фаршированные мозгом троля ");
Об.View();

А в styles.css вы просто описываете те объекты, какие используете. К примеру:

#SUMMASTR
{
  position: absolute;
  left:400px;
  top:60px;
  color:rgb(200,200,200);
  font-weight:normal;
}

и т.д.

Как видите, все просто! Настройка займет не более получаса. Нужна помощь? Пишите, поможем.

НОВИНКА

Теперь CashDisplay можно установить на обычный андроид планшет и использовать его в качестве второго монитора, подключив к основному компьютеру по беспроводной связи. Интересно? Нужна помощь в настройке? Обращайтесь!

ДОРАБОТАНО ПО ПОЖЕЛАНИЯМ КЛИЕНТОВ

1. Добавлени метод явного выбора монитора по номеру SetMonitor

2. Добавлен метод свертки приложения в трей InTray

3. Теперь приложения автоматически закрывается, если в течение 3 секунд к нему не было обращений из 1С. Это нужно в том случае, когда происходит первый запуск приложения для регистрации в реестре не из 1С.

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

Наименование Файл Версия Размер
CashDisplay
.zip 405,34Kb
19.12.16
108
.zip 1.1 405,34Kb 108 Скачать

См. также

Комментарии
1. Гость 28.08.13 14:02 Сейчас в теме
2. Оракул Айметдинов (jhfrek) 164 28.08.13 14:03 Сейчас в теме
Прикольно! Пригодиться...
3. Гость 28.08.13 14:03 Сейчас в теме
4. Амарис 28.08.13 14:05 Сейчас в теме
5. Анна - (MikaPikina) 28.08.13 14:07 Сейчас в теме
видела такую штуку в самарском дьюти фри - очень удобно, по-моему!
6. Алина Сультеева (alina91) 28.08.13 14:11 Сейчас в теме
(5) MikaPikina, согласна, мне тоже очень монравилось
7. Олег Каратаев (Kyrales) 118 29.08.13 06:17 Сейчас в теме
При запуски пишет, что не найден borlandmm.dll
Прикрепленные файлы:
8. Олег Каратаев (Kyrales) 118 29.08.13 06:21 Сейчас в теме
Нашел ответ по dll , возможно вам поможет. В настройках компилятора сделайте: Linker->Use dynamic RTL - убрать галку
9. Юрий Лазаренко (TitanLuchs) 04.09.13 10:58 Сейчас в теме
Прикольно, уже знаю где заюзать!
10. arjuna (arjuna) 14.09.13 15:50 Сейчас в теме
По цене дисплей покупателя и монитор сопоставимы. Энергии только больше на монитор уходит, а все остальное очень даже не плохо.
11. Евгений _ (Johny_v) 31 22.01.14 12:37 Сейчас в теме
А есть возможность сделать чтобы программа работала по сети?
Это будет востребовано. Сейчас многие работают на терминальных серверах.
Например можно создать виртуальный ком-порт и пробросить его на сервер. Компонента сможет через него передавать данные клиенту. Или использовать HTTP сервер на клиенте для обработки запросов, приходящих с сервера.
roadman; due; lookindenis; +3 Ответить
12. Степан (stepan_shock) 110 08.04.14 11:04 Сейчас в теме
15. SergB A (SergBA) 11.04.14 07:20 Сейчас в теме
Ответьте, пожалуйста, кто использовал: интересует стабильность вывода на дополнительный монитор. Опыт экспериментов с дополнительным монитором показывал нестабильность работы, начиная от загрузки винды после некорректного завершения предыдущего сеанса и до необходимости частой настройки средствами винды вывода на дополнительный монитор. В общем у кого работает так, что "один настроил и забыл"?
16. SergB A (SergBA) 11.04.14 12:32 Сейчас в теме
А как сие чудо к 1С 7.7 прикрутить?
18. Ильдар Бурнашев (roadman) 30.04.14 06:19 Сейчас в теме
А идея просто суперская...
20. Ильдар Бурнашев (roadman) 06.05.14 07:22 Сейчас в теме
Подскжите, как в эту штуку вывести не текст, а Картинку...
Пожалуйста, с примером кода, если можно...
Спасибо :-)
21. Евгений Баинов (bainov) 49 02.02.15 16:26 Сейчас в теме
(20) roadman, Скоро опубликуем здесь нашу версию. С возможностью вывода графики.
22. Олег Пономаренко (O-Planet) 6707 02.02.15 18:57 Сейчас в теме
(20) Легко! Это ж html! Пишите в личку, помогу.
23. Евгений Баинов (bainov) 49 28.02.15 22:41 Сейчас в теме
(20) roadman,
Опубликовали бесплатную версию нашей разработки на такую же тему.
Можно выводить произвольные картинки на второй монитор.
Бесплатная версия эмулирует работу двустрочного дисплея покупателя.
Есть обработка обслуживания для подключения к УТ10.

(16) Решение в виде COM-объекта. Может быть использовано везде, где возможно создание и использование COM-объектов.
Работает надежно, не дергает файловую систему.
Графику выводит через DirectX.

(22) Мы не стали html использовать из-за громоздкости движка. Обмен через файлы тоже пробовали применять - случались глюки.

В следующей версии мы сделаем возможность записи произвольных форм в формате qml при помощи редактора.
Дальнейшая работа с ними в 1С будет заключаться в вызове формы по имени и наполнении полей формы данными.
24. Олег Пономаренко (O-Planet) 6707 27.05.15 03:46 Сейчас в теме
Этой разработке уже два года! Проверена на сети магазинов Duty Free в международных аэропортах по всему миру. Ни одного нарекания!

Закажите внедрение этой разработки в Вашу программу!
25. Дмитрий Бухалов (Re:аниматор) 391 27.05.15 05:35 Сейчас в теме
При первом использовании cashdisplay.exe запускается вручную, для регистрации com-объекта!

26. борян петров (TODD22) 16 27.05.15 08:07 Сейчас в теме
Название конечно у сети Duty Free жесть....
27. Максим Горбачев (Tangram) 126 11.03.16 23:21 Сейчас в теме
Прилетела задачка выводить данные (меню или прайс-лист) на ДВА монитора. То есть в системе 3 монитора: на одном оператор работает, на два выводим меню. CASHDISPLAY сможет?
28. Дмитрий Малина (malina-da) 29.11.16 11:06 Сейчас в теме
Возникла ситуация что выводит форму на главный монитор, вместо второго. Каким способом приложения определяет где второй монитор, а где первый?
29. Олег Пономаренко (O-Planet) 6707 19.12.16 03:20 Сейчас в теме
Добавил метод SetMonitor(Номер). Номер - от 1. По умолчанию настроен на 2-й. Сейчас обновлю.
30. Евгений Васильченко (vas2005) 4 18.01.17 14:02 Сейчас в теме
Прошу прощения, но я не совсем понял....
Данное решение сможет работать с терминальным сервером..???

Возможно ли выводить на другой монитор изображения номенклатуры????

Пример: Есть терминальный сервер, там 1с 8.2 и работает 3-5 пользователей.
Могут ли пользователи выводить на отдельный монитор или телевизор в торговом зале изображения номенклатуры..??
31. Надежда Н (Izolda) 3 21.01.17 21:23 Сейчас в теме
Попробовал пишет метод SetMonitor не обнаружен
32. Alexandr Mal (zaoproxy) 21 06.02.17 06:38 Сейчас в теме
Подтверждаю. метод SetMonitor не обнаружен.
33. Олег Пономаренко (O-Planet) 6707 16.05.17 00:48 Сейчас в теме
34. Олег Пономаренко (O-Planet) 6707 03.07.17 16:03 Сейчас в теме
Добавлена функция свертки в трей и закрытие через 3 сек, если вызвано не из какой-то программы (в частности, 1С)
35. Дмитрий (RealFixxxer) 24.08.17 11:06 Сейчас в теме
На управляемых формах в клиент-серверном варианте закрывается сразу, надо переделывать, чтобы не выгружалась из памяти.
36. Дмитрий (RealFixxxer) 24.08.17 11:56 Сейчас в теме
И предупредили бы, что везде ваша реклама будет.
37. Дмитрий (RealFixxxer) 24.08.17 13:57 Сейчас в теме
Подскажите хотябы как убрать скроллбар справа?
Она есть на любом мониторе и любом разрешении.
Очень некрасиво смотрится белая полоса на черном экране.
38. Владимир Устинов (Help-GROUP) 3 18.09.17 08:04 Сейчас в теме
(35) поделитесь, пожалуйста, как переделали, чтобы не закрывалось на УФ?
39. Оракул Айметдинов (jhfrek) 164 18.09.17 14:21 Сейчас в теме
(38)Надо запускать программу через 1С, командой:
Об.View();
40. Владимир Устинов (Help-GROUP) 3 19.09.17 12:00 Сейчас в теме
(39) так и запускаю, всё равно закрывается при выходе из процедуры.
41. Оракул Айметдинов (jhfrek) 164 19.09.17 22:59 Сейчас в теме
(40)А не на УФ работает?
Если работает, то значит программа не поддерживает УФ.
Если тоже не работает, то надо попробовать запустить 1С от имени Администратора.
42. Mary noskova (user826590) 20.09.17 02:59 Сейчас в теме
Хорошая идея, просто суперская... Интересное решение. Подскажите, а для конфигурации 8.3 УПП 1.3 подойдет?
43. Владимир Устинов (Help-GROUP) 3 20.09.17 04:26 Сейчас в теме
(41) На обычных формах всё работает. Я так понимаю, что Дмитрий (RealFixxxer) каким-то образом смог обойти эту проблему, был тот же вопрос. (35).
44. Оракул Айметдинов (jhfrek) 164 20.09.17 08:07 Сейчас в теме
45. Олег Пономаренко (O-Planet) 6707 20.09.17 14:19 Сейчас в теме
Чтобы работало на управляемых, достаточно сделать, к примеру, так:

&НаКлиенте
Перем Об;

&НаКлиенте
Процеудура Старт()
  Об=Новый COMОбъект("CashDisplay.Server");
  Об.SetMonitor(2);
  Об.Write("HELLO, WORLD!");
  Об.Monitor();
КонецПроцедуры

&НаКлиенте
Процедура Тест()
  Об.Add("SUMMASTR","Сумма чека:");
  Об.Add("SUMMA","5000.00");
  Об.Add("RAZDEL1","");
  Об.Add("CENASTR","Цена:");
  Об.Add("CENA","100.00");
  Об.Add("KOLVOSTR","Кол-во:");
  Об.Add("KOLVO","3");
  Об.Add("SUMMATOVSTR","Сумма");
  Об.Add("SUMMATOV","300.00");
  Об.Add("RAZDEL2","");
  Об.Add("TOVAR","Одуванчеги фаршированные мозгом троля ");
  Об.View();
КонецПроцедуры
...Показать Скрыть


Т.е. работа с com проходит на клиенте
Оставьте свое сообщение