0
Обфускация
28.05.18
✎
08:59
|
База Далион Тренд, что-то типа розницы. Сделала запрос, связав остатки и цены, основа отчета получилась, выводятся номенклатура, точки (склады), остатки, поставщик. Но не выводятся цены. Для вывода цен надо подставлять вид цены, а он разный в зависимости от склада. У склада и у вида цен есть торговый объект, связать надо как-то по нему. Как это лучше сделать. Запрос без этой связи выглядит так.
ВЫБРАТЬ РАЗЛИЧНЫЕ
ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
ОстаткиНоменклатурыОстатки.Номенклатура.Наименование КАК Номенклатура,
ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры.Наименование,
ОстаткиНоменклатурыОстатки.Номенклатура.асОсновнойПоставщик.Наименование КАК поставщик,
ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект,
ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект.ЦФО,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
ОстаткиНоменклатурыОстатки.Склад.Родитель
ИЗ
РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&период, Цена > 0) КАК ЦеныНоменклатурыСрезПоследних
ПО ОстаткиНоменклатурыОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ОстаткиНоменклатурыОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
И ОстаткиНоменклатурыОстатки.Склад.ТорговыйОбъект = ЦеныНоменклатурыСрезПоследних.КатегорияЦен.ТорговыйОбъект
ГДЕ
ОстаткиНоменклатурыОстатки.КоличествоОстаток > 0
УПОРЯДОЧИТЬ ПО
Номенклатура
|
|
1
Сияющий в темноте
28.05.18
✎
09:17
|
Во первых,неплохо бы отбор делать пл виртуальным таблицам,если это можно.
Во вторых,через множество точек ходить нехорошо,так как это скрытые левые соединения.
Если мы остатки привязываем к складу,то тип цены туда лучше тоже привязать,просто сделать отдельную таблицу в отчете,где хранить склад и его вид цен,а потом уже ее подставлять в остатки и запрос цен.
|
|