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