XMLTsdMagazinVasilek/CommonModules/МенеджерОборудованияВызовСервера/Ext/Module.bsl

1051 lines
59 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.

#Область ПрограммныйИнтерфейс
#Область Системные
// Доступны возвраты без карты.
//
// Возвращаемое значение:
// ВозвратыБезКарты - Структура - Доступны возвраты без карты
// * ВозвратПоПлатежнойКарте - Булево
// * ВозвратЭлектроннымСертификатом - Булево
//
Функция ДоступноВозвратыБезКарты() Экспорт
ВозвратыБезКарты = Новый Структура();
ВозвратыБезКарты.Вставить("ВозвратПоПлатежнойКарте" , Истина);
ВозвратыБезКарты.Вставить("ВозвратЭлектроннымСертификатом", Истина);
МенеджерОборудованияВызовСервераПереопределяемый.ДоступноВозвратыБезКарты(ВозвратыБезКарты);
Возврат ВозвратыБезКарты;
КонецФункции
// Изолированное подключения внешних компонент на клиенте
// Возвращаемое значение:
// Булево - Изолированно
//
Функция ИзолированноеПодключенияВнешнихКомпонентНаКлиенте() Экспорт
Возврат ВнешниеКомпонентыБПО.ИзолированноеПодключенияВнешнихКомпонентНаКлиенте();
КонецФункции
// Получить соответствие типов оборудования
//
// Возвращаемое значение:
// Соответствие -
//
Функция ПолучитьСоответствиеТиповОборудования() Экспорт
Возврат МенеджерОборудования.ПолучитьСоответствиеТиповОборудования();
КонецФункции
#КонецОбласти
#Область РабочееМесто
// Функция возвращает из переменной сеанса имя компьютера клиента.
//
// Возвращаемое значение:
// СправочникСсылка.РабочиеМеста.
//
Функция РабочееМестоКлиента() Экспорт
УстановитьПривилегированныйРежим(Истина);
Возврат ПараметрыСеанса.РабочееМестоКлиента;
КонецФункции
Функция ДоступныеКомпьютерыДляРабочегоМеста() Экспорт
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РабочиеМеста.ИмяКомпьютера
|ИЗ
| Справочник.РабочиеМеста КАК РабочиеМеста
|ГДЕ
| НЕ РабочиеМеста.ИмяКомпьютера = """"
| И НЕ РабочиеМеста.ПометкаУдаления");
ДоступныеКомпьютеры = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ИмяКомпьютера");
Возврат ДоступныеКомпьютеры;
КонецФункции
// Функция возвращает список рабочих мест, соответствующих указанному имени компьютера.
//
// Параметры:
// ИдентификаторКлиента - Строка - идентификатор клиента для рабочего места
// ИмяКомпьютера - Строка - Имя компьютера
// WEBКлиент - Булево - Признак WEB клиенте
//
// Возвращаемое значение:
// Массив из СправочникСсылка.РабочиеМеста.
//
Функция НайтиРабочиеМестаПоИдентификатору(ИдентификаторКлиента, ИмяКомпьютера, WEBКлиент) Экспорт
Если Не ОбщегоНазначенияБПО.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат Новый Массив();
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если WEBКлиент Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| РабочиеМеста.Ссылка
|ИЗ
| Справочник.РабочиеМеста КАК РабочиеМеста
|ГДЕ
| РабочиеМеста.ИдентификаторыКлиентов.ИдентификаторКлиента = &Код
| И НЕ РабочиеМеста.ПометкаУдаления");
Запрос.УстановитьПараметр("Код", ИдентификаторКлиента);
СписокРабочиеМеста = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
Иначе
// Ищем по имени ПК ("ТекущееИмяПК = ИмяКомпьютера" и "ЛокальноеУстройство = Истина")
// Новый способ идентификации рабочего места по имени ПК
Запрос = Новый Запрос("
|ВЫБРАТЬ
| РабочиеМеста.Ссылка
|ИЗ
| Справочник.РабочиеМеста КАК РабочиеМеста
|ГДЕ
| РабочиеМеста.ИмяКомпьютера = &ИмяКомпьютера
| И РабочиеМеста.ЛокальноеУстройство
| И НЕ РабочиеМеста.ПометкаУдаления");
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
СписокРабочиеМеста = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
// По имени ПК рабочее место не нашли, смотрим было ли такое по ИдентификаторКлиента
Если СписокРабочиеМеста.Количество() = 0 Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| РабочиеМеста.Ссылка
|ИЗ
| Справочник.РабочиеМеста КАК РабочиеМеста
|ГДЕ
| РабочиеМеста.Код = &Код
| И НЕ РабочиеМеста.ПометкаУдаления");
Запрос.УстановитьПараметр("Код", ИдентификаторКлиента);
СписокРабочиеМеста = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
// Если рабочее место на этом ПК было ранее создано, помечаем его как "ЛокальноеУстройство = Истина"
Если СписокРабочиеМеста.Количество() > 0 Тогда
ТекущееРабочееМесто = СписокРабочиеМеста[0].ПолучитьОбъект();
ТекущееРабочееМесто.ЛокальноеУстройство = Истина;
ТекущееРабочееМесто.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат СписокРабочиеМеста;
КонецФункции
Функция ПривязатьРабочееМесто(ИдентификаторКлиента, ИмяКомпьютера) Экспорт
Если Не ОбщегоНазначенияБПО.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат Новый Массив();
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос("
|ВЫБРАТЬ
| РабочиеМеста.Ссылка
|ИЗ
| Справочник.РабочиеМеста КАК РабочиеМеста
|ГДЕ
| РабочиеМеста.ИмяКомпьютера = &ИмяКомпьютера
| И НЕ РабочиеМеста.ПометкаУдаления");
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
СписокРабочиеМеста = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
Если СписокРабочиеМеста.Количество() > 0 Тогда
ТекущееРабочееМесто = СписокРабочиеМеста[0].ПолучитьОбъект();
ИдентификаторыКлиентов = ТекущееРабочееМесто.ИдентификаторыКлиентов.Добавить();
ИдентификаторыКлиентов.ИдентификаторКлиента = ИдентификаторКлиента;
ТекущееРабочееМесто.ЛокальноеУстройство = Истина;
ТекущееРабочееМесто.Записать();
КонецЕсли;
Возврат СписокРабочиеМеста;
КонецФункции
// Функция устанавливает в переменную сеанса имя компьютера клиента.
//
// Параметры:
// РабочееМестоКлиента - СправочникСсылка.РабочиеМеста
//
Процедура УстановитьРабочееМестоКлиента(РабочееМестоКлиента) Экспорт
УстановитьПривилегированныйРежим(Истина);
ПараметрыСеанса.РабочееМестоКлиента = РабочееМестоКлиента;
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
// Функция возвращает созданное рабочее место клиента.
//
// Параметры:
// Параметры - Структура:
// * ИдентификаторКлиента - УникальныйИдентификатор.
// * ИмяКомпьютера - Строка.
//
// Возвращаемое значение:
// СправочникСсылка.РабочиеМеста.
//
Функция СоздатьРабочееМестоКлиента(Параметры) Экспорт
УстановитьПривилегированныйРежим(Истина);
РабочееМесто = Справочники.РабочиеМеста.СоздатьЭлемент();
РабочееМесто.Код = Параметры.ИдентификаторКлиента;
РабочееМесто.ИмяКомпьютера = Параметры.ИмяКомпьютера;
МенеджерОборудованияКлиентСервер.ЗаполнитьНаименованиеРабочегоМеста(РабочееМесто, ПользователиИнформационнойБазы.ТекущийПользователь());
РабочееМесто.Записать();
УстановитьПривилегированныйРежим(Ложь);
Возврат РабочееМесто.Ссылка;
КонецФункции
// Процедура устанавливает значения параметров сеанса, относящихся к подключаемому оборудованию.
//
// Параметры:
// ИмяПараметра - Строка - имя параметра сеанса.
// УстановленныеПараметры - Массив
//
Процедура УстановитьПараметрыСеансаПодключаемогоОборудования(ИмяПараметра, УстановленныеПараметры) Экспорт
Если ИмяПараметра = "РабочееМестоКлиента" Тогда
ИмяКомпьютера = ?(ПараметрыСеанса.ПараметрыКлиентаНаСервереБПО.Свойство("ИмяКомпьютера"), ПараметрыСеанса.ПараметрыКлиентаНаСервереБПО.ИмяКомпьютера, "");
ИдентификаторКлиента = ?(ПараметрыСеанса.ПараметрыКлиентаНаСервереБПО.Свойство("ИдентификаторКлиента"), ПараметрыСеанса.ПараметрыКлиентаНаСервереБПО.ИдентификаторКлиента, "");
ТекущееРМ = Справочники.РабочиеМеста.ПустаяСсылка();
Если Не ПустаяСтрока(ИмяКомпьютера) Тогда
СписокРМ = НайтиРабочиеМестаПоИдентификатору(ИдентификаторКлиента, ИмяКомпьютера, Ложь);
Если СписокРМ.Количество() = 0 Тогда
// Будет создано с клиента.
Иначе
ТекущееРМ = СписокРМ[0];
КонецЕсли;
КонецЕсли;
УстановитьРабочееМестоКлиента(ТекущееРМ);
КонецЕсли;
КонецПроцедуры
// Функция возвращает типы используемого оборудования для текущего рабочего места.
//
// Возвращаемое значение:
// Массив.
//
Функция ТипыИспользуемогоОборудованияТекущегоРабочегоМеста() Экспорт
УстановитьПривилегированныйРежим(Истина);
РабочееМесто = МенеджерОборудованияВызовСервера.РабочееМестоКлиента();
Если ЗначениеЗаполнено(РабочееМесто) Тогда
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПодключаемоеОборудование.ТипОборудования КАК ТипОборудования
|ИЗ
| Справочник.ПодключаемоеОборудование КАК ПодключаемоеОборудование
|ГДЕ
| ПодключаемоеОборудование.УстройствоИспользуется
| И ПодключаемоеОборудование.РабочееМесто = &РабочееМесто");
Запрос.УстановитьПараметр("РабочееМесто", РабочееМесто);
Результат = Запрос.Выполнить();
Возврат Результат.Выгрузить().ВыгрузитьКолонку("ТипОборудования");
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
#КонецОбласти
#Область РаботаСОборудованием
// Возвращает список подключенного в справочнике ПО по установленному отбору
//
// Параметры:
// Отбор - см. МенеджерОборудованияКлиентСервер.СписокОборудованияОтбор.
//
// Возвращаемое значение:
// Массив из Структура.
//
Функция СписокОборудования(Отбор) Экспорт
Возврат МенеджерОборудования.СписокОборудования(Отбор);
КонецФункции
// Функция возвращает структуру с данными устройства.
//
// Параметры:
// Идентификатор - СправочникСсылка.ПодключаемоеОборудование.
// КодЯзыка - Строка
//
// Возвращаемое значение:
// Структура - см. Справочники.ПодключаемоеОборудование.ДанныеУстройства
//
Функция ДанныеУстройства(Идентификатор, КодЯзыка = Неопределено) Экспорт
Возврат МенеджерОборудования.ДанныеУстройства(Идентификатор, КодЯзыка);
КонецФункции
// Функция возвращает по идентификатору устройства его параметры
//
// Параметры:
// Идентификатор - СправочникСсылка.ПодключаемоеОборудование.
//
// Возвращаемое значение:
// Структура.
//
Функция ПараметрыУстройства(Идентификатор) Экспорт
Возврат МенеджерОборудования.ПараметрыУстройства(Идентификатор);
КонецФункции
// Процедура предназначена для сохранения параметров устройства
// в реквизит Параметры типа хранилище значения в элементе справочника.
//
// Параметры:
// Идентификатор - СправочникСсылка.ПодключаемоеОборудование.
// Параметры - Структура - параметры устройства.
//
// Возвращаемое значение:
// Булево.
//
Функция СохранитьПараметрыУстройства(Идентификатор, Параметры) Экспорт
Возврат МенеджерОборудования.СохранитьПараметрыУстройства(Идентификатор, Параметры);
КонецФункции
// Функция возвращает структуру с данными драйвера.
//
// Параметры:
// Идентификатор - СправочникСсылка.ПодключаемоеОборудование.
//
// Возвращаемое значение:
// Структура.
//
Функция ДанныеДрайвераОборудования(Идентификатор) Экспорт
Возврат МенеджерОборудования.ДанныеДрайвераОборудования(Идентификатор);
КонецФункции
#КонецОбласти
#Область УстаревшиеПроцедурыИФункции
// Устарела: следует использовать СписокОборудования.
// Функция возвращает список подключенного в справочнике ПО
//
// Параметры:
// ТипыПО - Структура, Массив, Строка - тип оборудования для выбора устройства.
// Идентификатор - СправочникСсылка.ПодключаемоеОборудование - подключаемое устройство.
// РабочееМесто - СправочникСсылка.РабочиеМеста.
// СетевоеОборудование - Булево - использовать сетевое оборудование при подключении.
// СерверноеОборудование - Булево.
// ТолькоАвтоматическаяФискализация - Булево.
//
// Возвращаемое значение:
// Массив из Структура.
//
Функция ОборудованиеПоПараметрам(ТипыПО = Неопределено, Идентификатор = Неопределено, РабочееМесто = Неопределено,
СетевоеОборудование = Истина, СерверноеОборудование = Ложь, ТолькоАвтоматическаяФискализация = Ложь) Экспорт
СписокОтбор = МенеджерОборудованияКлиентСервер.СписокОборудованияОтбор();
СписокОтбор.ТипыПО = ТипыПО;
СписокОтбор.Идентификатор = Идентификатор;
СписокОтбор.РабочееМесто = РабочееМесто;
СписокОтбор.СетевоеОборудование = СетевоеОборудование;
СписокОтбор.СерверноеОборудование = СерверноеОборудование;
СписокОтбор.РазрешенаАвтоматическаяФискализация = ТолькоАвтоматическаяФискализация;
Возврат МенеджерОборудования.СписокОборудования(СписокОтбор);
КонецФункции
#Область Системные
// Устарела: следует использовать МенеджерОборудования.ВерсияБиблиотеки.
// Возвращает номер версии библиотеки подключаемого оборудования.
//
// Возвращаемое значение:
// Строка.
//
Функция ВерсияБиблиотеки() Экспорт
Возврат МенеджерОборудования.ВерсияБиблиотеки();
КонецФункции
// Устарела: следует использовать ОбщегоНазначенияБПО.ДатаСеанса.
// Получает текущую дату сервера, приведенную к часовому поясу сеанса.
// Предназначена для использования вместо функции ТекущаяДатаСеанса.
//
// Возвращаемое значение:
// Дата - текущая дата сеанса.
//
Функция ДатаСеанса() Экспорт
Возврат ОбщегоНазначенияБПО.ДатаСеанса();
КонецФункции
// Устарела: следует использовать МенеджерОборудования.ДоступныеТипыОборудования.
// Возвращает список доступных типов оборудования.
//
// Возвращаемое значение:
// Массив из ПеречислениеСсылка.ТипыПодключаемогоОборудования - Массив доступных типов подключаемого оборудования в конфигурации.
//
Функция ДоступныеТипыОборудования() Экспорт
Возврат МенеджерОборудования.ДоступныеТипыОборудования();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если функциональная подсистема существует в конфигурации.
//
// Параметры:
// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
// без слов "Подсистема." и с учетом регистра символов.
// Например: "СтандартныеПодсистемы.ВариантыОтчетов".
// Возвращаемое значение:
// Булево - Истина, если существует.
//
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
Возврат ОбщегоНазначенияБПО.ПодсистемаСуществует(ПолноеИмяПодсистемы);
КонецФункции
// Устарела: следует использовать ИнтеграцияПодсистемБПО.ПриДобавленииПараметровРаботыКлиентаПриЗапуске.
// Заполняет параметры работы клиента на сервере
// При использовании БСП процедуру требуется вызвать из процедуры
// ОбщегоНазначенияПереопределяемый.ПриДобавленииПараметровРаботыКлиентаПриЗапуске()
//
// Параметры:
// Параметры - Структура:
// * ИдентификаторКлиента - Строка - (входящий) идентификатор рабочего места клиента
// * ИменаМакетовДляПереустановки - Массив из Структура - имена макетов для переустановки внешних компонент
// * ИдентификаторОбсужденияРаспределеннойФискализации - ИдентификаторОбсужденияСистемыВзаимодействия -
Процедура ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры) Экспорт
ИнтеграцияПодсистемБПО.ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры);
КонецПроцедуры
// Устарела: следует использовать ИнтеграцияПодсистемБПО.УстановкаПараметровСеанса.
// Процедура устанавливает значения параметров сеанса, относящихся к подключаемому оборудованию.
//
// Параметры:
// ИменаПараметровСеанса - Массив - устанавливаемые идентификаторы параметров сеанса
//
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) Экспорт
ИнтеграцияПодсистемБПО.УстановкаПараметровСеанса(ИменаПараметровСеанса);
КонецПроцедуры
// Устарела: следует использовать МенеджерОборудования.ДоступноДобавлениеНовыхДрайверов.
// Возвращает доступность добавление новых драйверов.
//
// Возвращаемое значение:
// Булево.
//
Функция ДоступноДобавлениеНовыхДрайверов() Экспорт
Возврат МенеджерОборудования.ДоступноДобавлениеНовыхДрайверов();
КонецФункции
// Устарела: следует использовать МенеджерОборудования.ДоступноСетевоеОборудование.
// Возвращает доступность сетевого оборудования.
//
// Возвращаемое значение:
// Булево.
//
Функция ДоступноСетевоеОборудование() Экспорт
Возврат МенеджерОборудования.ДоступноСетевоеОборудование();
КонецФункции
// Устарела: следует использовать РаспределеннаяФискализация.ДоступноРаспределеннаяФискализация.
// Возвращает признак доступности распределенной фискализации.
//
// Возвращаемое значение:
// Булево.
//
Функция ДоступноРаспределеннаяФискализация() Экспорт
Если ОбщегоНазначенияБПО.ИспользуетсяРаспределеннаяФискализация() Тогда
МодульРаспределеннаяФискализация = ОбщегоНазначенияБПО.ОбщийМодуль("РаспределеннаяФискализация");
Возврат МодульРаспределеннаяФискализация.ДоступноРаспределеннаяФискализация();
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
// Устарела: следует использовать МенеджерОборудования.ДоступноСетевоеОборудование.
// Возвращает доступность инкассации в форме управление фискальным устройством.
//
// Возвращаемое значение:
// Булево.
//
Функция ДоступноИнкассацияВУправлениеФискальнымУстройством() Экспорт
Возврат МенеджерОборудования.ДоступноСетевоеОборудование();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется устройства ввода и эти подсистемы существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяУстройстваВвода() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяУстройстваВвода();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется устройства "Шаблоны магнитных карт" и эти подсистемы существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяШаблоныМагнитныхКарт() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяШаблоныМагнитныхКарт();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистемы фискальных устройств и эти подсистемы существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяЧекопечатающиеУстройства() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяЧекопечатающиеУстройства();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется "Кассовая смена" и эти подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяКассоваяСмена() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяКассоваяСмена();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется "ФорматноЛогическийКонтроль" и эти подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяФорматноЛогическийКонтроль() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяФорматноЛогическийКонтроль();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Платежные системы" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяПлатежныеСистемы() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяПлатежныеСистемы();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Дисплеи покупателя" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяДисплеиПокупателя() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяДисплеиПокупателя();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Весовое оборудование" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяВесовоеОборудование() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяВесовоеОборудование();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Терминалы сбора данных" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяТерминалыСбораДанных() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяТерминалыСбораДанных();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Принтеры этикеток" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяПринтерыЭтикеток() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяПринтерыЭтикеток();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Считыватель RFID" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяСчитывательRFID() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяСчитывательRFID();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Офлайн-оборудование" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяОфлайнОборудование() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяОфлайнОборудование();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Печать этикеток и ценников" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяПечатьЭтикетокИЦенников() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяПечатьЭтикетокИЦенников();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Электронные сертификаты НСПК" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяЭлектронныеСертификатыНСПК() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяЭлектронныеСертификатыНСПК();
КонецФункции
// Устарела: больше не используется.
// Возвращает Истина, если используется подсистема "Сертификаты НУЦ Минцифры" и эта подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// Возвращаемое значение:
// Булево.
//
Функция ИспользуетсяСертификатыНУЦМинцифры() Экспорт
Возврат ОбщегоНазначенияБПО.ИспользуетсяСертификатыНУЦМинцифры();
КонецФункции
#КонецОбласти
#Область ПереустановкаДрайвера
// Устарела: следует использовать МенеджерОборудования.УстановитьПризнакПереустановкиДрайвера.
// Устанавливает признак необходимости переустановки оборудования для подключаемого оборудования на рабочем месте.
//
// Параметры:
// РабочееМесто - СправочникСсылка.РабочиеМеста.
// ДрайверОборудования - СправочникСсылка.ДрайверыОборудования.
// Признак - Булево - требуется переустановить драйвер
//
Процедура УстановитьПризнакПереустановкиДрайвера(РабочееМесто, ДрайверОборудования, Признак) Экспорт
МенеджерОборудования.УстановитьПризнакПереустановкиДрайвера(РабочееМесто, ДрайверОборудования, Признак);
КонецПроцедуры
#Область РаботаСОборудованием
// Устарела: следует использовать МенеджерОборудования.ДрайвераПоТипуОборудования.
// Возвращает драйвера по типу оборудования
//
// Параметры:
// ТипОборудования - ПеречислениеСсылка.ТипыПодключаемогоОборудования - типы подключаемого оборудования.
// ТолькоДоступные - Булево - признак только доступных драйверов.
// СнятыеСПоддержкиДрайвера - Булево - признак отображения снятых с поддержки драйверов.
//
// Возвращаемое значение:
// СписокЗначений.
//
Функция ДрайвераПоТипуОборудования(ТипОборудования, ТолькоДоступные = Истина, СнятыеСПоддержкиДрайвера = Ложь) Экспорт
Возврат МенеджерОборудования.ДрайвераПоТипуОборудования(ТипОборудования, ТолькоДоступные, СнятыеСПоддержкиДрайвера);
КонецФункции
// Устарела: следует использовать МенеджерОборудования.НовыйДрайверОборудования.
// Создает запись в справочнике о новом драйвере.
//
// Параметры:
// ПараметрыСоздания - Структура - параметры создания оборудования.
//
// Возвращаемое значение:
// СправочникСсылка.ПодключаемоеОборудование.
//
Функция НовыйДрайверОборудования(ПараметрыСоздания) Экспорт
Возврат МенеджерОборудования.НовыйДрайверОборудования(ПараметрыСоздания);
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СовместимостьГОСИС
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройства.ФискальноеУстройствоПоддерживаетПроверкуКодовМаркировки.
// Возвращает поддерживает ли фискальное устройство.
//
// Параметры:
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - Идентификатор устройства.
//
// Возвращаемое значение:
// Булево - Фискальное устройство поддерживает проверку кодов маркировки
Функция ФискальноеУстройствоПоддерживаетПроверкуКодовМаркировки(ИдентификаторУстройства) Экспорт
Если ОбщегоНазначенияБПО.ИспользуетсяЧекопечатающиеУстройства() Тогда
МодульОборудованиеЧекопечатающиеУстройства = ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеЧекопечатающиеУстройства");
Возврат МодульОборудованиеЧекопечатающиеУстройства.ФискальноеУстройствоПоддерживаетПроверкуКодовМаркировки(ИдентификаторУстройства);
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
// Устарела: следует использовать ОборудованиеЧекопечатающиеУстройстваВызовСервера.ФискальноеУстройствоПоддерживаетВерсиюФФД.
// Функция возвращает для фискального устройства версию ФФД.
//
// Параметры:
// ИдентификаторУстройства - СправочникСсылка.ПодключаемоеОборудование - Идентификатор устройства.
//
// Возвращаемое значение:
// Неопределено - Фискальное устройство поддерживает версию ФФД
Функция ФискальноеУстройствоПоддерживаетВерсиюФФД(ИдентификаторУстройства) Экспорт
Если ОбщегоНазначенияБПО.ИспользуетсяЧекопечатающиеУстройства() Тогда
МодульОборудованиеЧекопечатающиеУстройстваВызовСервера = ОбщегоНазначенияБПО.ОбщийМодуль("ОборудованиеЧекопечатающиеУстройстваВызовСервера");
Возврат МодульОборудованиеЧекопечатающиеУстройстваВызовСервера.ФискальноеУстройствоПоддерживаетВерсиюФФД(ИдентификаторУстройства);
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
#КонецОбласти
#Область КодаВидаНоменклатурнойКлассификации
// Устарела: больше не используется.
// Возвращает классификатор кода вида номенклатурной классификации
//
// Возвращаемое значение:
// ТаблицаЗначений.
//
Функция КодыВидаНоменклатурнойКлассификации() Экспорт
ТаблицаЗначений = Новый ТаблицаЗначений;
ТаблицаЗначений.Колонки.Добавить("НаименованиеВидаНоменклатурнойКлассификации",,"НаименованиеВидаНоменклатурнойКлассификации");
ТаблицаЗначений.Колонки.Добавить("КодВидаНоменклатурнойКлассификации",,"КодВидаНоменклатурнойКлассификации");
// ++ Локализация
УстановитьПривилегированныйРежим(Истина);
Данные = ПолучитьОбщийМакет("КодВидаНоменклатурнойКлассификации").ПолучитьТекст() ;
Если Не ПустаяСтрока(Данные) Тогда
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(Данные);
ЧтениеXML.ПерейтиКСодержимому();
Если ЧтениеXML.Имя = "КодВидаНоменклатурнойКлассификации" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Пока ЧтениеXML.Прочитать() Цикл
Если ЧтениеXML.Имя = "ВидНоменклатурнойКлассификации" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ВидНоменклатурнойКлассификации = ТаблицаЗначений.Добавить();
ВидНоменклатурнойКлассификации.НаименованиеВидаНоменклатурнойКлассификации = ЧтениеXML.ЗначениеАтрибута("Имя");
ВидНоменклатурнойКлассификации.КодВидаНоменклатурнойКлассификации = ЧтениеXML.ЗначениеАтрибута("КодВида");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
// -- Локализация
Возврат ТаблицаЗначений;
КонецФункции
#КонецОбласти
#Область РаспределеннаяФискализации
#Если Не МобильноеПриложениеСервер Тогда
// Устарела: следует использовать РаспределеннаяФискализация.ОбсуждениеФискализации.
// Создает обсуждение фискализации.
//
// Возвращаемое значение:
// Неопределено, ИдентификаторОбсужденияСистемыВзаимодействия - Обсуждение фискализации
//
Функция ОбсуждениеФискализации() Экспорт
Если ОбщегоНазначенияБПО.ИспользуетсяРаспределеннаяФискализация() Тогда
МодульРаспределеннаяФискализация = ОбщегоНазначенияБПО.ОбщийМодуль("РаспределеннаяФискализация");
Возврат МодульРаспределеннаяФискализация.ОбсуждениеФискализации();
КонецЕсли;
КонецФункции
// Устарела: следует использовать РаспределеннаяФискализация.СоздатьСообщениеФискализации.
// Создает сообщение для фискализации чека
//
// Параметры:
// ИдентификаторЧека - УникальныйИдентификатор
// ОрганизацияИИН - Строка
//
Процедура СоздатьСообщениеФискализации(ИдентификаторЧека, ОрганизацияИИН = Неопределено) Экспорт
Если ОбщегоНазначенияБПО.ИспользуетсяРаспределеннаяФискализация() Тогда
МодульРаспределеннаяФискализация = ОбщегоНазначенияБПО.ОбщийМодуль("РаспределеннаяФискализация");
МодульРаспределеннаяФискализация.СоздатьСообщениеФискализации(ИдентификаторЧека, ОрганизацияИИН);
КонецЕсли;
КонецПроцедуры
#КонецЕсли
#КонецОбласти
#Область ИнтерфейсныйПроцедурыИФункции
// Устарела: больше не используется.
// Установить свойства элемента управления для мобильного приложения.
//
// Параметры:
// ЭлементУправления - ЭлементУправления
//
Процедура ПодготовитьЭлементУправления(ЭлементУправления) Экспорт
#Если МобильноеПриложениеСервер Тогда
СтандартнаяОбработка = Истина;
Если СтандартнаяОбработка Тогда
ЭлементУправления.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;
ЭлементУправления.ШрифтЗаголовка = ШрифтыСтиля.МелкийШрифтТекста;
КонецЕсли;
#КонецЕсли
КонецПроцедуры
#КонецОбласти
#Область ЕМРЦ
// Устарела: следует использовать МенеджерОборудования.ПолучитьЦенуЕМРЦ.
// Получает цену ЕМРЦ из данных информационной базы на дату.
//
// Параметры:
// ОсобенностьУчета - Перечисления.ВидыМаркированнойПродукцииБПО - тип маркированной продукции для проверки цены.
// Период - Дата - дата проверки цены.
// ЕМРЦ - Число - значение ЕМРЦ.
//
Процедура ПолучитьЦенуЕМРЦ(ОсобенностьУчета, Период = Неопределено, ЕМРЦ = 0) Экспорт
// ++ Локализация
МенеджерОборудования.ПолучитьЦенуЕМРЦ(ОсобенностьУчета, Период, ЕМРЦ);
// -- Локализация
КонецПроцедуры
#КонецОбласти
// Устарела: следует использовать процедуру МенеджерОборудованияКлиентСервер.Base64ВШтрихкод.
// Base64 в штрихкод.
//
// Параметры:
// ШтрихкодВBase64 - Строка - Штрихкод в base64
//
// Возвращаемое значение:
// Строка - Base64 в штрихкод
//
Функция Base64ВШтрихкод(ШтрихкодВBase64) Экспорт
ДвоичныеДанные = Base64Значение(ШтрихкодВBase64);
Если ДвоичныеДанные = Неопределено Тогда
Штрихкод = ШтрихкодВBase64;
Иначе
Штрихкод = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные);
КонецЕсли;
Возврат Штрихкод;
КонецФункции
// Устарела: следует использовать процедуру МенеджерОборудованияКлиентСервер.ШтрихкодВBase64.
// Штрихкод в base64.
//
// Параметры:
// Штрихкод - Строка - Штрихкод
//
// Возвращаемое значение:
// Строка - Штрихкод в base64
//
Функция ШтрихкодВBase64(Штрихкод) Экспорт
Если Штрихкод = Неопределено Тогда
ДвоичныеДанныеСтроки = Неопределено;
Иначе
ДвоичныеДанныеСтроки = ПолучитьДвоичныеДанныеИзСтроки(Штрихкод);
ШтрихкодBase64 = Base64Строка(ДвоичныеДанныеСтроки);
ШтрихкодBase64 = СтрЗаменить(ШтрихкодBase64, Символы.ПС, "");
ШтрихкодBase64 = СтрЗаменить(ШтрихкодBase64, Символы.ВК, "");
КонецЕсли;
Возврат ШтрихкодBase64;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
// Функция вызывает процедуру подготовки данных операции на сервере.
//
// Параметры:
// ПараметрыПодключения - Структура - параметры подключения оборудования.
// ПроцессорДанных - Строка - Модуль обработки данных.
// Команда - Строка - Имя выполняемой команды.
// ПараметрыОперации - Структура - Параметры выполняемой операции.
//
// Возвращаемое значение:
// Структура
//
Функция ПодготовитьДанныеОперации(ПараметрыПодключения, ПроцессорДанных, Команда, ПараметрыОперации) Экспорт
МодульПроцессорДанных = ОбщегоНазначенияБПО.ОбщийМодуль(ПроцессорДанных);
Возврат МодульПроцессорДанных.ПодготовитьДанныеОперации(ПараметрыПодключения, Команда, ПараметрыОперации);
КонецФункции
// Процедура обработки данных операции на сервере.
//
// Параметры:
// ПараметрыПодключения - Структура - параметры подключения оборудования.
// ПроцессорДанных - Строка - Модуль обработки данных.
// Команда - Строка - Имя выполняемой команды.
// РезультатВыполнения - Структура - Результат выполнения.
// ДанныеОперации - Структура - Данные выполненной операции.
//
// Возвращаемое значение:
// Структура
//
Процедура ОбработатьДанныеОперации(ПараметрыПодключения, ПроцессорДанных, Команда, РезультатВыполнения, ДанныеОперации) Экспорт
МодульПроцессорДанных = ОбщегоНазначенияБПО.ОбщийМодуль(ПроцессорДанных);
МодульПроцессорДанных.ОбработатьДанныеОперации(ПараметрыПодключения, Команда, РезультатВыполнения, ДанныеОперации);
КонецПроцедуры
Функция СовместимостьВнешнейКомпонентыИзФайла(Знач ИмяМакета) Экспорт
Возврат МенеджерОборудованияПовтИсп.СовместимостьВнешнейКомпонентыИзФайла(ИмяМакета);
КонецФункции
#Область RFID
// Получить таблицу меток RFID. Используется для обращения в веб клиенте.
//
// Параметры:
// ДанныеМеток - Строка
//
// Возвращаемое значение:
// Массив
//
Функция МеткиRFID(ДанныеМеток) Экспорт
Возврат МенеджерОборудованияКлиентСервер.МеткиRFID(ДанныеМеток);
КонецФункции
#КонецОбласти
#КонецОбласти