193 lines
12 KiB
Plaintext
193 lines
12 KiB
Plaintext
|
||
#Область ОбработчикиСобытий
|
||
|
||
&НаСервере
|
||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||
|
||
// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
|
||
Если Параметры.Свойство("АвтоТест") Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
ТекущийКассир = МенеджерОборудованияКлиентСервер.ТекущийКассирДляФискальныхОпераций();
|
||
Кассир = ТекущийКассир.Кассир;
|
||
КассирИНН = ТекущийКассир.КассирИНН;
|
||
|
||
ИнкассацияДоступна = МенеджерОборудования.ДоступноИнкассацияВУправлениеФискальнымУстройством();
|
||
Элементы.ВнесениеДенег.Видимость = ИнкассацияДоступна;
|
||
Элементы.ВыемкаДенег.Видимость = ИнкассацияДоступна;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область ОбработчикиКомандФормы
|
||
|
||
&НаКлиенте
|
||
Процедура ОперацияЗавершение(РезультатВыполнения, Параметры) Экспорт
|
||
|
||
Доступность = Истина;
|
||
|
||
ТекстСообщения = ?(РезультатВыполнения.Результат, НСтр("ru='Операция успешно завершена.'"), РезультатВыполнения.ОписаниеОшибки);
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(ТекстСообщения);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОткрытьСмену(Команда)
|
||
|
||
ВыполнитьОперацию("ОткрытьСмену");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ЗакрытьСмену(Команда)
|
||
|
||
ВыполнитьОперацию("ЗакрытьСмену");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВнесениеДенег(Команда)
|
||
|
||
ВыполнитьОперацию("Внесение");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыемкаДенег(Команда)
|
||
|
||
ВыполнитьОперацию("Выемка");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтчетОТекущемСостоянииРасчетов(Команда)
|
||
|
||
ВыполнитьОперацию("ОтчетОТекущемСостоянииРасчетов");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтчетБезГашения(Команда)
|
||
|
||
ВыполнитьОперацию("ОтчетБезГашения");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперацию(Команда)
|
||
|
||
ОчиститьСообщения();
|
||
|
||
ПоддерживаемыеТипы = МенеджерОборудованияКлиентСервер.ПараметрыТипыОборудования();
|
||
ПоддерживаемыеТипы.ПринтерЧеков = Истина;
|
||
ПоддерживаемыеТипы.ККТ = Истина;
|
||
|
||
ДополнительныеПараметры = Новый Структура("Команда", Команда);
|
||
|
||
Если Команда = "Внесение" Или Команда = "Выемка" Тогда
|
||
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОперациюВыбораУстройстваИнкассация", ЭтотОбъект, ДополнительныеПараметры);
|
||
Иначе
|
||
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОперациюВыбораУстройства", ЭтотОбъект, ДополнительныеПараметры);
|
||
КонецЕсли;
|
||
МенеджерОборудованияКлиент.ВыбратьУстройство(ОписаниеОповещения, ПоддерживаемыеТипы,
|
||
НСтр("ru='Выберите фискальное устройство'"),
|
||
НСтр("ru='Фискальное устройство не подключено.'"),
|
||
НСтр("ru='Фискальное устройство не выбрано.'"));
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперациюВыбораУстройстваИнкассация(РезультатВыбора, ДополнительныеПараметры) Экспорт
|
||
|
||
Если НЕ РезультатВыбора.Результат Тогда
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(РезультатВыбора.ОписаниеОшибки);
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
СуммаОперации = 0;
|
||
|
||
Если ДополнительныеПараметры.Команда = "Внесение" Тогда
|
||
ЗаголовокОкна = НСтр("ru='Сумма внесения'");
|
||
Иначе
|
||
ЗаголовокОкна = НСтр("ru='Сумма выемки'");
|
||
КонецЕсли;
|
||
|
||
ПараметрыПослеВводаЧисла = Новый Структура;
|
||
ПараметрыПослеВводаЧисла.Вставить("СуммаОперации", СуммаОперации);
|
||
ПараметрыПослеВводаЧисла.Вставить("ИдентификаторУстройства", РезультатВыбора.ИдентификаторУстройства);
|
||
ПараметрыПослеВводаЧисла.Вставить("Команда", ДополнительныеПараметры.Команда);
|
||
|
||
ОповещениеПослеВводеЧисла = Новый ОписаниеОповещения("ИнкассацияЗавершение", ЭтотОбъект, ПараметрыПослеВводаЧисла);
|
||
|
||
ПоказатьВводЧисла(ОповещениеПослеВводеЧисла, СуммаОперации, ЗаголовокОкна, 15, 2);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ИнкассацияЗавершение(Результат, ДополнительныеПараметры) Экспорт
|
||
|
||
СуммаОперации = ?(Результат = Неопределено, ДополнительныеПараметры.СуммаОперации, Результат);
|
||
|
||
Если Результат = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
Доступность = Ложь;
|
||
|
||
ПараметрыОперации = ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыИнкассации();
|
||
ПараметрыОперации.ТипИнкассации = ?(ДополнительныеПараметры.Команда = "Внесение" , 1, 0);
|
||
ПараметрыОперации.Сумма = СуммаОперации;
|
||
ПараметрыОперации.Кассир = Кассир;
|
||
ПараметрыОперации.КассирИНН = КассирИНН;
|
||
|
||
ОповещениеПриЗавершении = Новый ОписаниеОповещения("ОперацияЗавершение", ЭтотОбъект);
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьИнкассациюНаФискальномУстройстве(ОповещениеПриЗавершении, УникальныйИдентификатор,
|
||
ДополнительныеПараметры.ИдентификаторУстройства, ПараметрыОперации);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперациюВыбораУстройства(РезультатВыбора, ДополнительныеПараметры) Экспорт
|
||
|
||
Если НЕ РезультатВыбора.Результат Тогда
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(РезультатВыбора.ОписаниеОшибки);
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
ОчиститьСообщения();
|
||
Доступность = Ложь;
|
||
|
||
ПараметрыОперации = ОборудованиеЧекопечатающиеУстройстваКлиентСервер.ПараметрыОткрытияЗакрытияСмены();
|
||
ПараметрыОперации.Кассир = Кассир;
|
||
ПараметрыОперации.КассирИНН = КассирИНН;
|
||
|
||
ОповещениеПриЗавершении = Новый ОписаниеОповещения("ОперацияЗавершение", ЭтотОбъект);
|
||
|
||
Если ДополнительныеПараметры.Команда = "ОткрытьСмену" Тогда
|
||
Если ОбщегоНазначенияБПОКлиент.ИспользуетсяКассоваяСмена() Тогда
|
||
ДополнительныеПараметры = Новый Структура();
|
||
МодульКассовыеСменыКлиентПереопределяемый = ОбщегоНазначенияБПОКлиент.ОбщийМодуль("КассовыеСменыКлиентПереопределяемый");
|
||
МодульКассовыеСменыКлиентПереопределяемый.УправлениеФУЗаполнитьДополнительныеПараметрыПередОткрытиемСмены(РезультатВыбора.ИдентификаторУстройства, ДополнительныеПараметры);
|
||
Иначе
|
||
ДополнительныеПараметры = Неопределено;
|
||
КонецЕсли;
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьОткрытиеСменыНаФискальномУстройстве(ОповещениеПриЗавершении,
|
||
УникальныйИдентификатор, РезультатВыбора.ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры);
|
||
ИначеЕсли ДополнительныеПараметры.Команда = "ЗакрытьСмену" Тогда
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьЗакрытиеСменыНаФискальномУстройстве(ОповещениеПриЗавершении,
|
||
УникальныйИдентификатор, РезультатВыбора.ИдентификаторУстройства, ПараметрыОперации);
|
||
ИначеЕсли ДополнительныеПараметры.Команда = "ОтчетОТекущемСостоянииРасчетов" Тогда
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьФормированиеОтчетаОТекущемСостоянииРасчетов(ОповещениеПриЗавершении,
|
||
УникальныйИдентификатор, РезультатВыбора.ИдентификаторУстройства, ПараметрыОперации);
|
||
ИначеЕсли ДополнительныеПараметры.Команда = "ОтчетБезГашения" Тогда
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьФормированиеОтчетаБезГашения(ОповещениеПриЗавершении,
|
||
УникальныйИдентификатор, РезультатВыбора.ИдентификаторУстройства, ПараметрыОперации);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|