Есть такой вот запрос
Запрос.Текст = "ВЫБРАТЬ
|Док.Ссылка КАК Док,
|Док.Номенклатура,
|Док.Количество,
|Док.Сумма,
|ЦеныНоменклатуры.Цена КАК ЦенаПрайс
|ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Док
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(,ТипЦен = &ТипЦен) КАК ЦеныНоменклатуры
| ПО
| ЦеныНоменклатуры.Номенклатура = Док.Номенклатура
|ГДЕ Док.Ссылка.Дата >= &НачДата и Док.Ссылка.Дата <= &КонДата"
Но он выбирает цены на последнюю дату. А нужно чтобы у каждого документа отображал цену из прайса НА ДАТУ ЭТОГО ДОКУМЕНТА
&ВашаМегаСуперДата - это параметр. Я не могу его задать = '31.08.2012'
Мне надо - чтобы выводилась цена НА ДАТУ КАЖДОГО ДОКА в запросе. А не на дату отчета
Взять всю таблицу цен с периодом регистрации
Взять таблицу реализаций своих
Соединить таблицу цен с таблицой реализаций по условию - период из таблицы цен меньше даты реализации.
Потом нужно у получившейся таблицы взять максимальный период регистрации цен для каждой позиции номенклатуры из реализации.
И повторно соединить со всей таблицей цен - теперь уже зная для каждой пары реализация+номенклатура тот период, когда была зарегистрирована цена.
Спасибо - я просто добавил условие
| ПО
| ЦеныНоменклатуры.Период <= Док.Ссылка.Дата и ЦеныНоменклатуры.Номенклатура = Док.Номенклатура
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший