Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка в запросе. Соединения

Ошибка в запросе. Соединения
Я
   MAPATNK2
 
19.04.21 - 15:11
Всем доброго дня. УТ 11.4.
Делаю запрос в конструкторе.
1) При сохранении текущего запроса, лезет ошибка "Неоднозначое поле "Номенклатура.ВидНоменклатуры В(&МассивВидов)"". Но если я удаляю из выборки регистр штрих кодов - ошибка исчезает.  
2) При попытке добавить соединение Штрих кода с характеристикой лезет ошибка и говорит, что это соединение противоречит второму (Где идет соединение с номенклатурой). Характеристики может и не быть, поэтому соединение с номенклатурой нужно.

ВЫБРАТЬ
    &ИмяОрганизации КАК ИмяОрганизации,
    &ИННОрганизации КАК ИННОрганизации,
    ВЫБОР
        КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL
            ТОГДА Номенклатура.Наименование
        ИНАЧЕ Номенклатура.Наименование + " " + ХарактеристикиНоменклатуры.Наименование
    КОНЕЦ КАК Наименование,
    ВЫБОР
        КОГДА Номенклатура.ВидНоменклатуры.Наименование = "Наборы и единичные позиции парфюмерии"
            ТОГДА ""
        ИНАЧЕ 3303
    КОНЕЦ КАК КодТовараОбрез,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL
                    ТОГДА Номенклатура.Наименование
                ИНАЧЕ Номенклатура.Наименование + " " + ХарактеристикиНоменклатуры.Наименование
            КОНЕЦ ПОДОБНО "%духи%"
            ТОГДА 3303001000
        ИНАЧЕ ВЫБОР
                КОГДА Номенклатура.ВидНоменклатуры.Наименование = "Наборы и единичные позиции парфюмерии"
                    ТОГДА ""
                ИНАЧЕ 3303009000
            КОНЕЦ
    КОНЕЦ КАК КодТовара
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО ШтрихкодыНоменклатуры.Номенклатура = Номенклатура.Ссылка
ГДЕ
    Номенклатура.ВидНоменклатуры В(&МассивВидов)
   acht
 
1 - 19.04.21 - 15:17
Измени псевдоним "Номенклатура" на "СправочникНоменклатура". Подумай, почему это мешает.
   hhhh
 
2 - 19.04.21 - 15:28
(0) ну вот же
    Справочник.Номенклатура КАК Номенклатура

зачем таблицу назвал Номенклатура? И ежу понятно, что там уже есть Номенклатура.
   MAPATNK2
 
3 - 19.04.21 - 15:32
(1) (2) Справочник.Номенклатура КАК Номенклатура я не называл. Он стандартно так называется.
   программистище
 
4 - 19.04.21 - 15:33
(2) так конструктор автоматом так пихает, в 1с не удосужились делать префикс наименованиям таблиц в запросе
   программистище
 
5 - 19.04.21 - 15:34
(3) замени КАК Номенклатура на КАК СправочникНоменклатура
и все будет работать
   MAPATNK2
 
6 - 19.04.21 - 15:37
(5) (2) (1) Спасибо, заменил, работает. Но туго доходит суть ошибки.
   1Сергей
 
7 - 19.04.21 - 15:42
(6) для интерпретатора Номенклатура - это и Таблица и Реквизит одновременно. Он путается
   MAPATNK2
 
8 - 19.04.21 - 15:43
(7) Спасибо, понял
   MAPATNK2
 
9 - 19.04.21 - 15:45
А характристику как вставить в условие запроса?
   MAPATNK2
 
10 - 19.04.21 - 15:45
Не могу в связь добавить характристику с реигстром
   1Сергей
 
11 - 19.04.21 - 15:47
(10) у тебя регистр связан со справочником, а не с характеристикой
//Вместо

ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО ШтрихкодыНоменклатуры.Номенклатура = Номенклатура.Ссылка

//Пиши

ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
            ПО ШтрихкодыНоменклатуры.Номенклатура = Номенклатура.Ссылка
        ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
   MAPATNK2
 
12 - 19.04.21 - 15:49
(11) но характеритики может и не быть у номенклатуры
   1Сергей
 
13 - 19.04.21 - 15:50
(12) Тогда делай связь
Справочник
    Регистр
        Характеристика

или хз какая тебе нужна логика тогда
   MAPATNK2
 
14 - 19.04.21 - 15:57
Какая логика? Есть справочник номенклатура и справочник характеристика. Есть регистр Штрих кодов. Дак вот я хочу связать реигстр штрих кодов и с номенклатурой и с характеритсикой. Чтобы он мне выдавал штрих код по номекналутре и характеристике, а если характеристики нет, то только по Номенклатуре.
   1Сергей
 
15 - 19.04.21 - 16:15
я бы временную таблицу использовал, или вложенный запрос
   MAPATNK2
 
16 - 19.04.21 - 16:19
(15) та же ошибка лезет
   MAPATNK2
 
17 - 19.04.21 - 16:21
(15) (15) Попробовать 2 вложенных запроса. Первый со связью с Характеристикой, 2-ой со связью с Номенклатурой. Потом уже Выбором вытаскивать тот или инойштрих код с проверкой на Характеристика Eсть NUll

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.