0. Техподдержка 25.05.17 07:15

Медиадисплей. Дополнительный монитор вместо дисплея покупателя

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. pafftis 11 22.08.17 19:22 Сейчас в теме
так и не въехал как её в 1с прикрутить!
2. Техподдержка 22.08.17 19:25
(1) У вас какая конфигурация?
3. Intenso 07.12.17 15:39 Сейчас в теме
Расширение для УТ11 есть? В демо режиме работает чтобы понять стоит ли вобще разработка покупки и сколько там костылей если они есть?
4. Техподдержка 08.12.17 06:05
(3) Нет расширения для УТ. Его несложно сделать самому на примере расширения для розницы.

Текст модуля формы расширения для розницы (обработка РМКУправляемыйРежим):



&НаКлиенте
&Вместо("ВывестиИнформациюНаДисплейПокупателя")
Процедура rbs_ВывестиИнформациюНаДисплейПокупателя(Команда)
    
	Если Не ИспользоватьПодключаемоеОборудование Тогда
		Возврат;
	КонецЕсли;
	
	Если НЕ ЗначениеЗаполнено(НаборПравИНастроек.ШаблонРаботыДисплеяПокупателя) Тогда
		ВыводитьИтоги = Ложь;
		ТекстПриПростое = НСтр("ru = 'ДОБРО ПОЖАЛОВАТЬ!'");
		ТекстВНерабочемСостоянии = НСтр("ru = 'КАССА НЕ РАБОТАЕТ'");
	Иначе
		ВыводитьИтоги = НаборПравИНастроек.ВыводитьПромИтогНаДисплей;
		ТекстПриПростое = НаборПравИНастроек.ТекстПриПростое;
		ТекстВНерабочемСостоянии = НаборПравИНастроек.ТекстВНерабочемСостоянии;
	КонецЕсли;
	
	Строка1 = "";
	Строка2 = "";
	ВыровнятьВПраво = Ложь;
	
	Если Команда = "НачалоРаботы" Тогда
		Строка1 = ТекстПриПростое;
		
	ИначеЕсли Команда = "Оплата" Тогда
		Строка1 = НСтр("ru = 'ВНЕСЕНО:'") + " " + ДисплейПокупателяПараметры.Оплата;
		Строка2 = НСтр("ru = '  СДАЧА:'") + " " + ДисплейПокупателяПараметры.Сдача;
	ИначеЕсли Команда = "ОжиданиеОплаты" Тогда
		
		ДисплейПокупателяПараметры.СуммаВсего  = Формат(СуммаВсего, "ЧДЦ=2;ЧГ=;ЧН=0.00");
		ДисплейПокупателяПараметры.СуммаСкидки = Формат(СуммаСкидки, "ЧДЦ=2;ЧГ=");
		
		Если ПустаяСтрока(ДисплейПокупателяПараметры.СуммаСкидки) Тогда
			Строка1 = НСтр("ru = '  ИТОГО:'") + " " + ДисплейПокупателяПараметры.СуммаВсего;
		Иначе
			Строка1 = НСтр("ru = '  ИТОГО:'") + " " + ДисплейПокупателяПараметры.СуммаВсего;
			Строка2 = НСтр("ru = ' СКИДКА:'") + " " + ДисплейПокупателяПараметры.СуммаСкидки;
		КонецЕсли;
		
	ИначеЕсли Команда = "ОтменаОплаты" Тогда
		Строка1 = НСтр("ru = 'ОТМЕНА ОПЛАТЫ'");
		
	ИначеЕсли Команда = "ДобавлениеТовара" 
		ИЛИ Команда = "УдалениеТовара" 
		ИЛИ Команда = "ИзмененияКоличества" 
		ИЛИ Команда = "ИзмененияЦены" Тогда
		
		ИнформацияНаименование = ДисплейПокупателяПараметры.ТоварНаименование;
		
		Если ВыводитьИтоги Тогда
			
			Если Команда = "УдалениеТовара" Тогда
				Строка1 = НСтр("ru = 'СТОРНО:'") + " ";
			Иначе
				Строка1 = НСтр("ru = '  ЦЕНА:'") + " ";
			КонецЕсли;
			
			Если НЕ ДисплейПокупателяПараметры.ТоварКоличество = 1 ИЛИ  Команда = "ИзмененияКоличества" ИЛИ Команда = "УдалениеТовара" Тогда
				Строка1 =  Строка1 + Строка(ДисплейПокупателяПараметры.ТоварКоличество) + "x";
			КонецЕсли;
			
			Строка1 = Строка1 + Строка(ДисплейПокупателяПараметры.ТоварЦена);
			Строка2 = НСтр("ru = ' ИТОГО:'") + " " + ДисплейПокупателяПараметры.СуммаВсего;
			
		Иначе
			
			ВыровнятьВПраво = Истина;
			Строка1 = Строка(ДисплейПокупателяПараметры.ТоварНаименование);
			Строка2 = Строка(ДисплейПокупателяПараметры.ТоварЦена);
			Если Не ПустаяСтрока(Строка1) Тогда
				Если НЕ ДисплейПокупателяПараметры.ТоварКоличество = 1 ИЛИ Команда = "ИзмененияКоличества" ИЛИ Команда = "УдалениеТовара" Тогда
					Строка2 = Строка(ДисплейПокупателяПараметры.ТоварКоличество) + "x" + Строка2 +  "=" +  Строка(ДисплейПокупателяПараметры.ТоварСумма);
				КонецЕсли;
				Если Команда = "УдалениеТовара" Тогда
					Строка2 = "-" + Строка2;
				КонецЕсли;
			КонецЕсли;
			
		КонецЕсли;
	ИначеЕсли Команда = "Аннулирование" Тогда
		Строка1 = НСтр("ru = 'ЧЕК АННУЛИРОВАН'");
		
	ИначеЕсли Команда = "ОтложитьЧек" Тогда
		Строка1 = НСтр("ru = 'ЧЕК ОТЛОЖЕН'");
	
	ИначеЕсли Команда = "ВозвратТовара" Тогда
		Строка1 = НСтр("ru = 'ВОЗВРАТ ТОВАРА'");
		 
	 ИначеЕсли Команда = "Сервис" Тогда
		Строка1 = ТекстВНерабочемСостоянии;
	
	КонецЕсли;
	
	Описание = Новый ОписаниеОповещения("ВывестиИнформациюНаДисплейПокупателяЗавершение", ЭтотОбъект);
    //типовой вызов
	МенеджерОборудованияКлиент.НачатьВыводИнформацииНаДисплейПокупателя(Описание,,, Строка1 + Символы.ПС + Строка2);
	
	
	/////РБ-Софт

//Шаблон для заголовка JSON-запроса
		 ЗаголовокЗапроса = "{""ordertable"":{
		 |""addmode"":""0"",
		 |""rows"":
		 |[";
//Шаблон для строки вывода товара в JSON-запросе
		 СтрокаЗапроса="{""name"":""<Наименование>"",
		 |""count"":""<Количество>"",
		 |""summ"":""<Сумма>""
		 |}";
//Шаблон для подвала JSON-запроса
		 ПодвалЗапроса="],
		 |""rowheight"": ""<КоличествоВидимыхСтрок>""
		 |},
		 |""currentrow"": ""<НомерВыделеннойСтроки>"",
		 |""infocount"":""<КоличествоПозиций>"",
		 |""infoToPay"": ""<СуммаКОплате>"",
		 |""infoCashIn"": ""<СуммаПринято>"",
		 |""infoRest"": ""<СуммаСдачи>"",
		 |""infoPaymentType"": ""<ТипОплаты>""
		 |}
		 |";
		 
		 
		 
		 ТипОплаты="Наличные";
		  			 
		 
		 
		 НомерВыделеннойСтроки = ЭтаФорма.Элементы.Товары.ТекущаяСтрока;
		 
		 КоличествоВидимыхСтрок=30;

//Заполняем данными подвал запроса
		 
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<КоличествоВидимыхСтрок>",Формат(КоличествоВидимыхСтрок,"ЧГ="));
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<НомерВыделеннойСтроки>",Формат(НомерВыделеннойСтроки,"ЧГ="));
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<КоличествоПозиций>",Формат(Объект.Товары.Количество(),"ЧГ="));
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<СуммаКОплате>",ДисплейПокупателяПараметры.СуммаВсего);
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<СуммаПринято>",ДисплейПокупателяПараметры.Оплата);
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<СуммаСдачи>",ДисплейПокупателяПараметры.Сдача);
		 
		 ПодвалЗапроса=СтрЗаменить(ПодвалЗапроса,"<ТипОплаты>",ТипОплаты);
		 
		 
	
	
    ОповещениеПриЗавершении=Описание;
    ИдентификаторУстройства=Неопределено;
    СтрокиТекста=Строка1 + Символы.ПС + Строка2;
    
    ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(глПодключаемоеОборудование.ПараметрыПодключенияПО, 
		ПредопределенноеЗначение("Перечисление.ТипыПодключаемогоОборудования.ДисплейПокупателя"), ИдентификаторУстройства);
        
    
    
	Если ПодключенныеУстройства.Количество() > 0 Тогда
        Для Каждого Устройство Из ПодключенныеУстройства Цикл
            Если Устройство.ИдентификаторОбъекта="AddIn.RBSoftMediaDisplay" Тогда
                //Нашли дисплей РБ-Софт
				
				Если Команда = "НачалоРаботы" Тогда
					
                                         //Установка темы "Магазин 2"
					ТекстЗапроса="{""theme"": ""3""}";
					Результат="";
					Если НЕ Устройство.ОбъектДрайвера.ВыполнитьЗапрос("SetTheme",ТекстЗапроса,Результат) Тогда
						ОписаниеОшибки="";
						КодОшибки = Устройство.ОбъектДрайвера.ПолучитьОшибку(ОписаниеОшибки);
						Сообщить("Код ошибки "+КодОшибки +" : "+ОписаниеОшибки);
					КонецЕсли;    
				
				ИначеЕсли Команда = "ДобавлениеТовара" 
					ИЛИ Команда = "УдалениеТовара" 
					ИЛИ Команда = "ИзмененияКоличества" 
					ИЛИ Команда = "ИзмененияЦены" 
					ИЛИ Команда = "Оплата" 
					ИЛИ Команда = "ОжиданиеОплаты" 
					
					Тогда
					//Заполняем текст запроса для отображения товаров

					
					СтрТоварыЗапроса="";
					Для Каждого Стр Из Объект.Товары Цикл
						
						
						
						СтрТовар=СтрЗаменить(Стр.ПредставлениеТабло,"""","'");
						СтрТовар=СтрЗаменить(СтрТовар,Символ(13)," ");
						СтрТовар=СтрЗаменить(СтрТовар,Символ(10)," ");
						СтрТовар=СтрЗаменить(СтрТовар,Символы.Таб," ");
						
						Если Цел(Стр.КоличествоУпаковок)=Стр.КоличествоУпаковок Тогда
							СтрКоличество = Формат(Стр.КоличествоУпаковок,"ЧЦ=15; ЧДЦ=0;ЧРГ=");
						Иначе    
							СтрКоличество = Формат(Стр.КоличествоУпаковок,"ЧЦ=15; ЧДЦ=3; ЧРД=.; ЧРГ=");
						КонецЕсли;    
						СтрКоличество=СокрЛП(СтрКоличество);
						
						СтрСумма = Формат(Стр.Сумма,"ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧРГ=");
						
						ТекСтрокаЗапроса=СтрЗаменить(СтрокаЗапроса,"<Наименование>",СтрТовар);
						ТекСтрокаЗапроса=СтрЗаменить(ТекСтрокаЗапроса,"<Количество>",СтрКоличество);
						ТекСтрокаЗапроса=СтрЗаменить(ТекСтрокаЗапроса,"<Сумма>",СтрСумма);
						
						СтрТоварыЗапроса=СтрТоварыЗапроса+?(СтрТоварыЗапроса="","",",")+"
						|"+ТекСтрокаЗапроса;
					КонецЦикла;    
					
					
					//Собираем полный текст JSON-запроса
					ТекстЗапроса =ЗаголовокЗапроса+СтрТоварыЗапроса+ПодвалЗапроса;
					Результат="";
                                        //Отправляем JSON-запрос через метод компоненты
                                        //Можно отправлять и встроенным механизмом работы с JSON
					Если НЕ Устройство.ОбъектДрайвера.ВыполнитьЗапрос("SetParameters",ТекстЗапроса,Результат) Тогда
						ОписаниеОшибки="";
						КодОшибки = Устройство.ОбъектДрайвера.ПолучитьОшибку(ОписаниеОшибки);
						Сообщить("Код ошибки "+КодОшибки +" : "+ОписаниеОшибки);
					КонецЕсли;    
				КонецЕсли;    
                
            КонецЕсли;
    	КонецЦикла
	КонецЕсли;

	ПродолжитьВызов(Команда);
КонецПроцедуры

Показать
5. Intenso 08.12.17 14:27 Сейчас в теме
(4) То что можно самому написать это понятно, решение не бесплатное почему и спрашиваю. Т.к. отсутвие расширения понесет доп расходы на его разработку. Что на счет демо версии? она имеестя? можно как то попробовать как оно работает какую информацию и куда можно выводить и тд?
6. aGolosey 22.02.18 06:07 Сейчас в теме
Здравствуйте! Я скачал два файла, те, что бесплатные. Установил их. Программа запустилась, а вот драйвера не смог поставить в УТ 11. Выдает ошибку в настройке драйверов "Не установлен на текущем компьютере. Не определен тип: AddIn.RBSoftMediaDisplay". Как поправить ее?
8. Техподдержка 28.03.18 11:59
(6) 1С:Совместимый драйвер - это zip-архив.
Его можно подключить к 1С УТ11. Установить надо под правами администратора (запуск 1С под правами администратора).

Или просто разархивировать и запустить setup.exe под правами администратора.
Это как раз подходит, если хотим использовать для УТ 10, или ТиС 7.7.
9. user937909 30.04.18 10:50 Сейчас в теме
Добрый день. Можно ли на второй дисплей выводить прайс лист? Настраивается ли ширина области экрана для рекламы и ширина экрана для товаров из чека? Для использования полного функционала нужно ли вносить изменения в конфигурацию Розница 2.2? Работает ли с базовой версией Розницы 2.2?
10. Техподдержка 30.04.18 12:47
Здравствуйте. Прайс в виде таблицы можно выводить.
Ширина таблицы чека настраивается. Для использования полного функционала необходимо вносить изменения в конфигурацию. С базовой работает только двухстрочный режим дисплея покупателя.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 60 000 руб. до 110 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день