Имя: Пароль:
1C
 
запрос по тегам номенклатуры
0 ДобрыйПутник
 
naïve
14.03.25
15:27
Здравствуйте, подскажите пожалуйста
Я делаю запрос к примеру к номенклатуре и еще к 1 справочнику.
Номенклатура 1, а в другом справочнике к этой номенклатуре указано много значений, типо так:
Номенклатура - значение1
Номенклатура - значение2

Вопрос в том, могу ли я соединить этот справочник со справочником номенклатуры (левым соединением), что бы запрос показал мне не много строк с 1 номенклатурой и разными значениями, а 1 строку и 1 таблицу значений?
Подскажите как это сделать?
1 Волшебник
 
14.03.25
15:28
Как называется второй справочник? Что за значения?
2 ДобрыйПутник
 
naïve
14.03.25
15:35
(1) Справочник доработанный, называется теги,
Выглядит как
Номенклатура - номер тега - Тег
https://imgur.com/a/RhR1CO5
3 АНДР
 
14.03.25
15:39
(0) В объекте запрос нет таблиц значений.
4 DiMel_77
 
14.03.25
15:42
(0) Нет на разных справочниках такое не работает. Вы хотите, чтобы у вас в поле выборки был РезультатЗапроса. Такое работает только с табличными частями справочника.

Уродский синтаксис, который лучше не использовать:
ВЫБРАТЬ
    <ИмяСправочника>.Ссылка Как Ссылка,
    <ИмяСправочника>.<ИмяТабличнойЧасти>.(
        <ИмяРеквизитаТЧ1> КАК Реквизит1,
        ...
        <ИмяРеквизитаТЧN> КАК РеквизитN,
    ) КАК ТабличнаяЧасть
 ИЗ
     Справочник.<ИмяСправочника> КАК <ИмяСправочника>
5 Fedor-1971
 
14.03.25
15:48
(0) Делать так совсем неправильно (типа ФУ таким быть)
Если уж совсем хочешь, то как-то так (но, это для выборки ТЧ документа)
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    РеализацияТоваровУслуг.Товары.(
        НомерСтроки КАК НомерСтроки,
        Номенклатура КАК Номенклатура,
        ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        Количество КАК Количество,
        Масса КАК Масса,
        НомерГТД КАК НомерГТД,
        Сумма КАК Сумма,
        СуммаНДС КАК СуммаНДС
    ) КАК Товары
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Ссылка = &Ссылка
6 АНДР
 
14.03.25
15:55
(4), (5) Не хочу вас огорчать, но вы попутали синтаксис запроса с его результатом...
7 Fedor-1971
 
14.03.25
15:55
(4) Возможно, что получится так:
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    табСтатусы.(
        Период КАК Период,
        Статус КАК Статус
    ) КАК ДокСтатусы
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
     ЛевоеСоединение РЕгистрСведений.Сатутсы как табСтатусы
      по табСтатусы.ДокСтатуса = РеализацияТоваровУслуг.Ссылка
ГДЕ
    РеализацияТоваровУслуг.Ссылка = &Ссылка

Повторюсь, это корявый запрос, красивее через Итоги ПО ...
т.е. имеем верхний уровень документа и, если надо, можем спуститься на уровень детальных записей
8 Fedor-1971
 
14.03.25
15:56
(6) так синтаксис допускает получить странный результат
9 АНДР
 
14.03.25
15:59
(8) Или неявно описать соединение?
10 DiMel_77
 
14.03.25
15:59
(6) Ну ка расскажите, где я ошибся? Я написал, что в результате выполнения такого запроса в поле выборки будет объект вида "РезультатЗапроса" и в чем я не прав?
11 АНДР
 
14.03.25
16:01
(10) А что хочет автор?
12 ДобрыйПутник
 
naïve
14.03.25
16:05
(4) это из 1 справочника в котором есть ТЧ, мне нужно из 2 разных справочников
13 DiMel_77
 
14.03.25
16:05
(11) Автор новичок и не понимает разницы. Но суть передал, что хочет получить: ссылка - коллекция.
14 ДобрыйПутник
 
naïve
14.03.25
16:06
(11) https://imgur.com/a/m5ElCTA
вот грубо говоря что я делаю, и мне нужна 1 строка где будет в 1 колонке ссылка, во 2 колонке будут собраны все теги
15 ДобрыйПутник
 
naïve
14.03.25
16:06
(13) Да!
16 Fedor-1971
 
14.03.25
16:10
(9) по факту, да, это соединение с другой таблицей (более того, результат выборки из оной). Тут больше вопрос "Как ограничить выборку"
Зачем такое разрешили делать, непонятно, но ОНО уже есть

(11) Походу, хочет красиво положить в ДС доп.данные, типа так:
Номенклатура; доп.тэг1+доп.тэг2 (как отображается список в СКД при указании сравнения "В списке")
17 DiMel_77
 
14.03.25
16:14
(12) Если вы внимательно читали сообщение (4) то там написано, что никак такое с разными справочниками не сделаешь. Вы хотите по сути написать коррелированный запрос, 1С такой возможности не дает в запросах, но в СКД пожалуйста.
18 ДобрыйПутник
 
naïve
14.03.25
16:16
(17) А есть где то статейка, как в скд это сделать?
19 АНДР
 
14.03.25
16:17
(13), (15) Для одной строки из Номенклатура решается через секцию Где в запросе ко второму справочнику. Получить из запроса таблицу вида Ссылка, Коллекция штатно нельзя. Только обходить результат запроса и формировать желаемую структуру данных самостоятельно.
20 DiMel_77
 
14.03.25
16:19
(18) Попробуйте "ВычислитьВыражениеСГруппировкойМассив" https://infostart.ru/1c/articles/1101676/ .
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший