Имя: Пароль:
1C
1С v8
1с8.1 УТ 10.3 Не могу придумать как запросом получить цену до проведения докта
0 Uragan_a
 
27.07.14
16:41
ВЫБРАТЬ
    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен + 1 КАК НомерСтроки,
    УстановкаЦенНоменклатуры.Номенклатура,
    УстановкаЦенНоменклатуры.Номенклатура.НаименованиеПолное КАК Товар,
    УстановкаЦенНоменклатуры.ХарактеристикаНоменклатуры КАК Характеристика,
    NULL КАК Серия,
    УстановкаЦенНоменклатуры.ТипЦен КАК ТипЦен,
    УстановкаЦенНоменклатуры.Цена,
    УстановкаЦенНоменклатуры.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияПредставление,
    УстановкаЦенНоменклатуры.Валюта,
    УстановкаЦенНоменклатуры.Валюта.Представление КАК ВалютаПредставление,
    УстановкаЦенНоменклатуры.ПроцентСкидкиНаценки,
    ЦеныНоменклатуры.Цена КАК Цена1
    ИЗ
    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатуры
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
        ПО УстановкаЦенНоменклатуры.Номенклатура = ЦеныНоменклатуры.Номенклатура
            И УстановкаЦенНоменклатуры.ТипЦен = ЦеныНоменклатуры.ТипЦен
            И УстановкаЦенНоменклатуры.ХарактеристикаНоменклатуры = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
            И УстановкаЦенНоменклатуры.ЕдиницаИзмерения = ЦеныНоменклатуры.ЕдиницаИзмерения
            И УстановкаЦенНоменклатуры.Валюта = ЦеныНоменклатуры.Валюта
ГДЕ
    УстановкаЦенНоменклатуры.Ссылка = &ТекущийДокумент


УПОРЯДОЧИТЬ ПО
    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен,
    ТипЦен,
    Период УБЫВ
ИТОГИ ПО
    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен
1 Uragan_a
 
27.07.14
16:42
Выдает все записи из РС Цен, а нужно только предпоследнюю
2 Бешеная Нога
 
27.07.14
16:54
мсье не слышал про СрезПоследних и Граница.Исключая?
3 Rlogin
 
27.07.14
16:57
Не соединяй объекты и Регистры в одоном запросе
4 Бешеная Нога
 
27.07.14
17:06
(3) таки почему?
5 Rlogin
 
27.07.14
17:12
(4) К решению данной проблемы не относится, а в целом влияет на скорость )
6 Uragan_a
 
28.07.14
02:57
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.УстановитьПараметр("МомВремени", ЭтотОбъект.Ссылка.МоментВремени());

    Запрос.Текст =
    "ВЫБРАТЬ
    |    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен + 1 КАК НомерСтроки,
    |    УстановкаЦенНоменклатуры.Номенклатура,
    |    УстановкаЦенНоменклатуры.Номенклатура.НаименованиеПолное КАК Товар,
    |    УстановкаЦенНоменклатуры.ХарактеристикаНоменклатуры КАК Характеристика,
    |    NULL КАК Серия,
    |    УстановкаЦенНоменклатуры.ТипЦен КАК ТипЦен,
    |    УстановкаЦенНоменклатуры.Цена,
    |    УстановкаЦенНоменклатуры.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияПредставление,
    |    УстановкаЦенНоменклатуры.Валюта,
    |    УстановкаЦенНоменклатуры.Валюта.Представление КАК ВалютаПредставление,
    |    УстановкаЦенНоменклатуры.ПроцентСкидкиНаценки,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура1,
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен1,
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаПредыдущая,
    |    ЦеныНоменклатурыСрезПоследних.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки1,
    |    ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта1,
    |    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
    |ИЗ
    |    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатуры
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&МомВремени, ) КАК ЦеныНоменклатурыСрезПоследних
    |        ПО УстановкаЦенНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |            И УстановкаЦенНоменклатуры.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
    |            И УстановкаЦенНоменклатуры.Валюта = ЦеныНоменклатурыСрезПоследних.Валюта
    |            И УстановкаЦенНоменклатуры.ЕдиницаИзмерения = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
    |ГДЕ
    |    УстановкаЦенНоменклатуры.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен,
    |    ТипЦен
    |ИТОГИ ПО
    |    УстановкаЦенНоменклатуры.ИндексСтрокиТаблицыЦен";
7 Uragan_a
 
28.07.14
02:57
не работает(
8 Uragan_a
 
28.07.14
03:03
ГраницаПериода = Новый Граница(ЭтотОбъект.Ссылка.МоментВремени(), ВидГраницы.Исключая);
    Запрос.УстановитьПараметр("МомВремени", ГраницаПериода);
9 Uragan_a
 
28.07.14
03:04
и так не хочет
10 Uragan_a
 
28.07.14
03:04
выводит срез последних и все
11 alle68
 
28.07.14
03:24
(10) Период - это дата, а не МВ. Время надо сдвигать или движения документа удалить предварительно.
12 MiniMuk
 
28.07.14
03:42
(3) А как надо, на сколько отличается производительность? Как делались замеры?
13 Uragan_a
 
28.07.14
04:24
(11), понял. спс.
Получается МВ нельзя использовать в РС?
14 Rlogin
 
28.07.14
07:46
ЭтотОбъект.Ссылка.МоментВремени() - Ты обращаешься к ссылке, т.е. к старой дате документа. Если в доке поменяли дату, то в запросе будет старая дата.

Запрос к регистру сведений выбирает все записи по всей номенклатуре. Так нельзя. Нагрузка на сервер большаяю
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс