#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Номер = "";
Дата = "";
ПриСозданииЧтенииНаСервере();
КонецЕсли;
ЗначенияРеквизитовОбъекта = ОбщегоНазначенияУТ.СтруктураСоСвойствамиОбъектаМетаданных(Метаданные.Справочники.ПодарочныеСертификаты);
ЗначенияРеквизитовОбъекта.Вставить("Статус");
ЗначенияРеквизитовОбъекта.Вставить("УчетПодарочныхСертификатов2_5");
ВзаиморасчетыСервер.ФормаПриСозданииНаСервере(ЭтотОбъект);
ОповеститьОСозданииОбъектаРасчетов = Параметры.ОповеститьОСозданииОбъектаРасчетов;
Если ОповеститьОСозданииОбъектаРасчетов Тогда
ПараметрыВыбораВида = Новый Массив;
ПараметрыВыбораВида.Добавить(Новый ПараметрВыбора("Отбор.УчетПодарочныхСертификатов2_5", Истина));
ПараметрыВыбораВида.Добавить(Новый ПараметрВыбора("Отбор.Организация", Объект.Организация));
Элементы.Владелец.ПараметрыВыбора = Новый ФиксированныйМассив(ПараметрыВыбораВида);
КонецЕсли;
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Запись_ПодарочныеСертификаты"
ИЛИ ИмяСобытия = "Запись_РеализацияПодарочныхСертификатов"
ИЛИ ИмяСобытия = "Запись_ВозвратПодарочныхСертификатов"
ИЛИ ИмяСобытия = "Запись_ПриходныйКассовыйОрдер"
ИЛИ ИмяСобытия = "Запись_ПоступлениеБезналичныхДенежныхСредств"
ИЛИ ИмяСобытия = "Запись_РасходныйКассовыйОрдер"
ИЛИ ИмяСобытия = "Запись_СписаниеБезналичныхДенежныхСредств"
ИЛИ ИмяСобытия = "Запись_ОперацияПоПлатежнойКарте"
ИЛИ ИмяСобытия = "Запись_ЧекККМ"
ИЛИ ИмяСобытия = "Запись_ВзаимозачетЗадолженности" Тогда
ОбновитьТекущееСостояниеУстановитьВидимостьЭлементов();
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ПриСозданииЧтенииНаСервере();
МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_ПодарочныеСертификаты", , Объект.Ссылка);
МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если Не ЗавершениеРаботы
И ЗначениеЗаполнено(Объект.Ссылка)
И ОповеститьОСозданииОбъектаРасчетов Тогда
ВзаиморасчетыКлиент.ФормаПриЗакрытии(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ВладелецПриИзменении(Элемент)
ВладелецПриИзмененииНаСервере();
ПриСозданииЧтенииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВладелецПриИзмененииНаСервере()
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Владелец, "Организация,УчетПодарочныхСертификатов2_5");
Организация = ЗначенияРеквизитов.Организация;
УстановитьВидимостьЭлементаФормыОрганизация(ЗначенияРеквизитов.УчетПодарочныхСертификатов2_5);
КонецПроцедуры
&НаКлиенте
Процедура МагнитныйКодПриИзменении(Элемент)
СформироватьСписокВыбораДляНаименования(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ШтрихкодПриИзменении(Элемент)
СформироватьСписокВыбораДляНаименования(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Прочее
&НаСервере
Процедура ПриСозданииЧтенииНаСервере()
ОбновитьТекущееСостояниеУстановитьВидимостьЭлементов();
СформироватьСписокВыбораДляНаименования(ЭтотОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура СформироватьСписокВыбораДляНаименования(Форма)
Реквизиты = ОбщегоНазначенияУТВызовСервера.ЗначенияРеквизитовОбъекта(Форма.Объект.Владелец, "Валюта, Номинал");
СтрокаНаименования = Строка(Форма.Объект.Владелец)
+ ?(ЗначениеЗаполнено(Форма.Объект.Штрихкод), " " + Строка(Форма.Объект.Штрихкод), "")
+ ?(ЗначениеЗаполнено(Форма.Объект.МагнитныйКод), " " + Строка(Форма.Объект.МагнитныйКод), "");
Форма.Элементы.Наименование.СписокВыбора.Очистить();
Форма.Элементы.Наименование.СписокВыбора.Добавить(СтрокаНаименования);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьЭлементаФормыОрганизация(УчетПодарочныхСертификатов2_5)
Если Не ЗначениеЗаполнено(Объект.Владелец) Тогда
Возврат;
КонецЕсли;
Если УчетПодарочныхСертификатов2_5 Тогда
Элементы.Организация.Видимость = Истина;
Иначе
Элементы.Организация.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбновитьТекущееСостояниеУстановитьВидимостьЭлементов()
Данные = ПодарочныеСертификатыВызовСервера.ПолучитьДанныеПодарочногоСертификата(Объект.Ссылка, Объект.Владелец);
ДатаНачалаДействия = Данные.ДатаНачалаДействия;
ДатаОкончанияДействия = Данные.ДатаОкончанияДействия;
Организация = Данные.Организация;
Остаток = Данные.Остаток;
УчетПодарочныхСертификатов2_5 = Данные.УчетПодарочныхСертификатов2_5;
Номер = "";
Если ЗначениеЗаполнено(Данные.ДокументПродажи) Тогда
УстановитьПривилегированныйРежим(Истина);
ЗначенияРеквизитовДокументаПродажи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Данные.ДокументПродажи, "Номер,Дата");
УстановитьПривилегированныйРежим(Ложь);
Номер = ЗначенияРеквизитовДокументаПродажи.Номер;
КонецЕсли;
Статус = Данные.СтатусИзИсторииПодарочныхСертификатов;
Если ЗначениеЗаполнено(Объект.Владелец) И Данные.УчетПодарочныхСертификатов2_5 Тогда
ДанныеДляВычисленияСтатуса = ПодарочныеСертификатыКлиентСервер.ДанныеДляВычисленияСтатуса();
ЗаполнитьЗначенияСвойств(ДанныеДляВычисленияСтатуса, Данные);
Статус = ПодарочныеСертификатыКлиентСервер.ВычислитьСтатусПодарочногоСертификата2_5(ДанныеДляВычисленияСтатуса);
КонецЕсли;
Элементы.Штрихкод.Видимость = (Данные.ТипКарты = Перечисления.ТипыКарт.Штриховая ИЛИ Данные.ТипКарты = Перечисления.ТипыКарт.Смешанная);
Элементы.МагнитныйКод.Видимость = (Данные.ТипКарты = Перечисления.ТипыКарт.Магнитная ИЛИ Данные.ТипКарты = Перечисления.ТипыКарт.Смешанная);
УстановитьВидимостьЭлементаФормыОрганизация(Данные.УчетПодарочныхСертификатов2_5);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ЗначенияРеквизитовОбъекта.Вставить("Статус", Статус);
ЗначенияРеквизитовОбъекта.Вставить("УчетПодарочныхСертификатов2_5", УчетПодарочныхСертификатов2_5);
ЗаполнитьЗначенияСвойств(ЗначенияРеквизитовОбъекта, Объект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, ЗначенияРеквизитовОбъекта);
КонецПроцедуры
#КонецОбласти
#КонецОбласти