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