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