Чек ККМ / Прочие операции / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	КассаККМ       = Параметры.КассаККМ;
	Кассир         = Параметры.Кассир;
	ТолькоПросмотр = Параметры.ТолькоПросмотр;
	Документ       = Параметры.Документ;
	Организация    = Параметры.Организация;
	
	// Управление видимостью команды загрузки из ТСД.
	ТипыПодключенногоОборудования = ПодключаемоеОборудованиеУТПовтИсп.ТипыПодключенногоОборудования();
	
	ЕстьТСД =
		Не Параметры.НеВыводитьЗагрузкуИзТСД
		И ТипыПодключенногоОборудования <> Неопределено
		И ТипыПодключенногоОборудования.Найти(Перечисления.ТипыПодключаемогоОборудования.ТерминалСбораДанных) <> Неопределено;
	
	Элементы.ЗагрузитьДанныеИзТСД.Видимость = ОбщегоНазначенияУТ.ИспользоватьПодключаемоеОборудование(ТипыПодключенногоОборудования) И ЕстьТСД;
	Элементы.ПродажаПодарочногоСертификата.Видимость = Параметры.ПродажаПодарочногоСертификата;
	Элементы.ПроверитьКоличествоВДокументе.Видимость = Параметры.ПроверитьКоличествоВДокументе;
	Элементы.ВозвратПодарочногоСертификата.Видимость = Параметры.ВозвратПодарочногоСертификата;
	Элементы.Заблокировать.Видимость                 = Параметры.Заблокировать;
	
	АдресКомандПечатиВоВременномХранилище = Параметры.АдресКомандПечатиВоВременномХранилище;
	КомандыПечати = ПолучитьИзВременногоХранилища(АдресКомандПечатиВоВременномХранилище);
	
	Если ЗначениеЗаполнено(Документ)
		ИЛИ НастройкиПродажДляПользователейСервер.ПраваДоступаРМК(Пользователи.ТекущийПользователь()).Отложить Тогда
			
		Для Каждого КомандаПечати Из КомандыПечати Цикл
			
			ИмяКнопки = КомандаПечати.ИмяКоманды;
			
			Если СтрНайти(ИмяКнопки, "КомандаДляВыводаВПустоеПодменю") > 0 Тогда
				Прервать;
			КонецЕсли;
			
			НоваяКоманда = ЭтаФорма.Команды.Добавить(ИмяКнопки);
			НоваяКоманда.Действие = "Подключаемый_ОбработатьКомандуПечати";
			НоваяКоманда.Заголовок = КомандаПечати.Заголовок;
			НоваяКоманда.Отображение = ОтображениеКнопки.Текст;
			
			НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), Элементы.ГруппаПечать);
			НоваяКнопка.ИмяКоманды = НоваяКоманда.Имя;
			НоваяКнопка.Высота = 3;
			НоваяКнопка.Ширина = 12;
			Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(НоваяКнопка, "РастягиватьПоГоризонтали") Тогда
				НоваяКнопка.РастягиватьПоГоризонтали = Истина;
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
	ЗаполнитьДоступныеКассыККМ();
	
	РозничныеПродажи.ПодписатьГорячиеКлавишиНаКнопках(ЭтотОбъект);
	
	НастройкаВидимостиКомандЛокализация();
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// Параметры:
// 	Команда - КомандаФормы - 
&НаКлиенте
Процедура Подключаемый_ОбработатьКомандуПечати(Команда)
	
	Закрыть();
	
	ВыполнитьОбработкуОповещения(
		Новый ОписаниеОповещения("ОбработатьКомандуПечати", ВладелецФормы),
		Команда.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьДанныеИзТСД(Команда)
	
	ОчиститьСообщения();
	
	Закрыть();
	
	МенеджерОборудованияКлиент.НачатьЗагрузкуДанныеИзТСД(
		Новый ОписаниеОповещения("ЗагрузитьИзТСДЗавершение", ВладелецФормы),
		УникальныйИдентификатор);
	
КонецПроцедуры

&НаКлиенте
Процедура ПроверитьКоличествоВДокументе(Команда)
	
	Закрыть();
	
	ОписаниеОповещения = Новый ОписаниеОповещения("ПроверитьКоличествоВДокументе", ВладелецФормы);
	ВыполнитьОбработкуОповещения(ОписаниеОповещения);
	
КонецПроцедуры

&НаКлиенте
Процедура ПродажаПодарочногоСертификата(Команда)
	
	Закрыть();
	
	ОбработкаОповещения = Новый ОписаниеОповещения("ПродажаПодарочногоСертификатаОбработкаОповещения", ЭтотОбъект);
	
	РозничныеПродажиКлиент.ОбработатьСостояниеСмены(ВладелецФормы, ОбработкаОповещения);
	
КонецПроцедуры

&НаКлиенте
Процедура ВозвратПодарочногоСертификата(Команда)
	
	Закрыть();
	
	ОбработкаОповещения = Новый ОписаниеОповещения("ВозвратПодарочногоСертификатаОбработкаОповещения", ЭтотОбъект);
	
	РозничныеПродажиКлиент.ОбработатьСостояниеСмены(ВладелецФормы, ОбработкаОповещения);
	
КонецПроцедуры

&НаКлиенте
Процедура Заблокировать(Команда)
	
	Закрыть();
	
	ОткрытьФорму("Документ.ЧекККМ.Форма.Авторизация", Новый Структура("Режим", "СменитьПрава"), ВладелецФормы);
	
КонецПроцедуры

&НаКлиенте
Процедура ОтложенныйЧек(Команда)
	
	Закрыть();
	
	ПараметрыОткрытия = Новый Структура;
	ПараметрыОткрытия.Вставить("КассаККМ",        КассаККМ);
	ПараметрыОткрытия.Вставить("КартаЛояльности", ПредопределенноеЗначение("Справочник.КартыЛояльности.ПустаяСсылка"));
	
	Если ТипЗнч(Документ) = Тип("ДокументСсылка.ЧекККМ") Тогда
		ОткрытьФорму("Документ.ЧекККМ.Форма.ВыборОтложенногоЧека", ПараметрыОткрытия, ВладелецФормы);
	ИначеЕсли ТипЗнч(Документ) = Тип("ДокументСсылка.ЧекККМВозврат") Тогда
		ОткрытьФорму("Документ.ЧекККМВозврат.Форма.ВыборОтложенногоЧека", ПараметрыОткрытия, ВладелецФормы);
	ИначеЕсли ТипЗнч(Документ) = Тип("ДокументСсылка.РеализацияПодарочныхСертификатов") Тогда
		ОткрытьФорму("Документ.РеализацияПодарочныхСертификатов.Форма.ВыборОтложенногоЧека", ПараметрыОткрытия, ВладелецФормы);
	ИначеЕсли ТипЗнч(Документ) = Тип("ДокументСсылка.ВозвратПодарочныхСертификатов") Тогда
		ОткрытьФорму("Документ.ВозвратПодарочныхСертификатов.Форма.ВыборОтложенногоЧека", ПараметрыОткрытия, ВладелецФормы);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОстатокВскрытыхПотребительскихУпаковок(Команда)
	
	ОстатокВскрытыхПотребительскихУпаковокЛокализация();
	
КонецПроцедуры

&НаКлиенте
Процедура ОстатокВскрытыхБутылокЕГАИС(Команда)
	
	ОстатокВскрытыхБутылокЕГАИСЛокализация();
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаКлиенте
Процедура ПродажаПодарочногоСертификатаОбработкаОповещения(Результат, ДополнительныеПараметры) Экспорт
	
	Если Не Результат Тогда
		Возврат;
	КонецЕсли;
	
	ПараметрыЗаполнения = Новый Структура;
	ПараметрыЗаполнения.Вставить("КассаККМ", КассаККМ);
	
	ПараметрыОткрытияФормы = Новый Структура;
	ПараметрыОткрытияФормы.Вставить("Основание", ПараметрыЗаполнения);
	ОткрытьФорму(
		"Документ.РеализацияПодарочныхСертификатов.Форма.ФормаДокументаРМК",
		ПараметрыОткрытияФормы,
		ВладелецФормы);
	
КонецПроцедуры

&НаКлиенте
Процедура ВозвратПодарочногоСертификатаОбработкаОповещения(Результат, ДополнительныеПараметры) Экспорт
	
	Если Не Результат Тогда
		Возврат;
	КонецЕсли;
	
	ПараметрыОткрытияФормы = Новый Структура;
	ПараметрыОткрытияФормы.Вставить("КассаККМ", КассаККМ);
	ПараметрыОткрытияФормы.Вставить("Организация", Организация);
	
	ОткрытьФорму(
		"Документ.ЧекККМ.Форма.ОформлениеВозвратаПодарочныхСертификатов",
		ПараметрыОткрытияФормы,
		ВладелецФормы);
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьДоступныеКассыККМ()
	
	ФормированиеФискальныхЧековСервер.ЗаполнитьДоступныеКассыККМ(ДоступныеКассыККМ, КассаККМ);
	
КонецПроцедуры

&НаКлиенте
Процедура ОстатокВскрытыхПотребительскихУпаковокЛокализация()
	
	//++ Локализация
	ВключенныеВидыПродукции = ИнтеграцияИСКлиентСерверПовтИсп
		.ВидыПродукцииИспользующиеВскрытыеПотребительскихУпаковок(Истина, Ложь);
	
	Если ВключенныеВидыПродукции.Количество() > 0 Тогда
		ПараметрыОткрытия = ОбщегоНазначенияИСКлиент.ПараметрыОткрытияФормыСпискаПотребительскихУпаковок();
		ПараметрыОткрытия.Организациия = Организация;
		ПараметрыОткрытия.ВладелецФормы = ЭтотОбъект;
		
		ОбщегоНазначенияИСМПКлиент.ОткрытьФормуСпискаВскрытыхПотребительскихУпаковок(ПараметрыОткрытия);
	КонецЕсли;
	//-- Локализация
	
КонецПроцедуры

&НаКлиенте
Процедура ОстатокВскрытыхБутылокЕГАИСЛокализация()
	
	//++ Локализация
	ВключенныеВидыПродукции = ИнтеграцияИСКлиентСерверПовтИсп
		.ВидыПродукцииИспользующиеВскрытыеПотребительскихУпаковок(Ложь, Истина);
	
	Если ВключенныеВидыПродукции.Количество() > 0 Тогда
		ПараметрыОткрытия = ОбщегоНазначенияИСКлиент.ПараметрыОткрытияФормыСпискаПотребительскихУпаковок();
		ПараметрыОткрытия.Организациия = Организация;
		ПараметрыОткрытия.ВладелецФормы = ЭтотОбъект;
		
		ОбщегоНазначенияЕГАИСКлиент.ОткрытьФормуСпискаВскрытыхПотребительскихУпаковок(ПараметрыОткрытия);
	КонецЕсли;
	//-- Локализация
	
КонецПроцедуры

&НаСервере
Процедура НастройкаВидимостиКомандЛокализация()
	
	Элементы.ОстатокВскрытыхПотребительскихУпаковок.Видимость = Ложь;
	Элементы.ОстатокВскрытыхБутылокЕГАИС.Видимость = Ложь;
	
	//++ Локализация
	Если ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ВскрытыеПотребительскиеУпаковкиИС) Тогда
		ВключенныеВидыПродукции = ИнтеграцияИСКлиентСерверПовтИсп
			.ВидыПродукцииИспользующиеВскрытыеПотребительскихУпаковок(Истина, Ложь);
		
		Если ВключенныеВидыПродукции.Количество() > 0 Тогда
			Элементы.ОстатокВскрытыхПотребительскихУпаковок.Заголовок = ОбщегоНазначенияИСПовтИсп
				.ПредставленияВскрытыхПотребительскихУпаковок("ИСМП")
				.ЗаголовокСписка;
			Элементы.ОстатокВскрытыхПотребительскихУпаковок.Видимость = Истина;
		КонецЕсли;
		
		ВключенныеВидыПродукции = ИнтеграцияИСКлиентСерверПовтИсп
			.ВидыПродукцииИспользующиеВскрытыеПотребительскихУпаковок(Ложь, Истина);
		
		Если ВключенныеВидыПродукции.Количество() > 0 Тогда
			Элементы.ОстатокВскрытыхБутылокЕГАИС.Заголовок = ОбщегоНазначенияИСПовтИсп
				.ПредставленияВскрытыхПотребительскихУпаковок("ЕГАИС")
				.ЗаголовокСписка;
			Элементы.ОстатокВскрытыхБутылокЕГАИС.Видимость = Истина;
		КонецЕсли;
	КонецЕсли;
	//-- Локализация
	
КонецПроцедуры

#КонецОбласти

Связанные материалы