456 lines
39 KiB
Plaintext
456 lines
39 KiB
Plaintext
|
||
#Область ПрограммныйИнтерфейс
|
||
|
||
// Заполняет структуру дополнительных параметров операции на Оборудовании.
|
||
//
|
||
// Параметры:
|
||
// СтрокиТекста - Строка - строки текста для отображения.
|
||
// ЗначениеQRКода - Строка, Неопределено - Значение QRКода
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - Параметры операции дисплей покупателя:
|
||
// * СтрокиТекста - Строка - Текстовая строка
|
||
// * ЗначениеQRКода - Строка - значение QR кода
|
||
// * КартинкаQRКода - Строка - строка с base64 представлением png картинки логотипа.
|
||
// * Сумма - Число - Сумма операции.
|
||
// * СтатусОперации - ПеречислениеСсылка.СтатусОперацииНаДисплее - Статус операции
|
||
// * СтатусРабочегоМеста - ПеречислениеСсылка.СтатусРабочегоМестаНаДисплее - Статус рабочего места
|
||
// * ЗвуковойСигнал - Булево - Звуковой сигнал.
|
||
// * ТекстHTML - Строка - строка с base64 представлением png картинки логотипа.
|
||
// * НазваниеОрганизации - Строка - Название организации
|
||
// * Операция - Строка - выполняемая операция.
|
||
// * ТипПлатежнойСистемы - ПеречислениеСсылка.ТипыПлатежнойСистемыККТ
|
||
// - Неопределено
|
||
// * НаличнаяОплата - Булево - Наличная оплата.
|
||
// * ДополнительныйТекст - Строка - Дополнительный текст.
|
||
// * Сдача - Число - Сдача по операции.
|
||
// * ГотовностьКРаботе - Булево - Готовность кассы к работе.
|
||
// * КартинкаBase64 - Строка - строка с base64 представлением png картинки логотипа.
|
||
// * КолонкиТабличнойЧасти - Массив из Структура
|
||
// * ТабличнаяЧасть - Массив из Соответствие
|
||
// * Возврат - Булево - флаг того что операция является возвратом
|
||
// * ПодвалСумма - Число - Сумма табличной части
|
||
// * ВнутренняяОперация - Булево - отображение на дисплее выполняется БПО
|
||
//
|
||
Функция ПараметрыОперацииДисплейПокупателя(СтрокиТекста = "", ЗначениеQRКода = Неопределено) Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
Результат.Вставить("СтрокиТекста", СтрокиТекста);
|
||
Результат.Вставить("ЗначениеQRКода", ЗначениеQRКода);
|
||
Результат.Вставить("КартинкаQRКода");
|
||
Результат.Вставить("Сумма", 0);
|
||
// Статус операции: 0-Не установлены, 1-Выполнено успешно, 2-Операция не выполнена
|
||
Результат.Вставить("СтатусОперации");
|
||
Результат.Вставить("СтатусРабочегоМеста");
|
||
Результат.Вставить("ЗвуковойСигнал", Ложь);
|
||
Результат.Вставить("ТекстHTML");
|
||
|
||
Результат.Вставить("НазваниеОрганизации");
|
||
Результат.Вставить("Операция");
|
||
Результат.Вставить("ТипПлатежнойСистемы");
|
||
Результат.Вставить("НаличнаяОплата", Ложь);
|
||
Результат.Вставить("ДополнительныйТекст");
|
||
Результат.Вставить("Сдача", 0);
|
||
Результат.Вставить("ГотовностьКРаботе");
|
||
Результат.Вставить("КартинкаBase64");
|
||
|
||
Результат.Вставить("КолонкиТабличнойЧасти", Новый Массив());
|
||
Результат.Вставить("ТабличнаяЧасть", Новый Массив());
|
||
Результат.Вставить("ПодвалСумма", 0);
|
||
Результат.Вставить("Возврат", Ложь);
|
||
Результат.Вставить("ПодвалСкидка", 0);
|
||
Результат.Вставить("ВнутренняяОперация", Ложь);
|
||
|
||
Результат.Вставить("Кнопки", Новый Массив());
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
Функция КнопкаДисплеяПокупателя(Идентификатор, Наименование = "") Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
Результат.Вставить("Идентификатор", Идентификатор);
|
||
Результат.Вставить("Наименование", ?(ПустаяСтрока(Наименование), Идентификатор, Наименование));
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Заполняет структуру параметров колонки табличной части дисплея покупателя.
|
||
//
|
||
// Параметры:
|
||
// Имя - Строка
|
||
// Заголовок - Строка
|
||
// Ширина - Число
|
||
// Выравнивание - ГоризонтальноеПоложение
|
||
// Возвращаемое значение:
|
||
// Структура -Параметры операции дисплей покупателя
|
||
//
|
||
Функция ПараметрыКолонкиТабличнойЧастиДисплеяПокупателя(Имя, Заголовок = "", Ширина = 0, Выравнивание = Неопределено) Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
Результат.Вставить("Имя", Имя); // Строка,Обязательно - Идентификатор колонки
|
||
Результат.Вставить("Заголовок", Заголовок); // Строка,Обязательно - Представление колонки
|
||
Результат.Вставить("Ширина", Ширина); // Число,Обязательно - Ширина колонки в процентах
|
||
Результат.Вставить("Выравнивание", Выравнивание); // ГоризонтальноеПоложение
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Подключенные дисплеи покупателя выводят QR код.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево
|
||
//
|
||
Функция ПодключенныеДисплеиПокупателяВыводятQRКод() Экспорт
|
||
|
||
Результат = Ложь;
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетQRКод Или Устройство.ДисплейОтображаетГрафику Тогда
|
||
Результат = Истина;
|
||
Прервать;
|
||
КонецЕсли;
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Подключенные дисплеи покупателя выводят HTML.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево
|
||
//
|
||
Функция ПодключенныеДисплеиПокупателяВыводятHTML() Экспорт
|
||
|
||
Результат = Ложь;
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетHTML Тогда
|
||
Результат = Истина;
|
||
Прервать;
|
||
КонецЕсли;
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Начать вывод тестовых строк на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все.
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьВыводИнформацииНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("DisplayText", Неопределено, ДополнительныеПараметры, Ложь, Ложь);
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать вывод тестовых строк на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все.
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьОтображениеИнформацииНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("DisplayInfo", "ОборудованиеДисплеиПокупателя", ДополнительныеПараметры, Истина, Ложь);
|
||
ПараметрыОперации.Вставить("КодСтатусаРабочегоМеста", СтатусРабочегоМестаНаДисплее(ПараметрыОперации.СтатусРабочегоМеста));
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать вывод QR-кода на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьВыводQRКодаНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("DisplayQRCode", "ОборудованиеДисплеиПокупателя", ДополнительныеПараметры, Ложь, Ложь);
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетHTML И ПараметрыОперации.ВнутренняяОперация Тогда
|
||
СтатусРабочегоМестаНаДисплее_РабочееМестоРаботает = 3;
|
||
ПараметрыОперации.Операция = "ФискальныйЧек";
|
||
ПараметрыОперации.Вставить("КодСтатусаРабочегоМеста", СтатусРабочегоМестаНаДисплее_РабочееМестоРаботает);
|
||
ПараметрыВыполнениеКоманды.Команда = "DisplayInfo";
|
||
ПараметрыВыполнениеКоманды.ПодготовитьДанные = Истина;
|
||
КонецЕсли;
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
Если ПараметрыОперации.ВнутренняяОперация Тогда
|
||
Устройство = МенеджерОборудованияКлиент.ПолучитьПодключенноеУстройство(ИдентификаторУстройства);
|
||
Если Устройство.ДисплейОтображаетHTML Тогда
|
||
СтатусРабочегоМестаНаДисплее_РабочееМестоРаботает = 3;
|
||
ПараметрыОперации.Операция = "ФискальныйЧек";
|
||
ПараметрыОперации.Вставить("КодСтатусаРабочегоМеста", СтатусРабочегоМестаНаДисплее_РабочееМестоРаботает);
|
||
ПараметрыВыполнениеКоманды.Команда = "DisplayInfo";
|
||
ПараметрыВыполнениеКоманды.ПодготовитьДанные = Истина;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать вывод HTML на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьВыводHTMLНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("OutputHTML", Неопределено, ДополнительныеПараметры, Ложь, Ложь);
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетHTML Тогда
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать очистку подключенных дисплеев покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет предложен выбор.
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьОчисткуДисплеяПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства = Неопределено, ПараметрыОперации = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("ClearText", Неопределено, ДополнительныеПараметры, Ложь, Ложь);
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать отображение статус операции на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьВыводСтатусаОперацииНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("DisplayStatus", Неопределено, ДополнительныеПараметры, Ложь, Ложь);
|
||
ПараметрыОперации.Вставить("КодСтатусОперации", СтатусОперацииНаДисплее(ПараметрыОперации.СтатусОперации));
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетСтатус Тогда
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Начать отображение статуса рабочего места на подключенные дисплеи покупателя.
|
||
//
|
||
// Параметры:
|
||
// ОповещениеПриЗавершении - ОписаниеОповещения - оповещение при завершении.
|
||
// ИдентификаторКлиента - ФормаКлиентскогоПриложения -идентификатор формы.
|
||
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - идентификатор устройства, если неопределенно - будет выведено на все
|
||
// ПараметрыОперации - Структура - параметры выполнения операции.
|
||
// ДополнительныеПараметры - Структура - дополнительные команды.
|
||
//
|
||
Процедура НачатьВыводСтатусаРабочегоМестаНаДисплейПокупателя(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры = Неопределено) Экспорт
|
||
|
||
ПараметрыВыполнениеКоманды = МенеджерОборудованияКлиентСервер.ПараметрыВыполнениеКоманды("DisplayStatusRM", Неопределено, ДополнительныеПараметры, Ложь, Ложь);
|
||
ПараметрыОперации.Вставить("КодСтатусаРабочегоМеста", СтатусРабочегоМестаНаДисплее(ПараметрыОперации.СтатусРабочегоМеста));
|
||
|
||
Если ИдентификаторУстройства = Неопределено Или ПустаяСтрока(ИдентификаторУстройства) Тогда
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ДисплейПокупателя = Истина;
|
||
ПодключенныеУстройства = МенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства(ПоддерживаемыеТипы);
|
||
Если ПодключенныеУстройства.Количество() > 0 Тогда
|
||
Для Каждого Устройство Из ПодключенныеУстройства Цикл
|
||
Если Устройство.ДисплейОтображаетСостоянияРМ Тогда
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, Устройство.Ссылка,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
|
||
Иначе
|
||
МенеджерОборудованияКлиент.НачатьВыполнениеКоманды(ОповещениеПриЗавершении, ИдентификаторКлиента, ИдентификаторУстройства,
|
||
ПараметрыОперации, ПараметрыВыполнениеКоманды);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныеПроцедурыИФункции
|
||
|
||
// Код статуса рабочего места на дисплее.
|
||
//
|
||
// Параметры:
|
||
// СтатусРабочегоМеста - ПеречислениеСсылка.СтатусРабочегоМестаНаДисплее - Cтатус рабочего места на дисплее
|
||
//
|
||
// Возвращаемое значение:
|
||
// Число - Код статуса.
|
||
//
|
||
Функция СтатусРабочегоМестаНаДисплее(СтатусРабочегоМеста) Экспорт
|
||
|
||
Если СтатусРабочегоМеста = Неопределено Тогда
|
||
КодСтатуса = 0
|
||
Иначе
|
||
СтатусыРабочегоМеста = Новый Соответствие();
|
||
СтатусыРабочегоМеста.Вставить(ПредопределенноеЗначение("Перечисление.СтатусРабочегоМестаНаДисплее.НеУстановлен") , 0);
|
||
СтатусыРабочегоМеста.Вставить(ПредопределенноеЗначение("Перечисление.СтатусРабочегоМестаНаДисплее.СервисныйРежим") , 1);
|
||
СтатусыРабочегоМеста.Вставить(ПредопределенноеЗначение("Перечисление.СтатусРабочегоМестаНаДисплее.РабочееМестоСвободно"), 2);
|
||
СтатусыРабочегоМеста.Вставить(ПредопределенноеЗначение("Перечисление.СтатусРабочегоМестаНаДисплее.РабочееМестоРаботает"), 3);
|
||
СтатусыРабочегоМеста.Вставить(ПредопределенноеЗначение("Перечисление.СтатусРабочегоМестаНаДисплее.ОшибкаНаРабочемМесте"), 4);
|
||
КодСтатуса = СтатусыРабочегоМеста.Получить(СтатусРабочегоМеста);
|
||
КонецЕсли;
|
||
|
||
Возврат КодСтатуса;
|
||
|
||
КонецФункции
|
||
|
||
// Код статуса операции на дисплее.
|
||
//
|
||
// Параметры:
|
||
// СтатусОперации - ПеречислениеСсылка.СтатусОперацииНаДисплее - Cтатус операции на дисплее
|
||
//
|
||
// Возвращаемое значение:
|
||
// Число - Код статуса.
|
||
//
|
||
Функция СтатусОперацииНаДисплее(СтатусОперации) Экспорт
|
||
|
||
Если СтатусОперации = Неопределено Тогда
|
||
КодСтатуса = 0
|
||
Иначе
|
||
СтатусыОперации = Новый Соответствие();
|
||
СтатусыОперации.Вставить(ПредопределенноеЗначение("Перечисление.СтатусОперацииНаДисплее.НеУстановлен") , 0);
|
||
СтатусыОперации.Вставить(ПредопределенноеЗначение("Перечисление.СтатусОперацииНаДисплее.ВыполненоУспешно") , 1);
|
||
СтатусыОперации.Вставить(ПредопределенноеЗначение("Перечисление.СтатусОперацииНаДисплее.ОперацияНеВыполнена"), 2);
|
||
СтатусыОперации.Вставить(ПредопределенноеЗначение("Перечисление.СтатусОперацииНаДисплее.ОжиданиеОперации") , 0);
|
||
СтатусыОперации.Вставить(ПредопределенноеЗначение("Перечисление.СтатусОперацииНаДисплее.Информация") , 0);
|
||
КодСтатуса = СтатусыОперации.Получить(СтатусОперации);
|
||
КонецЕсли;
|
||
|
||
Возврат КодСтатуса;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти |