Имя: Пароль:
1C
 
Выборка технических характеристик номенклатуры
0 NIGHTHUNTER
 
12.01.21
07:11
Есть документ. В табличную часть которого набита номенклатура. У этой номенклатуры, есть табличная часть, Технические характеристики. Как правильно написать запрос по выборке технических характеристик номенклатуры ?

Объекты:

Документ.КоммерческоеПредложение
Тч Составные части (Есть реквизит СправочникСсылка.Номенклатура)

Справочник.Номенклатура
Тч ТехническиеХарактеристики (Реквизиты Свойство, Значение) .
1 NIGHTHUNTER
 
12.01.21
07:15
Попробовал, так, но все зависло, и выдалось совсем не то вроде ((.
Важно учесть, что в Тч ТехническиеХарактеристики, вбиты 17 строк, для заполнения пользователю.
И нужно отбирать только заполненные значения.
Там пусто, но и к NULL не преобразовываются (( .

ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Наименование КАК Наименование,
    ЕСТЬNULL(НоменклатураТехническиеХарактеристики.Значение, "-") КАК Значение,
    ЕСТЬNULL(НоменклатураТехническиеХарактеристики.Свойство, "-") КАК Свойство
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Наименование = НоменклатураТехническиеХарактеристики.Ссылка
2 NIGHTHUNTER
 
12.01.21
07:24
Так вот получается, это верно?

ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Наименование КАК Наименование,
    ВЫБОР
        КОГДА НоменклатураТехническиеХарактеристики.Значение = ""
            ТОГДА "-"
        ИНАЧЕ НоменклатураТехническиеХарактеристики.Значение
    КОНЕЦ КАК Значение,
    ВЫБОР
        КОГДА НоменклатураТехническиеХарактеристики.Свойство = ""
            ТОГДА "-"
        ИНАЧЕ НоменклатураТехническиеХарактеристики.Свойство
    КОНЕЦ КАК Свойство
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО (КоммерческоеПредложениеСоставляющие.Наименование = НоменклатураТехническиеХарактеристики.Ссылка)
ГДЕ
    НоменклатураТехническиеХарактеристики.Свойство <> ""
3 NIGHTHUNTER
 
12.01.21
07:25
(2) В принципе тут ничего не выберется если в свойствах строк просто пусто.
И Выбор когда уже не актуальны.
Сама логика выборки верная ?
4 ДенисЧ
 
12.01.21
07:28
"ПО КоммерческоеПредложениеСоставляющие.Наименование = НоменклатураТехническиеХарактеристики.Ссылка"

Тебе сколько раз надо предлагать лист бумаги и шариковую ручку?
5 NIGHTHUNTER
 
12.01.21
07:31
(4) Так получилось что в КоммерческоеПредложениеСоставляющие.Наименование -> СправочникСсылка.Номенклатура тип .
6 NIGHTHUNTER
 
12.01.21
07:31
(4) Хотелось узнать правильность общей логики выборки технических характеристик номенклатуры .
7 ДенисЧ
 
12.01.21
07:34
(5) Вот за "Так получилось" - и предлагается лист бумаги. Чтобы в дальнейшем не получалось.
8 NIGHTHUNTER
 
12.01.21
07:36
Почему (2) не выбирает заполненные свойства? Где есть данные и в свойстве и в значении, но этот запрос не делает выборку.

Тут вот где то присутствуют данные если прокручивать в низ, но почему их нет в (2) ?

ВЫБРАТЬ
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение
ИЗ
    Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
9 SiAl-chel
 
12.01.21
07:42
(0) Соединяй слева табличную часть коммерческого предложения и технические характеристики номенклатуры по ссылке на номенклатуру.
10 NIGHTHUNTER
 
12.01.21
07:44
(9) Но ведь так и есть

        ПО (КоммерческоеПредложениеСоставляющие.Наименование = НоменклатураТехническиеХарактеристики.Ссылка)

http://joxi.ru/823GgjEu85MxR2

(9) Почему кривая выборка ? Я же правильно соединил.
11 hhhh
 
12.01.21
07:45
(8) а у тебя точно реквизит Свойство тип строка? Вроде Свойство - это обычно План видов характеристик.
12 NIGHTHUNTER
 
12.01.21
07:48
вот выборка прямым запросом, http://joxi.ru/BA0qa4Nip496vr

почему это не выбирается в связке с номенклатурой в (2) .

(11) вот, видно что свойство строка  http://joxi.ru/12MyVQlikLnR02 .
13 NIGHTHUNTER
 
12.01.21
07:49
(12+) В тч ТехническиеХарактеристики, так же. Свойство строка.
14 NIGHTHUNTER
 
12.01.21
07:52
Вот, вот так выбрались только значения. Но почему в связке с номенклатурой так не выбирает ?

ВЫБРАТЬ
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение
ИЗ
    Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
ГДЕ
    НоменклатураТехническиеХарактеристики.Свойство <> ""
15 SiAl-chel
 
12.01.21
07:55
(10)

ГДЕ
    НоменклатураТехническиеХарактеристики.Свойство <> ""

убери в соединение (ПО) или сначала сравнивай с NULL. Никогда в ГДЕ не вставляй поля, которые в правых таблицах.
16 SiAl-chel
 
12.01.21
07:57
(10) Наименование в представлении рядового разработчика на 1С - это строка, а не ссылка. Уважай тех, кто будет читать код после тебя.
17 hhhh
 
12.01.21
08:02
(14) забыл записать номенклатуру наверно. Вообще в каком месте вызывается этот запрос? и почему ты берешь сразу 1000 коммерческих предложений? Возьми для начала один конкретный документ Коммерческое предложение.
18 NIGHTHUNTER
 
12.01.21
08:11
(15) Так если на эти поля нужно накладывать значение, как тогда?
19 hhhh
 
12.01.21
08:26
(18) пиши    ПО    НоменклатураТехническиеХарактеристики.Свойство <> ""

а не ГДЕ
20 NIGHTHUNTER
 
12.01.21
08:28
(19) Понял! Спасибо, буду применять!!!! мысль так же была выбрать не пустые значения свойств, сначала в пакетный запрос.

Хотя наверное можно сразу как вы показываете применять!!!!
21 NIGHTHUNTER
 
16.01.21
08:09
Подскажите, верный ли запрос ?

В нем задача выбрать свойство и значение табличной части технические характеристики справочника номенклатура, по табличной части документа.


ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
            И (НоменклатураТехническиеХарактеристики.Свойство <> "")
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
22 hhhh
 
16.01.21
08:28
(21) ну, без тестирования невозможно определить. Попробуй воспользоваться отладчиком. Чтобы выяснить, правильные значения запрос выдает или неправильные.
23 Ненавижу 1С
 
гуру
16.01.21
09:13
какие типы у реквизитов Свойство и Значение в ТЧ ТехническиеХарактеристики
24 NIGHTHUNTER
 
16.01.21
09:25
(23) строка, для занесения туда значений пользователем

(22) Я смотрю пока в консоле запросов, к стати скачал только что для управляемых форм, где можно делать дерево запросов.

Так как в той что у меня по каким то причинам пропала возможность эта, одна строка верхнего уровня и все среди запросов.

Так же перестал работать пользователь Администратор ((( Точнее перестал под ним запускаться толстый клиент, пишет, нет прав для его запуска. Такого не было. Права есть.
Сделал НовыйАдминистратор. под ним работает. Вот так вот у меня сегодня ((.
25 Ненавижу 1С
 
гуру
16.01.21
09:39
(24) не самое удачное решение со строками конечно
26 NIGHTHUNTER
 
16.01.21
09:46
(25) да пока в разработке, может справочники сделать нужно будет потом
27 Ненавижу 1С
 
гуру
16.01.21
10:41
(26) Более правильно
1. ПланВидовХарактеристик для видов характеристик
2. Справочник для пользовательских значений
Независимо от того, куда вы едете — это в гору и против ветра!