Назначения / Форма выбора / Модуль формы

файл

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

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

	СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаОстатков

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

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

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

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

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

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

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

//++ НЕ УТ

&НаСервере
Процедура ЗаполнитьТаблицуОстатков()
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	СтруктураПараметров = Новый Структура("Организация, Подразделение, ДокументВозврата, Номенклатура, Характеристика");
	ЗаполнитьЗначенияСвойств(СтруктураПараметров, ЭтаФорма, "Организация, Подразделение, ДокументВозврата, Номенклатура, Характеристика");
	
	УстановитьПривилегированныйРежим(Истина);
	ЗапасыСервер.ТаблицаОстатковМатериаловВПодразделении(МенеджерВременныхТаблиц, СтруктураПараметров);
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаОстатков.Назначение КАК Назначение,
	|	ТаблицаОстатков.Номенклатура КАК Номенклатура,
	|	ТаблицаОстатков.Характеристика КАК Характеристика,
	|	ТаблицаОстатков.Количество КАК Количество
	|ИЗ
	|	ТаблицаОстатков КАК ТаблицаОстатков
	|ГДЕ
	|	ТаблицаОстатков.Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)";
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	
	ТаблицаОстатков.Загрузить(Запрос.Выполнить().Выгрузить());
	
КонецПроцедуры

//-- НЕ УТ

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

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