Имя: Пароль:
1C
1С v8
[УТ 10.3] Уточните по СрезуПоследних?
0 Маленький Вопросик
 
25.02.13
21:56
На определенный прошлый период срез цен последних как сделать?

ИщемЗакупочнуюЦену = Новый Запрос("ВЫБРАТЬ
                                         |    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупки
                                         |ИЗ
                                         |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
                                         |ГДЕ
                                         |    ЦеныНоменклатурыСрезПоследних.Период <= &Период
                                         |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
                                         |    И ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура");
1 elCust
 
25.02.13
22:03
Хм. А про параметры виртуальной таблицы не слышал?
2 MadHead
 
25.02.13
22:44
Сурово. Используй виртуальную таблицу ЦеныНоменклатурыСрезПоследних
3 Маленький Вопросик
 
25.02.13
22:58
ИщемЗакупочнуюЦену = Новый Запрос("ВЫБРАТЬ
                                         |    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупки
                                         |ИЗ
                                         |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
                                         |ГДЕ
                                         |    ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
                                         |    И ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура");
4 Маленький Вопросик
 
25.02.13
22:58
как бы скорости не прибавилось
5 Маленький Вопросик
 
25.02.13
23:00
ну кстати, работает...
6 MadHead
 
25.02.13
23:08
(4) Условия из блока "ГДЕ" перенеси в условие виртуальной таблицы.

РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период,ТипЦен = &ТипЦен И Номенклатура = &Номенклатура)
7 elCust
 
26.02.13
11:28
При использовании СредПоследних, зачем вообще используешь "ГДЕ" ? Все условия описывай в параметрах виртуальной таблицы

РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
2 + 2 = 3.9999999999999999999999999999999...