xmlTSDGalery/CommonModules/ОборудованиеДисплеиПокупателяКлиент/Ext/Module.bsl
kykaevv 88098aa86f Initial commit: конфигурация ТСД с обменом УНФ.
Включает перемещение по ячейкам, стикеровку МП, синхронизацию справочников и обработку кодов маркировки.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 12:50:57 +03:00

456 lines
39 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Область ПрограммныйИнтерфейс
// Заполняет структуру дополнительных параметров операции на Оборудовании.
//
// Параметры:
// СтрокиТекста - Строка - строки текста для отображения.
// Значение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);
КодСтатуса = СтатусыОперации.Получить(СтатусОперации);
КонецЕсли;
Возврат КодСтатуса;
КонецФункции
#КонецОбласти