Имя: Пароль:
1C
1С v8
В запросе ошибка при обращении к реквизиту номенклатуры
0 И Р
 
28.11.18
11:18
Здравствуйте Уважаемые форумчане. Казалось бы задача крайне простая, но не понимаю в чём проблема.
В конфигурации Справочнику Номенклатуры добавил реквизит:
"ЦенаВыгрузкиНаСайт"    с типом "СправочникСсылка.ВидыЦен"

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



Выкидывается ошибка:
Поле не найдено "Справочник.Номенклатура.ЦенаВыгрузкиНаСайт"
1 1Сергей
 
28.11.18
11:19
ЦенаВыгрузкиНаСайт это предопределенный элемент или что?
2 seevkik
 
28.11.18
11:21
Может нормально сделать соединение?

ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка И ЦеныНоменклатурыСрезПоследних.ВидЦены = Справочник.Номенклатура.ЦенаВыгрузкиНаСайт)
3 lodger
 
28.11.18
11:21
ошибка в том, что вы условие связи в параметры виртуальной таблицы засунули.
4 seevkik
 
28.11.18
11:22
(2) ошибся: ЦеныНоменклатурыСрезПоследних.ВидЦены = СпрНоменклатура.ЦенаВыгрузкиНаСайт
5 И Р
 
28.11.18
11:22
(1) Это реквизит номенклатуры, который я добавил в конфигурацию.
6 hhhh
 
28.11.18
11:23
(2)+

ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка И ЦеныНоменклатурыСрезПоследних.ВидЦены = СпрНоменклатура.ЦенаВыгрузкиНаСайт)
7 И Р
 
28.11.18
11:28
Поле не найдено "СпрНоменклатура.ЦенаВыгрузкиНаСайт"


        Текст =
        "ВЫБРАТЬ
        |    СпрНоменклатура.Ссылка,
        |    СпрНоменклатура.ЭтоГруппа,
        |    СпрНоменклатура.Код,
        |    СпрНоменклатура.Наименование,
        |    СпрНоменклатура.НаименованиеПолное,
        |    СпрНоменклатура.Описание КАК Комментарий,
        |    СпрНоменклатура.Артикул,
        |    СпрНоменклатура.Производитель,
        |    СпрНоменклатура.ДополнительныеРеквизиты.(
        |        Ссылка,
        |        НомерСтроки,
        |        Свойство,
        |        Значение,
        |        ТекстоваяСтрока
        |    ),
        |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) КАК Цена
        |ИЗ
        |    Справочник.Номенклатура КАК СпрНоменклатура
//        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекДата, ВидЦены = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекДата, ВидЦены = СпрНоменклатура.ЦенаВыгрузкиНаСайт) КАК ЦеныНоменклатурыСрезПоследних
        |        ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка И ЦеныНоменклатурыСрезПоследних.ВидЦены = СпрНоменклатура.ЦенаВыгрузкиНаСайт)
        |ГДЕ
        |    СпрНоменклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)";
8 hhhh
 
28.11.18
11:33
(7) значит вы не в реквизиты справочника добавили. Покажите на скрине, куда добавили.
9 1Сергей
 
28.11.18
11:33
(7) вот настырный. Сказали же как делать, нет он по своему
10 seevkik
 
28.11.18
11:34
(7) ВидЦены = СпрНоменклатура.ЦенаВыгрузкиНаСайт лишнее
11 lodger
 
28.11.18
11:34
(8) (7)

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

заменить на

РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекДата,)
12 seevkik
 
28.11.18
11:36
(10) Если ТС со связи этот кусок уберет будет грустно
13 И Р
 
28.11.18
11:48
14 И Р
 
28.11.18
11:52
(12) (10) (9) Спасибо огромное!! Так работает, но не могу понять, в чём проблема с реквизитом, почему он не находится как
Справочник.Номенклатура.ЦенаВыгрузкиНаСайт
?
15 seevkik
 
28.11.18
11:56
16 1Сергей
 
28.11.18
11:56
(14) а с чего он должен работать?
Ты соединяешь обычную таблицу с виртуальной и пытаешь передать в параметр виртуальной колонку реальной
17 И Р
 
28.11.18
12:07
(16) (15)
Спасибо господа! Читал про эти особенности года полтора назад, а практики не было, забыл.