Начисление и списание бонусных баллов / Модуль объекта

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

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

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

Процедура ПриЗаписи(Отказ)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	ПроведениеДокументов.ПриЗаписиДокумента(ЭтотОбъект, Отказ);
	
КонецПроцедуры

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

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	
	ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);
	
КонецПроцедуры

Процедура ОбработкаУдаленияПроведения(Отказ)
	
	ПроведениеДокументов.ОбработкаУдаленияПроведенияДокумента(ЭтотОбъект, Отказ);
	
КонецПроцедуры

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

#КонецЕсли

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