#Область ОписаниеПеременных
&НаКлиенте
Перем ОбновитьИнтерфейс;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
СоставНабораКонстантФормы = ОбщегоНазначенияУТ.ПолучитьСтруктуруНабораКонстант(НаборКонстант);
ВнешниеРодительскиеКонстанты = НастройкиСистемыПовтИсп.ПолучитьСтруктуруРодительскихКонстант(СоставНабораКонстантФормы);
РежимРаботы = Новый Структура;
ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьРозничныеПродажи");
РежимРаботы.Вставить("СоставНабораКонстантФормы", Новый ФиксированнаяСтруктура(СоставНабораКонстантФормы));
РежимРаботы.Вставить("ВнешниеРодительскиеКонстанты", Новый ФиксированнаяСтруктура(ВнешниеРодительскиеКонстанты));
РежимРаботы = Новый ФиксированнаяСтруктура(РежимРаботы);
ЗаполнитьОписаниеНастраиваемыхРегламентныхЗаданий();
РозничныеПродажиЛокализация.ПанельАдминистрированияУТНастройкиРМКИОборудованияНастроитьВидимостьЭлементов(ЭтотОбъект);
УстановитьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
ОбновитьИнтерфейсПрограммы();
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия <> "Запись_НаборКонстант" Тогда
Возврат;
КонецЕсли;
Если РежимРаботы.ВнешниеРодительскиеКонстанты.Свойство(Источник)
ИЛИ (ТипЗнч(Параметр) = Тип("Структура")
И ОбщегоНазначенияУТКлиентСервер.ПолучитьОбщиеКлючиСтруктур(
Параметр, РежимРаботы.ВнешниеРодительскиеКонстанты).Количество() > 0) Тогда
ЭтаФорма.Прочитать();
УстановитьДоступность();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ИспользоватьПодключаемоеОборудованиеПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьОбменСПодключаемымОборудованиемOfflineПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
Оповестить("ИзмененыДоступныеТипыПодключаемогоОборудования", , ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ИспользуетсяПротоколRDPвБПОПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ХранитьУспешныеОперацииРазрешенияПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СрокХраненияОперацийПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОткрытьПодключаемоеОборудование(Команда)
МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента();
ОткрытьФорму("Справочник.ПодключаемоеОборудование.ФормаСписка", , ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОфлайнОборудование(Команда)
НастройкиСистемыКлиентЛокализация.ОбработкаКоманды_НастройкиРМКИОборудования(Команда, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПравилаОбменаСПодключаемымОборудованием(Команда)
ОткрытьФорму("Справочник.ПравилаОбменаСПодключаемымОборудованиемOffline.ФормаСписка", , ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьШаблоныМагнитныхКарт(Команда)
ОткрытьФорму("Справочник.ШаблоныМагнитныхКарт.ФормаСписка", , ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьНастройкиРМК(Команда)
ОткрытьФорму("Справочник.НастройкиРМК.ФормаСписка",,ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьТекущиеНастройкиРМК(Команда)
ТекущиеНастройкиРМК = ТекущиеНастройкиРМК();
Если ЗначениеЗаполнено(ТекущиеНастройкиРМК) Тогда
ПоказатьЗначение(Неопределено, ТекущиеНастройкиРМК);
Иначе
ОткрытьФорму("Справочник.НастройкиРМК.ФормаОбъекта",,ЭтаФорма);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьЖурналыОперацийБПО(Команда)
РозничныеПродажиКлиентЛокализация.ОткрытьЖурналыОперацийБПО(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура НастроитьРасписаниеОчисткиЖурналовОперацийБПО(Команда)
РозничныеПродажиКлиентЛокализация.НастроитьРасписаниеОчисткиЖурналовОперацийБПО(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Клиент
&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент, ОбновлятьИнтерфейс = Истина)
КонстантаИмя = ПриИзмененииРеквизитаСервер(Элемент.Имя);
Если ОбновлятьИнтерфейс Тогда
ОбновитьИнтерфейс = Истина;
ПодключитьОбработчикОжидания("ОбновитьИнтерфейсПрограммы", 2, Истина);
КонецЕсли;
Если КонстантаИмя <> "" Тогда
Оповестить("Запись_НаборКонстант", Новый Структура, КонстантаИмя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьИнтерфейсПрограммы()
Если ОбновитьИнтерфейс = Истина Тогда
ОбновитьИнтерфейс = Ложь;
ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ВызовСервера
&НаСервере
Функция ПриИзмененииРеквизитаСервер(ИмяЭлемента)
РеквизитПутьКДанным = Элементы[ИмяЭлемента].ПутьКДанным;
КонстантаИмя = СохранитьЗначениеРеквизита(РеквизитПутьКДанным);
УстановитьДоступность(РеквизитПутьКДанным);
ОбновитьПовторноИспользуемыеЗначения();
Возврат КонстантаИмя;
КонецФункции
#КонецОбласти
#Область Сервер
&НаСервере
Функция СохранитьЗначениеРеквизита(РеквизитПутьКДанным)
Если РеквизитПутьКДанным = "" Тогда
Возврат "";
КонецЕсли;
КонстантаИмя = "";
Если СтрНачинаетсяС(НРег(РеквизитПутьКДанным), НРег("НаборКонстант.")) Тогда
ЧастиИмени = СтрРазделить(РеквизитПутьКДанным, ".");
КонстантаИмя = ЧастиИмени[1];
Иначе
КонецЕсли;
Если КонстантаИмя <> "" Тогда
КонстантаМенеджер = Константы[КонстантаИмя];
КонстантаЗначение = НаборКонстант[КонстантаИмя];
Если КонстантаМенеджер.Получить() <> КонстантаЗначение Тогда
КонстантаМенеджер.Установить(КонстантаЗначение);
КонецЕсли;
Если НастройкиСистемыПовтИсп.ЕстьПодчиненныеКонстанты(КонстантаИмя, КонстантаЗначение) Тогда
ЭтаФорма.Прочитать();
КонецЕсли;
КонецЕсли;
Возврат КонстантаИмя;
КонецФункции
&НаСервере
Процедура УстановитьДоступность(РеквизитПутьКДанным = "")
Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьПодключаемоеОборудование" ИЛИ РеквизитПутьКДанным = "" Тогда
ЗначениеКонстанты = НаборКонстант.ИспользоватьПодключаемоеОборудование;
Элементы.ИспользоватьОбменСПодключаемымОборудованиемOffline.Доступность = ЗначениеКонстанты И Константы.ИспользоватьРозничныеПродажи.Получить();
Элементы.ОткрытьПодключаемоеОборудование.Доступность = ЗначениеКонстанты;
Элементы.ОткрытьШаблоныМагнитныхКарт.Доступность = ЗначениеКонстанты;
КонецЕсли;
Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьОбменСПодключаемымОборудованиемOffline" ИЛИ РеквизитПутьКДанным = "" Тогда
Элементы.ОткрытьПравилаОбменаСПодключаемымОборудованием.Доступность = НаборКонстант.ИспользоватьОбменСПодключаемымОборудованиемOffline;
Элементы.ОткрытьОфлайнОборудование.Доступность = НаборКонстант.ИспользоватьОбменСПодключаемымОборудованиемOffline;
КонецЕсли;
ОбменДаннымиУТУП.УстановитьДоступностьНастроекУзлаИнформационнойБазы(ЭтаФорма);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ТекущиеНастройкиРМК()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| НастройкиРМК.Ссылка
|ИЗ
| Справочник.НастройкиРМК КАК НастройкиРМК
|ГДЕ
| НастройкиРМК.РабочееМесто = &РабочееМесто";
Запрос.УстановитьПараметр("РабочееМесто", МенеджерОборудованияВызовСервера.ПолучитьРабочееМестоКлиента());
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
Иначе
Возврат Справочники.НастройкиРМК.ПустаяСсылка();
КонецЕсли;
КонецФункции
&НаСервере
Процедура ЗаполнитьОписаниеНастраиваемыхРегламентныхЗаданий()
УстановитьПривилегированныйРежим(Истина);
ОписаниеНастраиваемыхРегламентныхЗаданий = Новый Структура;
ОписаниеНастраиваемыхРегламентныхЗаданий.Вставить("ОчисткаИсторииФискальныхОпераций",
Новый Структура("ИмяМетаданныхРегламентногоЗадания, МетаданныеДляПроверкиПравДоступаНаИзменение",
Метаданные.РегламентныеЗадания.ОчисткаИсторииФискальныхОпераций.Имя, Новый СписокЗначений));
ОписаниеНастраиваемыхРегламентныхЗаданий.Вставить("ОчисткаИсторииПлатежныхОпераций",
Новый Структура("ИмяМетаданныхРегламентногоЗадания, МетаданныеДляПроверкиПравДоступаНаИзменение",
Метаданные.РегламентныеЗадания.ОчисткаИсторииПлатежныхОпераций.Имя, Новый СписокЗначений));
ОписаниеНастраиваемыхРегламентныхЗаданий.Вставить("ОчисткаИсторииОперацийПроверкиКМ",
Новый Структура("ИмяМетаданныхРегламентногоЗадания, МетаданныеДляПроверкиПравДоступаНаИзменение",
Метаданные.РегламентныеЗадания.ОчисткаИсторииОперацийПроверкиКМ.Имя, Новый СписокЗначений));
ОписаниеНастраиваемыхРегламентныхЗаданий.Вставить("ОчисткаИсторииОперацийОчередиЧеков",
Новый Структура("ИмяМетаданныхРегламентногоЗадания, МетаданныеДляПроверкиПравДоступаНаИзменение",
Метаданные.РегламентныеЗадания.ОчисткаИсторииОперацийОчередиЧеков.Имя, Новый СписокЗначений));
КонецПроцедуры
#КонецОбласти
#КонецОбласти