VGA-эмулятор дисплея покупателя

Опубликовал Евгений Баинов (bainov) в раздел Программирование - Внешние компоненты

COM-объект предназначен для эмуляции дисплея покупателя на дополнительном экране компьютера.
Совместима с  "1С:Управление торговлей 10.3", "1C:Розница 1.0", "1C:Комплексная автоматизация 1.1".

Версия 1.1.4

COM-объект предоставляет возможность эмулировать дисплей покупателя на втором мониторе компьютера.

 

Возможности:

  • Отображение текущего времени и даты.
  • Показ слайд-шоу из указанного в настройках каталога с изображениями в формате JPG. По умолчанию показываются пейзажи озера Байкал.
  • Показ произвольного изображения из файла.

Плюсы: 

  • Нет необходимости покупать специализированный дисплей покупателя, если есть возможность подключить к компьютеру второй дисплей.
  • По стоимости это может оказаться дешевле, при этом выглядеть намного презентабельнее.
  • Можно отображать рекламу в режиме слайд-шоу. Это может повысить вероятность спонтанных покупок в прикассовой зоне.
  • Можно подключить к УТ 10 безо всяких доработок конфигурации.
  • Разработчик может организовать в своем решении возможность демонстрации на втором дисплее произвольных изображений.
  • Например, в нашем решении для общепита мы демонстрируем изображение блюда во время подбора блюд в заказ.

Порядок установки:

  1. Скачать файл RBSDisplayFree.dll
  2. Запустить командную строку от имени администратора, используя команду regsvr32, зарегистрировать файл RBSDisplayFree.dll
    Например: regsvr32  "путь к компоненте"\RBSDisplayFree.dll 
  3. Используя обработку обслуживания подключить компоненту к типовой конфигурации.

 

Пример использования 1:

Драйвер.SetDisplay(2); //Устанавливаем дисплей для управления. 1- основной дисплей , 2- второй дисплей и т.д. Номер дисплея как в настройках Windows
Драйвер.SetHeader("Торговый дом ""Комплексный""");//Заголовок с названием организации
Драйвер.SetPicturePath("C:\Pictures");//Каталог с картинками JPG для слайдшоу. Желательно предварительно подготовить для уменьшения искажения при растягивании.
//Картинки отображаются в нижней части дисплея и подгоняются под размер области отображения.
Драйвер.SetDelay(10);//ставим период обновления картинки в слайд-шоу. в данном случае 10 секунд.
Драйвер.Initialize();//Применяем настройки инициализации

//Выводим строки на дисплей
Сообщение = Новый Соответствие;
Сообщение.Вставить("Строка1","Вафли 450гр. 45-00р.");
Сообщение.Вставить("Строка2","Сумма       125-00р.");
Результат = Драйвер.ShowPage("",Сообщение);


Пример использования 2:

Драйвер.SetDisplay(2); //Устанавливаем дисплей для управления. 1- основной дисплей , 2- второй дисплей и т.д. Номер дисплея как в настройках Windows
Драйвер.SetHeader("Торговый дом ""Комплексный""");//Заголовок с названием организации
Драйвер.SetPicturePath("C:\Pictures");//Каталог с картинками JPG для слайдшоу. Желательно предварительно подготовить для уменьшения искажения при растягивании.
//Картинки отображаются в нижней части дисплея и подгоняются под размер области отображения.
Драйвер.SetDelay(10);//ставим период обновления картинки в слайд-шоу. в данном случае 10 секунд.
Драйвер.Initialize();//Применяем настройки инициализации

//Выводим строки на дисплей

Результат = Драйвер.ShowLines("Вафли 450гр. 45-00р.","Сумма       125-00р.");


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

Наименование Файл Версия Размер
RBSDisplayFree.dll
.dll 4,72Mb
02.07.15
35
.dll 1.1.4 4,72Mb 35 Скачать
Обработка обслуживания для Компексной автоматизации 1.1, Розница 1.0, Управление торговлей 10.3
.epf 20,89Kb
22.05.15
33
.epf 1.0.1 20,89Kb 33 Скачать
Краткое руководство пользователя
.pdf 159,03Kb
02.07.15
25
.pdf 1.1.3 159,03Kb 25 Скачать

См. также

Добавить вознаграждение
Комментарии
2. Евгений Баинов (bainov) 100 09.03.15 09:42 Сейчас в теме
Документация.


ShowImage(imageDestination);
Функция вывода изображения на дисплей
Входные параметры:
imageDestination - строка (BSTR), путь к изображению, включая имя и расширения файла
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

Close();
Функция освобождения захваченного дисплея
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetTheme(themePath);
Функция установки пути к файлу темы
Входные параметры:
themePath - строка (BSTR), путь к файлу темы
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetDisplay(displayNumber);
Функция установки номера захватываемого дисплея.
Входные параметры:
displayNumber - число (LONG), номер дисплея (отсчет начинается с единицы)
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

GetVersion();
Функция возвращает версию компоненты
Возвращаемое значение: строка (BSTR), версия компоненты

Настройка стандартной темы:
SetFont1(fontName);
Функция установки шрифта для первой строки
Входные параметры:
fontName - строка (BSTR), имя шрифта
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetFont2(fontName);
Функция установки шрифта для второй строки
Входные параметры:
fontName - строка (BSTR), имя шрифта
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetHeader(headerLine);
Функция установки заголовка страницы
Входные параметры:
headerLine - строка (BSTR), заголовок страницы
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetPicturePath(directoryPath);
Функция установки пути к каталогу с изображениями для слайд-шоу. Загружаются десять первых файлов в формате *.jpg
Входные параметры:
directoryPath - строка (BSTR), путь каталога с изображениями
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки

SetDelay(interval);
Функция установки интервала смены изображений слайд шоу.
Входные параметры:
interval - число (LONG), время в секундах
Возвращаемое значение: TRUE (ИСТИНА) при успешном выполнении функции и FALSE (ЛОЖЬ) при возникновении ошибки
3. Arshat Amirzhan (Amirzhan) 16.03.15 20:45 Сейчас в теме
4. Бесёнок Инфостарта (Бесёнок Инфостарта) 16.03.15 21:49 Сейчас в теме
5. Николай Борисов (omenfarsh) 60 10.04.15 08:54 Сейчас в теме
У меня драйвер в УТ почему-то не видит?
6. Евгений Баинов (bainov) 100 14.04.15 20:54 Сейчас в теме
(5) omenfarsh, COM-объект создается? Если dll по какой то причине не зарегистрировался - то надо будет руками зарегистрировать.
7. Сергей Дуганов (rounder) 161 26.04.15 21:56 Сейчас в теме
А в терминале будет работать?
8. Евгений Баинов (bainov) 100 28.04.15 17:42 Сейчас в теме
(7) rounder, Должно работать. Только управлять будет дисплеем, подключенном к серверу.
9. Николай Борисов (omenfarsh) 60 28.04.15 20:59 Сейчас в теме
Получилось подключить обработку, всё супер! Никаких дописок и сложных настроек! Полная эмуляция стандартного дисплея покупателя)
Прикрепленные файлы:
10. Sergey Bryuhanov (Bryuhanov) 06.05.15 16:31 Сейчас в теме
Попробовал, классная вещь!!!
11. Евгений Баинов (bainov) 100 09.05.15 03:40 Сейчас в теме
(10) Bryuhanov,
Глюки могли быть из-за несоответствия версий обработки и компоненты.
12. Sergey Bryuhanov (Bryuhanov) 09.05.15 18:53 Сейчас в теме
(11) bainov,
Так, в том то и дело, что регистрировал именно dll из архива с обработкой.
Хотя, может действительно при установке свежей либы старая dll, скачанная из вашей публикации не была удалена.
Dll при установке только в Program Files распаковывается?
Или баг из-за того возник, что дисплей я к Рознице, а не к УТ цеплял, но там различий по работе с ТО, никаких вроде-бы не должно быть?
15. Евгений Баинов (bainov) 100 28.05.15 04:47 Сейчас в теме
Убрали с публикации инсталятор.
Опубликовали новую версию dll и обработку.
16. Сергей Лунин (prolan) 05.06.15 19:21 Сейчас в теме
Отображение, как я понял, идет на весь экран. А если нужно в отдельном окне?
17. Евгений Баинов (bainov) 100 08.06.15 06:40 Сейчас в теме
(16) В следующей версии будет добавлена возможность настройки стиля окна.
также запланирована обратная связь с 1С. Можно будет получать в 1С события от объектов, когда по ним кликают мышкой.
18. Александр М (buka99999) 10.06.15 22:28 Сейчас в теме
bainov А есть версия библиотеки которая будет работать в 1С77. Здесь команда посылается через соответствие, а семерка не знает что это такое.
19. Евгений Баинов (bainov) 100 11.06.15 06:44 Сейчас в теме
(18) Не думали что на 77 понадобится. :)
Добавим в ближайшее время функцию.
20. Александр М (buka99999) 11.06.15 10:05 Сейчас в теме
bainov Былобы неплохо, т.к. на семерке еще много народу работает.
21. mishaPH (mishaPH) 17.06.15 12:07 Сейчас в теме
22. Евгений Баинов (bainov) 100 17.06.15 19:58 Сейчас в теме
(21)(20)
Добавили функцию вывода строк, совместимую с 1С 7.7.
Применение:
//Выводим строки на дисплей
Результат = Драйвер.ShowLines("Вафли 450гр. 45-00р.","Сумма       125-00р.");
23. Константин (Fisherru) 79 24.06.15 08:39 Сейчас в теме
Вопрос. А можно вывести только 2 строки?
И еще, может кто знает сеть "Красное и Белое"? мы уже почти по всей России...
Нами уже несколько лет назад реализован подобный монитор покупателя для 7.7.
Зайдите посмотрите ;-)
Там на мониторе организовано 3 зоны :
с левой стороны отображается прайс на сигареты (можно обновлять в реальном времени).
на правой стороне экрана - сверху реклама (можно как статику так и видео показывать),
а в нижней части отображается накладная - товары приобретаемые на кассе.
Список товаров автоматически прокручивается с выделением цветом товаров без скидки,
там же присутствует сведения о дисконтной карте и сумма накладной меняющаяся с каждым новым товаром
пробитым по кассе...
Да, когда покупок нет какое-то время на весь экран выводится реклама (можно как статику так и видео показывать)
Как только новая накладная - возвращаемся на экран с продажами
Всё самописное :-)
Пример прикреплен.
База чисто рабочая тренировочная так что цены могут быть не корректны и в названиях сигарет - ляпы...
Сигаретная часть серая согласно закона. Раньше была красиво расцвечена также с выделением цветом
различных акционных товаров
Прикрепленные файлы:
24. Константин (Fisherru) 79 24.06.15 08:41 Сейчас в теме
Да, и еще, пропорции зон можно менять программно ;-)
25. Евгений Баинов (bainov) 100 30.06.15 12:30 Сейчас в теме
Бесплатная версия эмулирует работу двухстрочного дисплея покупателя. Полнофункциональная версия может отображать произвольную информацию (таблицы, картинки, графики, анимация). Поддерживается темизация, т.е. пользователь может произвольно настроить внешний вид на свое усмотрение.
Например страницы из тем наших клиентов:
Прикрепленные файлы:
26. Евгений Баинов (bainov) 100 01.07.15 06:07 Сейчас в теме
Пример работы с компонентой в C#:

public partial class Form1 : Form //Описание класса формы
    {
        dynamic component; //создание глобальной переменной без проверки типа
        public Form1() //конструктор формы
        {
            InitializeComponent(); //создание интерфейса формы
            Type display = Type.GetTypeFromProgID("Rbsoft.RBSDisplay2"); //получение типа по заданному ProgId
            component= Activator.CreateInstance(display); //создание экземпляра заданного типа
            component.setDisplay(2); //вызов метода компоненты - установка номера дисплея
            component.Initialize(); //вызов метода компоненты - инициализация параметров
            component.SetPicturePath(@"C:\Users\user\Pictures\Cafe\Ad"); //вызов метода компоненты - установка пути хранения изображений
            component.ShowLines("Вафли 450гр. 45-00р.","Сумма       125-00р."); //вызов метода компоненты - отобразить строки на экране
        }
    }
...Показать Скрыть
27. Евгений Баинов (bainov) 100 02.07.15 08:50 Сейчас в теме
Пример работы компоненты в C++

CoInitialize(NULL); // инициализация СОМ библиотеки
	CLSID clsid;
	HRESULT hr = CLSIDFromProgID(L"Rbsoft.RBSDisplay2", &clsid); // получаем CLSID по известному ProgID

	if (SUCCEEDED(hr)) //если выполнено успешно
	{
		IDispatch * pdisp = (IDispatch *)NULL; //создание указатель на интерфейс СОМ объекта

		hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, IID_IDispatch, (void **)(&pdisp)); // создание объекта по полученному ранее CLSID

		CComPtr<IDispatch> var = pdisp; //умный указатель для управления СОМ интерфейсом
		CComVariant varResult; //создаем класс-обертку VARIANT для хранения результата выполнения методов

		var.Invoke1(L"SetDisplay", &variant_t(2), &varResult); //вызываем метод SetDisplay с помощью метода Invoke класса IDispatch
		var.Invoke0(L"Initialize", &varResult); //вызываем метод SetDisplay с помощью метода Invoke класса IDispatch

		system("pause");

		var.Invoke1(L"SetPicturePath",&variant_t("C:\Users\vasya\Pictures\Wallpapers\SomeTest"), &varResult); //вызываем метод SetPicturePath
		var.Invoke2(L"ShowLines", &variant_t(L"Вафли 450гр. 45-00р."),&variant_t(L"Сумма       125-00р."),&varResult); //вызываем метод ShowLines

		system("pause");
	}
	CoUninitialize(); //закрываем СОМ библиотеку
...Показать Скрыть
28. Tigran Musayelyan (Tigra_N86) 09.03.16 11:22 Сейчас в теме
Добрый день.
Я не программирую в 1с, поэтому у меня возникли трудности с подключением вашего драйвера к 1С.
Можете выложить какую-нибудь инструкцию использования внешней обработки с Розница 2.1 или Управление Торговлей 11 ДЛЯ ЧАЙНИКОВ.
Спасибо
29. Евгений Баинов (bainov) 100 09.03.16 12:27 Сейчас в теме
(28) Для Розница 2.1 и УТ 11 надо писать модуль для подключения. Указанного в описании примера достаточно для этого.
Если Вам требуется готовый модуль - то это платная работа.
30. Вася пупкин (vacony) 31.03.16 13:52 Сейчас в теме
Добрый день
Подскажите стоимость платной версии , т.к. нужно выводить весь чек на доп. монитор , и варианты приобретения ?
Заранее спасибо
31. Евгений Баинов (bainov) 100 31.03.16 18:20 Сейчас в теме
(30) vacony, 5000р. на каждый компьютер
32. V. L. (Vladal) 409 20.04.16 16:41 Сейчас в теме
На скриншоте что за единица измерения "гр"?
33. Евгений Баинов (bainov) 100 21.04.16 03:31 Сейчас в теме
(32) Vladal, гр=грамм
Пример с товарами из типовой УТ
34. Евгений Васильченко (vas2005) 4 18.01.17 14:03 Сейчас в теме
Прошу прощения, но я не совсем понял....
Данное решение сможет работать с терминальным сервером..???

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

Пример: Есть терминальный сервер, там 1с 8.2 и работает 3-5 пользователей.
Могут ли пользователи выводить на отдельный монитор или телевизор в торговом зале изображения номенклатуры..??
35. Евгений Баинов (bainov) 100 18.01.17 17:04 Сейчас в теме
(34) Да, может работать с терминальным сервером.
Если непосредственно к серверу подключить несколько мониторов - то можно ими управлять из 1С.
Для вывода информации надо подготовить дизайны форм вывода - тему оформления.
Внутри темы можно разместить произвольное количество различных форм.
Из 1С при помощи внешней компоненты выбираем нужную форму, наполняем ее данными и выводим на нужном нам мониторе.
Можно выводить картинки.
Сейчас готова версия, работающая по сети.
В ней еще интереснее.
Приложение для управления мониторами реализует веб-службу для приема команд на вывод изображения.
Команды передаются по протоколу JSON.
Можно управлять с любого рабочего места любым монитором на любом компьютере, доступном по сети с терминального сервера.
Теперь можно еще и выводить видеоролики.
36. Евгений Баинов (bainov) 100 18.01.17 17:13 Сейчас в теме
(34)

Пример: Есть терминальный сервер, там 1с 8.2 и работает 3-5 пользователей.
Могут ли пользователи выводить на отдельный монитор или телевизор в торговом зале изображения номенклатуры..??


Новая версия как раз подойдет для такой цели.
1.Подключаете телевизор к мини-компьютеру с HDMI
2.Устанавливаете эмулятор дисплея версии 2.
3.Активируете лицензию. - появляется возможность использования тем оформления
Далее делаете интеграцию сами согласно документации, используя встроенные темы, или
4.Заказываете нам внедрение вашего дизайна.
5.Заказываете интеграцию решения в вашу конфигурацию.
37. Евгений Васильченко (vas2005) 4 18.01.17 17:21 Сейчас в теме
(36)
3.Активируете лицензию.
Что значит появится возможность использовать темы оформления..???
Тоесть сама лицензия на передачу изображения не влияет..???
Лицензия дает право оформить внешний вид..??
Я правильно вас понял..???
38. Евгений Баинов (bainov) 100 27.01.17 20:51 Сейчас в теме
(37)
Лицензия открывает возможность произвольно настроить внешний вид (это темы оформления).
Бесплатная версия позволяет работать как с двустрочным дисплеем покупателя. Типовые расчитаны именно на такой вид дисплеев покупателя.
Можно еще выводить изображения, заставить крутить слайдшоу.
Сейчас есть возможность использовать следующую версию, которая является приложением Windows и управляется через JSON запросы.
39. Евгений Баинов (bainov) 100 27.01.17 20:53 Сейчас в теме
(37) Новая версия позволяет выводить информацию на один монитор с разных компьютеров.
Можно заставить крутиться видео например.
40. Максим Лукин (pafftis) 6 29.01.17 19:58 Сейчас в теме
на 8.3 в рознице 2.2.2 будет работать??
41. Евгений Баинов (rbsoft) 5 30.01.17 08:44 Сейчас в теме
Надо интегрировать. Готового решения под розницу нет.
Можем выполнить внедрение по вашему ТЗ.
42. Евгений Баинов (rbsoft) 5 30.01.17 08:45 Сейчас в теме
(40) Надо интегрировать. Готового решения под розницу нет.
Можем выполнить внедрение по вашему ТЗ.
43. Максим Лукин (pafftis) 6 30.01.17 15:04 Сейчас в теме
44. Евгений Баинов (bainov) 100 30.01.17 16:25 Сейчас в теме
(43)
В розницу 2 интегрировать бесплатную версию - 4000р
Если хотите собственный дизайн - даете нам дизайн-макеты в формате Photoshop, покупаете коммерческую версию.
Мы разрабатываем тему оформления по вашему дизайну - 4000р за одну форму.
Интеграция зависит от требований - от 5000р.
Что можно сделать:
Разработать экран "Приветствие", "Текущий чек" с указанием всех позиций чека, "Закрытие чека"
На всех экранах можно выводить фото, слайд-шоу или видеоролики.
Можно задать в настройках каталог с картинками, сложить туда картинки с текущими акциями, рекламой. И будет крутить при работе без специальных действий со стороны 1С.
Можно подключить телевизор к компу - выводить на него какую то информацию по товару - фото, видео, характеристики.
В новой версии:
Возможна многопользовательская работа.
Можно с нескольких рабочих станций выводить на один монитор инфу. Т.е. любой может заставить монитор отобразить то-что ему надо.

недавно сделали вариант для склада: монитор на складе выводит список товаров на отгрузку из УНФ.
45. Максим Лукин (pafftis) 6 30.01.17 16:50 Сейчас в теме
Заманчиво, но видимо это для более крупных предприятий для малого бизнеса дороговато, но красиво наверное.. не чего не скажешь!
46. Евгений Баинов (bainov) 100 30.01.17 17:03 Сейчас в теме
(45) Бесплатную интегрируйте. Всего 4000р. Это даже дешевле, чем дисплей покупателя двустрочный купить.
Зато будете крутить рекламу во время оформления чека. Увеличите продажи в прикассовой зоне.
47. Максим Лукин (pafftis) 6 30.01.17 17:59 Сейчас в теме
(46) да но нужно же ещё и сам дисплей купить! А это уже дороже чем дисплей покупателя..
По пооводу привлечения покупателей согласен!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа