![]() |
|
Запрос для отчета по нескольким типам цен | ☑ | ||
---|---|---|---|---|
0
asder117
14.02.19
✎
14:06
|
Уважаемые коллеги. доброго времени суток. Пытаюсь разобраться с универсальным отчетом и так думаю без Вашей помощи не обойтись
Есть такой запрос, который получает отчет по указанному типу цен. Может кто подскажет что можно изменить, чтобы отчете было видно несколько типов цен. УниверсальныйОтчет.ДобавитьПоказатель("КоличествоОстаток", "в ед. хранения", Истина, "ЧЦ=15; ЧДЦ=3", "Остаток", "Остаток"); УниверсальныйОтчет.ДобавитьПоказатель("РезервОстаток", "в ед. хранения", Истина, "ЧЦ=15; ЧДЦ=3", "Резерв", "Резерв"); УниверсальныйОтчет.ДобавитьПоказатель("СтоимостьРезерв", "стоимость", Истина, "ЧЦ=15; ЧДЦ=3", "Резерв", "Резерв"); УниверсальныйОтчет.ДобавитьПоказатель("СвободныйОстаток", "в ед. хранения", Истина, "ЧЦ=15; ЧДЦ=3", "СвободныйОстаток", "Свободный остаток"); УниверсальныйОтчет.ДобавитьПоказатель("СтоимостьСвОстаток", "стоимость", Истина, "ЧЦ=15; ЧДЦ=3", "СвободныйОстаток", "Свободный остаток"); УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдОстаток", "в базовых ед.", Истина, "ЧЦ=15; ЧДЦ=3", "Остаток", "Остаток"); УниверсальныйОтчет.ДобавитьПоказатель("ТипЦенЦена", "Цена", Истина, "ЧЦ=15; ЧДЦ=2", "Цена", "Цена ("+мВалютаУправленческогоУчета+")"); УниверсальныйОтчет.ДобавитьПоказатель("ТипЦенСтоимость", "Стоимость ("+мВалютаУправленческогоУчета+")", Истина, "ЧЦ=15; ЧДЦ=2", "Остаток", "Остаток"); ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаРегистра.Склад КАК Склад, | ТаблицаРегистра.Номенклатура КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕдОстаток, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенЦена, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенСтоимость, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТоварыВРезервеНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТоварыВРезервеНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК СтоимостьРезерв, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА (ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ (ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК СтоимостьСвОстаток, | ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК РезервОстаток, | ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК СвободныйОстаток |{ВЫБРАТЬ | Склад.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | КоличествоОстаток, | КоличествоБазовыхЕдОстаток, | ТипЦенЦена, | ТипЦенСтоимость, | РезервОстаток, | СвободныйОстаток, | СтоимостьРезерв, | СвободныйОстаток, | СтоимостьСвОстаток} |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаУпрУчета) КАК УпрВалюты, | РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТаблицаРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &БазовыйТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатуры.Номенклатура | И ТаблицаРегистра.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаКон, | ТипЦен = &БазовыйТипЦен | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыБезХарактеристик | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатурыБезХарактеристик.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследних | ПО (ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследнихБезХарактеристик | ПО (ЦеныНоменклатурыБезХарактеристик.Валюта = КурсыВалютСрезПоследнихБезХарактеристик.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВРезервеНаСкладахОстатки | ПО ТаблицаРегистра.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура |{ГДЕ | ТаблицаРегистра.Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЕСТЬNULL(ЦеныНоменклатуры.Цена, ЦеныНоменклатурыБезХарактеристик.Цена) / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} |{УПОРЯДОЧИТЬ ПО | Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} |ИТОГИ | СУММА(КоличествоОстаток), | СУММА(КоличествоБазовыхЕдОстаток), | МАКСИМУМ(ТипЦенЦена), | СУММА(ТипЦенСтоимость), | СУММА(СтоимостьРезерв), | СУММА(СтоимостьСвОстаток), | СУММА(РезервОстаток), | СУММА(СвободныйОстаток) |ПО | ОБЩИЕ |{ИТОГИ ПО | Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}"; Одним из вариантов решения я вижу объединение одинаковых запросов. Но так думаю что это не есть гуд. Заранее спасибо за помощь. |
|||
1
sieben
14.02.19
✎
14:44
|
... Вот вам портянка, её делал не я, разбирайтесь.
Надо убрать условие по виду цены в срезе, вытащить поле в выборку, и учесть его в итогах. |
|||
2
asder117
14.02.19
✎
15:04
|
(1) Ну звиняйте конечно. Часть делал не я,а часть дописывал я сам.
А поле какое лучше вытащить? |
|||
3
sieben
14.02.19
✎
15:15
|
(2) Которое в срезе цен номенклатуры отвечает за тип.
|
|||
4
asder117
15.02.19
✎
11:33
|
(3) Попробовал. У меня получается одна колонка по одному типу цены
а мне надо получить к примеру если 3 цены то 3 колонки /цена тип1/цена тип2/цена тип3/ А у меня получилась одна колонка куда вывалились все типы цен и портянка |
|||
5
asder117
15.02.19
✎
11:34
|
сам запрос тут
<CODE> ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаРегистра.Склад КАК Склад, | ТаблицаРегистра.Номенклатура КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕдОстаток, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенЦена, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК ТипЦенСтоимость, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТоварыВРезервеНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТоварыВРезервеНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК СтоимостьРезерв, | ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА (ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ (ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0)) * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ КАК СтоимостьСвОстаток, | ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК РезервОстаток, | ЕСТЬNULL(ТаблицаРегистра.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК СвободныйОстаток, | ЦеныНоменклатуры.ТипЦен КАК ТипЦен |{ВЫБРАТЬ | Склад.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ТипЦен.*, | КоличествоОстаток, | КоличествоБазовыхЕдОстаток, | ТипЦенЦена, | ТипЦенСтоимость, | РезервОстаток, | СвободныйОстаток, | СтоимостьРезерв, | СвободныйОстаток, | СтоимостьСвОстаток} |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаУпрУчета) КАК УпрВалюты, | РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТаблицаРегистра | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатуры.Номенклатура | И ТаблицаРегистра.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыБезХарактеристик | ПО ТаблицаРегистра.Номенклатура = ЦеныНоменклатурыБезХарактеристик.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследних | ПО (ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследнихБезХарактеристик | ПО (ЦеныНоменклатурыБезХарактеристик.Валюта = КурсыВалютСрезПоследнихБезХарактеристик.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВРезервеНаСкладахОстатки | ПО ТаблицаРегистра.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура |{ГДЕ | ТаблицаРегистра.Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ТаблицаРегистра.КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЕСТЬNULL(ЦеныНоменклатуры.Цена, ЦеныНоменклатурыБезХарактеристик.Цена) / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} |{УПОРЯДОЧИТЬ ПО | Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | КоличествоОстаток КАК КоличествоОстаток, | (ТаблицаРегистра.КоличествоОстаток * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕдОстаток, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ЦеныНоменклатурыБезХарактеристик.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ЦеныНоменклатуры.Цена * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенЦена, | (ВЫБОР | КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL | ТОГДА ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатурыБезХарактеристик.Цена / ЦеныНоменклатурыБезХарактеристик.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследнихБезХарактеристик.Курс / КурсыВалютСрезПоследнихБезХарактеристик.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | ИНАЧЕ ТаблицаРегистра.КоличествоОстаток * (ЦеныНоменклатуры.Цена / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент) * ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен | КОНЕЦ) КАК ТипЦенСтоимость} |ИТОГИ | СУММА(КоличествоОстаток), | СУММА(КоличествоБазовыхЕдОстаток), | МАКСИМУМ(ТипЦенЦена), | СУММА(ТипЦенСтоимость), | СУММА(СтоимостьРезерв), | СУММА(СтоимостьСвОстаток), | СУММА(РезервОстаток), | СУММА(СвободныйОстаток) |ПО | ОБЩИЕ, | ТипЦен |{ИТОГИ ПО | Склад.* КАК Склад, | ТаблицаРегистра.Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}"; </CODE> |
|||
6
asder117
15.02.19
✎
12:29
|
(3) строю через универсальный
|
|||
7
FIXXXL
15.02.19
✎
15:13
|
(6) нужна группировка по ВидЦен, из показателей это убрать, в отчет добавить группировку колонок по ВидЦен
|
|||
8
asder117
15.02.19
✎
15:48
|
(7) Спасибо. А сам запрос получается правильный?
|
|||
9
FIXXXL
15.02.19
✎
16:16
|
(8) я его и не смотрел
сорри, своих "портянок" хватает... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |