Установка квот ассортимента / Модуль объекта

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

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

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	Если ЭтоНовый() Тогда
		ИнициализироватьДокумент(ДанныеЗаполнения);
	КонецЕсли;
КонецПроцедуры

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

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

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

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

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

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

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

#Область ИнициализацияИЗаполнение

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

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

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

#КонецЕсли

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