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