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