Включает перемещение по ячейкам, стикеровку МП, синхронизацию справочников и обработку кодов маркировки. Co-authored-by: Cursor <cursoragent@cursor.com>
174 lines
12 KiB
Plaintext
174 lines
12 KiB
Plaintext
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||
|
||
#Область СлужебныйПрограммныйИнтерфейс
|
||
|
||
Функция СодержимоеОбщегоМакета(Знач ИмяМакета) Экспорт
|
||
|
||
СодержимоеМакета = ПолучитьОбщийМакет(ИмяМакета).ПолучитьТекст();
|
||
Возврат СодержимоеМакета;
|
||
|
||
КонецФункции
|
||
|
||
Функция СовместимостьВнешнейКомпонентыИзФайла(Знач ИмяМакета) Экспорт
|
||
|
||
ВремИмяМакета = СтрРазделить(ИмяМакета,".", Ложь);
|
||
ВремИмяМакета = ВремИмяМакета[ВремИмяМакета.ВГраница()];
|
||
ДвоичныеДанные = ПолучитьОбщийМакет(ВремИмяМакета);
|
||
|
||
Результат = ВнешниеКомпонентыБПО.ИнформацияОКомпонентеИзФайла(ДвоичныеДанные, Ложь);
|
||
Если Результат.Разобрано Тогда
|
||
Возврат Результат.Реквизиты;
|
||
Иначе
|
||
Возврат Неопределено;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
Функция ПоставляемыеДрайверы() Экспорт
|
||
|
||
МодулиОбновления = Новый Массив();
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяУстройстваВвода() Тогда
|
||
МодулиОбновления.Добавить(ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеУстройстваВвода"));
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяЧекопечатающиеУстройства() Тогда
|
||
МодулиОбновления.Добавить(ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеЧекопечатающиеУстройства"));
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяПлатежныеСистемы() Тогда
|
||
МодулиОбновления.Добавить(ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеПлатежныеСистемы"));
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяДисплеиПокупателя() Тогда
|
||
МодулиОбновления.Добавить(ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеДисплеиПокупателя"));
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяВесовоеОборудование() Тогда
|
||
МодулиОбновления.Добавить(ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеВесовоеОборудование"));
|
||
КонецЕсли;
|
||
ДрайверыОборудования = МенеджерОборудования.НоваяТаблицаПоставляемыхДрайверовОборудования();
|
||
Для Каждого МодульОбновления Из МодулиОбновления Цикл
|
||
МодульОбновления.ОбновитьПоставляемыеДрайвера(ДрайверыОборудования);
|
||
КонецЦикла;
|
||
|
||
Возврат ДрайверыОборудования;
|
||
|
||
КонецФункции
|
||
|
||
Функция ИдентификаторыДрайверов() Экспорт
|
||
|
||
ДрайверыОборудования = ПоставляемыеДрайверы();
|
||
|
||
ДрайверыОборудования.Свернуть("ИдентификаторОбъекта, СнятСПоддержки");
|
||
Результат = Новый Массив();
|
||
Для каждого Элемент Из ДрайверыОборудования Цикл
|
||
Если Не Элемент.СнятСПоддержки Тогда
|
||
Результат.Добавить(Элемент.ИдентификаторОбъекта);
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
Функция ПараметрыТипыОборудования() Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
ДоступныеТипы = ДоступныеТипыОборудования(Истина);
|
||
Для каждого Значение Из ДоступныеТипы Цикл
|
||
|
||
ИмяЗначения = ОбщегоНазначенияБПО.ИмяЗначенияПеречисления(Значение);
|
||
Результат.Вставить(ИмяЗначения, Ложь);
|
||
|
||
КонецЦикла;
|
||
|
||
// Дополнение типов оборудования
|
||
Результат.Вставить("ФискальныйРегистратор", Ложь);
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Получить соответствие типов оборудования
|
||
//
|
||
// Возвращаемое значение:
|
||
// Соответствие -
|
||
//
|
||
Функция СоответствиеТиповОборудования() Экспорт
|
||
|
||
Соответствие = Новый Соответствие();
|
||
|
||
ДоступныеТипы = ДоступныеТипыОборудования(Истина);
|
||
Для каждого Значение Из ДоступныеТипы Цикл
|
||
|
||
ИмяЗначения = ОбщегоНазначенияБПО.ИмяЗначенияПеречисления(Значение);
|
||
Соответствие.Вставить(ИмяЗначения, Значение);
|
||
|
||
КонецЦикла;
|
||
|
||
// Russian alphabet. Не локализовывать
|
||
Соответствие.Вставить("УстройствоВвода" , Перечисления.ТипыПодключаемогоОборудования.СканерШтрихкода); //@NON-NLS-1 @NON-NLS-2
|
||
|
||
// English alphabet.
|
||
Соответствие.Вставить("BarcodeScanner" , Перечисления.ТипыПодключаемогоОборудования.СканерШтрихкода); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("CardReader" , Перечисления.ТипыПодключаемогоОборудования.СчитывательМагнитныхКарт); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("KKT" , Перечисления.ТипыПодключаемогоОборудования.ККТ); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("FiscalRegistrar" , Перечисления.ТипыПодключаемогоОборудования.ФискальныйРегистратор); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("ReceiptPrinter" , Перечисления.ТипыПодключаемогоОборудования.ПринтерЧеков); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("CustomerDisplay" , Перечисления.ТипыПодключаемогоОборудования.ДисплейПокупателя); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("DataCollectionTerminal", Перечисления.ТипыПодключаемогоОборудования.ТерминалСбораДанных); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("POSTerminal" , Перечисления.ТипыПодключаемогоОборудования.ЭквайринговыйТерминал); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("WeighingScales" , Перечисления.ТипыПодключаемогоОборудования.ЭлектронныеВесы); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("LabelPrintingScale" , Перечисления.ТипыПодключаемогоОборудования.ВесыСПечатьюЭтикеток); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("LabelPrinter" , Перечисления.ТипыПодключаемогоОборудования.ПринтерЭтикеток); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("RFIDReader" , Перечисления.ТипыПодключаемогоОборудования.СчитывательRFID); //@NON-NLS-1 @NON-NLS-2
|
||
Соответствие.Вставить("Recognizer" , Перечисления.ТипыПодключаемогоОборудования.УстройствоРаспознавания); //@NON-NLS-1 @NON-NLS-2
|
||
|
||
Возврат Соответствие;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает список доступных типов оборудования.
|
||
//
|
||
// Параметры:
|
||
// ВключаяНеиспользуемые - Булево - по умолчанию Ложь, добавить неиспользуемые типы, для совместимости
|
||
//
|
||
// Возвращаемое значение:
|
||
// Массив из ПеречислениеСсылка.ТипыПодключаемогоОборудования - Массив доступных типов подключаемого оборудования в конфигурации.
|
||
//
|
||
Функция ДоступныеТипыОборудования(ВключаяНеиспользуемые = Ложь) Экспорт
|
||
|
||
СписокТиповОборудования = Новый Массив;
|
||
СтандартнаяОбработка = Истина;
|
||
|
||
МенеджерОборудованияВызовСервераПереопределяемый.ДоступныеТипыОборудования(СписокТиповОборудования, СтандартнаяОбработка);
|
||
|
||
Если СтандартнаяОбработка Тогда
|
||
СписокТиповОборудования.Очистить();
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяУстройстваВвода() Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.СканерШтрихкода);
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяЧекопечатающиеУстройства() Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ККТ);
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ПринтерЧеков);
|
||
Если ВключаяНеиспользуемые Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ФискальныйРегистратор);
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяДисплеиПокупателя() Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ДисплейПокупателя);
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяПлатежныеСистемы() Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ЭквайринговыйТерминал);
|
||
КонецЕсли;
|
||
Если ОбщегоНазначенияБПО.ИспользуетсяВесовоеОборудование() Тогда
|
||
СписокТиповОборудования.Добавить(Перечисления.ТипыПодключаемогоОборудования.ЭлектронныеВесы);
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
Возврат СписокТиповОборудования;
|
||
|
||
КонецФункции
|
||
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецЕсли
|
||
|