Имя: Пароль:
1C
1С v8
Как использовать значение перечисления в запросе?
0 prazdnik4334
 
10.11.12
18:55
Подскажите, как можно использовать значение перечисления в тексте запроса.
Текст:
Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  (?)|     Перечисления.ТипыЦен.Закупочная КАК ТипЦен,
                  |    ПриходнаяНакладнаяТовары.Номенклатура,
                  |    ПриходнаяНакладнаяТовары.Ссылка КАК Регистратор,
                  |    ПриходнаяНакладнаяТовары.Ссылка.Валюта,
                  |    ПриходнаяНакладнаяТовары.Цена
                  |ИЗ
                  |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                  |ГДЕ
                  |    ПриходнаяНакладнаяТовары.Ссылка = &Ссылка";
                 
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Движения.ЦеныНоменклатуры.Загрузить(Запрос.Выполнить().Выгрузить());
   Движения.ЦеныНоменклатуры.Записать();
Ошибка в (?).
1 vicof
 
10.11.12
18:57
Значение(Перечисление.ТипыЦен.Закупочная)
2 rphosts
 
10.11.12
18:57
ну типа

ГДЕ ПриходнаяНакладнаяТовары.ТипТовара = Значение(Перечсление.ТипыТоваров.Тип1)";
3 prazdnik4334
 
10.11.12
21:32
(1) Значение () я пробовал, тоже ругается
4 zulu_mix
 
10.11.12
21:34
(3) потому что надо не перечисленииЯ а перечислениЕ
5 GANR
 
10.11.12
21:42
Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |     ЗНАЧЕНИЕ(ПеречислениЕ.ТипыЦен.Закупочная) КАК ТипЦен,
                  |    ПриходнаяНакладнаяТовары.Номенклатура,
                  |    ПриходнаяНакладнаяТовары.Ссылка КАК Регистратор,
                  |    ПриходнаяНакладнаяТовары.Ссылка.Валюта,
                  |    ПриходнаяНакладнаяТовары.Цена
                  |ИЗ
                  |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                  |ГДЕ
                  |    ПриходнаяНакладнаяТовары.Ссылка = &Ссылка";
                 
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Движения.ЦеныНоменклатуры.Загрузить(Запрос.Выполнить().Выгрузить());
   Движения.ЦеныНоменклатуры.Записать();

или

Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |     &ТипЦен КАК ТипЦен,
                  |    ПриходнаяНакладнаяТовары.Номенклатура,
                  |    ПриходнаяНакладнаяТовары.Ссылка КАК Регистратор,
                  |    ПриходнаяНакладнаяТовары.Ссылка.Валюта,
                  |    ПриходнаяНакладнаяТовары.Цена
                  |ИЗ
                  |    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                  |ГДЕ
                  |    ПриходнаяНакладнаяТовары.Ссылка = &Ссылка";
                 
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Запрос.УстановитьПараметр("ТипЦен", ПеречислениЯ.ТипыЦен.Закупочная);
   Движения.ЦеныНоменклатуры.Загрузить(Запрос.Выполнить().Выгрузить());
   Движения.ЦеныНоменклатуры.Записать();

А почему (0) должнО работать - непонятно.
6 France
 
10.11.12
22:43
а в чем смысл перечисления в разделе полей запроса?
7 prazdnik4334
 
10.11.12
22:54
Спасибо, заработало.
8 France
 
10.11.12
22:58
усе, вопрос снят.. не обратил внимания, что идет запись в регистр