|
0
Эмбеддер
26.03.13
✎
14:11
|
В КА стандартный отчет "продажи" хочу добавить цену товара по типам цен, делаю такое соединение
// Здесь мы определяем даты, откуда будем брать цены
ЛЕВОЕ СОЕДИНЕНИЕ
(
ВЫБРАТЬ
Максимум(РегЦеныВнутр.Период) МаксПериод,
НАЧАЛОПЕРИОДА(ОтборПродажи.Регистратор.Дата, День) ПериодДок,
РегЦеныВнутр.Номенклатура Номенклатура,
РегЦеныВнутр.ТипЦен,
РегЦеныВнутр.ХарактеристикаНоменклатуры
ИЗ
РегистрСведений.ЦеныНоменклатуры РегЦеныВнутр
СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {Номенклатура }) КАК ОтборПродажи
ПО РегЦеныВнутр.Номенклатура = ОтборПродажи.Номенклатура
И РегЦеныВнутр.ХарактеристикаНоменклатуры = ОтборПродажи.ХарактеристикаНоменклатуры
И ВЫБОР КОГДА ОтборПродажи.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА ВЫРАЗИТЬ(ОтборПродажи.ДокументПродажи КАК Документ.РеализацияТоваровУслуг).ТипЦен ИНАЧЕ Неопределено КОНЕЦ = РегЦеныВнутр.ТипЦен
И РегЦеныВнутр.Период<=НАЧАЛОПЕРИОДА(ОтборПродажи.Регистратор.Дата, День)
СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(ОтборПродажи.Регистратор.Дата, День),
РегЦеныВнутр.Номенклатура,
РегЦеныВнутр.ТипЦен,
РегЦеныВнутр.ХарактеристикаНоменклатуры
) ЗапросЦен
ПО
ИсточникДанных.Номенклатура=ЗапросЦен.Номенклатура
И ВЫБОР КОГДА ИсточникДанных.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА ВЫРАЗИТЬ(ИсточникДанных.ДокументПродажи КАК Документ.РеализацияТоваровУслуг).ТипЦен ИНАЧЕ Неопределено КОНЕЦ = ЗапросЦен.ТипЦен
И ИсточникДанных.ХарактеристикаНоменклатуры=ЗапросЦен.ХарактеристикаНоменклатуры
И ЗапросЦен.ПериодДок=НАЧАЛОПЕРИОДА(ИсточникДанных.Регистратор.Дата, День)
// а здесь собственно сами цены на эти даты
ЛЕВОЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Период,
ТипЦен,
Номенклатура,
ХарактеристикаНоменклатуры,
Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры
) РегЦены
ПО
РегЦены.Номенклатура = ЗапросЦен.Номенклатура
И РегЦены.ХарактеристикаНоменклатуры = ЗапросЦен.ХарактеристикаНоменклатуры
И РегЦены.ТипЦен = ЗапросЦен.ТипЦен
И РегЦены.Период=ЗапросЦен.МаксПериод
если просто выполняю запрос, все соединяется нормально. а в отчете продаж записи множатся. подозреваю, что это происходит из-за того, что СКД выкидывает какие-то неиспользуемые поля, они уходят из условия и записи множатся. что надо сделать с фигурными скобками, чтобы все условия в отборе сохранились (их не выкинуло СКД)?
|
|
|
2
Эмбеддер
26.03.13
✎
14:24
|
(1) например, в 2-х таблицах (продажи и цены) по 10 записей, везде номенклатура+характеристика номенклатуры+период уникальные (различные). и соединяем их по условию номенклатура=номенклатура, характеристика=характеристика, период=период, то при равенстве всех наборов 10 записей так и останется. но если выкинуть какие-то проверки, что делает СКД, оставив допустим только номенклатура=номенклатура, то записей станет больше 10, максимум 10*10=100 штук
|
|