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