Торговые точки / Форма снятия с учета / Модуль формы

файл

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

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

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	Если ТипЗнч(Источник) = Тип("ДокументСсылка.УведомлениеОСпецрежимахНалогообложения")
		И (ИмяСобытия = "Создание_ФормаТС1" ИЛИ ИмяСобытия = "Создание_ФормаТС2")
		И Параметр = ТорговаяТочка Тогда
		
		Если КлючНазначенияИспользования = "СнятьСУчетаИзФормыСписка" Тогда
			ЗаполнитьУведомлениеВМенеджереЗаписи(Источник);
		КонецЕсли;
		Закрыть();
	КонецЕсли;
	
КонецПроцедуры

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

#Область ОбработчикиКомандФормы

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

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

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

&НаСервере
Функция СнятьСУчетаНаСервере()
	
	СоздатьЗаписьОСнятииТорговойТочкиСУчета();
	
	Если ТорговыйСбор.ЭтоПоследняяТорговаяТочкаОрганизации(ТорговаяТочка, Организация, ДатаСнятияСУчета) Тогда
		ПараметрыФормы = Справочники.ТорговыеТочки.ПараметрыФормыТС2(ТорговаяТочка, ДатаСнятияСУчета);
		ИмяФормыУведомления = "Отчет.РегламентированноеУведомлениеТС2.Форма.Форма2015_1";
	Иначе
		ПараметрыФормы = Справочники.ТорговыеТочки.ПараметрыФормыТС1(ТорговаяТочка, ДатаСнятияСУчета);
		ИмяФормыУведомления = ПараметрыФормы.ИмяФормыУведомления;
	КонецЕсли;
	
	Результат = Новый Структура("ИмяФормыУведомления, ПараметрыФормы", ИмяФормыУведомления, ПараметрыФормы);
	Возврат Результат;
	
КонецФункции

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

&НаСервере
Процедура ЗаполнитьУведомлениеВМенеджереЗаписи(Источник)
	
	МенеджерЗаписи = РеквизитФормыВЗначение("МенеджерЗаписиПараметровТорговойТочки");
	МенеджерЗаписи.Уведомление = Источник;
	МенеджерЗаписи.Записать();
	
КонецПроцедуры

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

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