143 lines
7.7 KiB
Plaintext
143 lines
7.7 KiB
Plaintext
#Область ОбработчикиСобытий
|
||
|
||
&НаСервере
|
||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||
|
||
// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
|
||
Если Параметры.Свойство("АвтоТест") Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
#Область ОбработчикиКомандФормы
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперациюЗавершение(РезультатВыполнения, Параметры) Экспорт
|
||
|
||
Доступность = Истина;
|
||
|
||
Если РезультатВыполнения.Результат Тогда
|
||
ТекстСообщения = НСтр("ru = 'Операция выполнена успешно.'");
|
||
Иначе
|
||
ТекстСообщения = РезультатВыполнения.ОписаниеОшибки;
|
||
КонецЕсли;
|
||
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(ТекстСообщения);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперациюПоПлатежнойКарте(ТипТранзакции)
|
||
|
||
ОчиститьСообщения();
|
||
ПараметрыОперации = Новый Структура();
|
||
ПараметрыОперации.Вставить("ТипТранзакции" , ТипТранзакции);
|
||
ПараметрыОперации.Вставить("УказатьДополнительныеДанные" , Истина);
|
||
ПараметрыОперации.Вставить("ЗапретРедактированияСуммы" , Ложь);
|
||
|
||
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОперациюПоПлатежнойКартеЗавершение", ЭтотОбъект, ПараметрыОперации);
|
||
ОткрытьФорму("Справочник.ПодключаемоеОборудование.Форма.ФормаАвторизацииЭТ", ПараметрыОперации,,, ,, ОписаниеОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьОперациюПоПлатежнойКартеЗавершение(Результат, Параметры) Экспорт
|
||
|
||
Если ТипЗнч(Результат) = Тип("Структура") Тогда
|
||
|
||
Если НЕ Параметры.Свойство("ТипТранзакции") Тогда
|
||
ТекстСообщения = НСтр("ru = 'Не указан тип транзакции.'");
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(ТекстСообщения);
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
Доступность = Ложь;
|
||
ПараметрыОперации = ОборудованиеПлатежныеСистемыКлиентСервер.ПараметрыВыполненияЭквайринговойОперации();
|
||
ПараметрыОперации.ТипТранзакции = Параметры.ТипТранзакции;
|
||
ПараметрыОперации.СуммаОперации = Результат.Сумма;
|
||
ПараметрыОперации.НомерЧека = ?(Результат.Свойство("НомерЧека") , Результат.НомерЧека, "");
|
||
ПараметрыОперации.НомерЧекаЭТ = ?(Результат.Свойство("НомерЧекаЭТ"), Результат.НомерЧекаЭТ, "");
|
||
|
||
ПараметрыОперации.СсылочныйНомер = Результат.СсылочныйНомер;
|
||
|
||
Оповещение = Новый ОписаниеОповещения("ВыполнитьОперациюЗавершение", ЭтотОбъект);
|
||
ОборудованиеПлатежныеСистемыКлиент.НачатьВыполнениеОперацииНаЭквайринговомТерминале(Оповещение, УникальныйИдентификатор, Неопределено, ПараметрыОперации);
|
||
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОплатитьПлатежнойКартой(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizeSales");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВернутьПлатежПоКарте(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizeRefund");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтменитьПлатежПоКарте(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizeVoid");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьПреавторизацию(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizePreSales");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ЗавершитьПреавторизацию(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizeCompletion");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтменитьПреавторизацию(Команда)
|
||
|
||
ВыполнитьОперациюПоПлатежнойКарте("AuthorizeVoidPreSales");
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВыполнитьСверкуИтогов(Команда)
|
||
|
||
ОчиститьСообщения();
|
||
Доступность = Ложь;
|
||
|
||
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОперациюЗавершение", ЭтотОбъект);
|
||
ОборудованиеПлатежныеСистемыКлиент.НачатьВыполнениеСверкиИтоговНаЭквайринговомТерминале(ОписаниеОповещения, УникальныйИдентификатор)
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура НапечататьПоследнийСлипЧек(Команда)
|
||
|
||
ОчиститьСообщения();
|
||
ПоследнийСлипЧек = ОборудованиеПлатежныеСистемыКлиент.ПоследнийСлипЧек();
|
||
Если Не ПустаяСтрока(ПоследнийСлипЧек) Тогда
|
||
Доступность = Ложь;
|
||
ПараметрыОперации = Новый Структура("СтрокиТекста", ПоследнийСлипЧек);
|
||
Оповещение = Новый ОписаниеОповещения("ВыполнитьОперациюЗавершение", ЭтотОбъект);
|
||
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьПечатьТекста(Оповещение, УникальныйИдентификатор, Неопределено, ПараметрыОперации);
|
||
Иначе
|
||
ТекстСообщения = НСтр("ru = 'Отсутствует последний слип чек.'");
|
||
ОбщегоНазначенияБПОКлиент.СообщитьПользователю(ТекстСообщения);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти |