Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 мая 2026, 17:05

"левая" строка в результате запроса

Автор sali, 27 апр 2026, 13:39

0 Пользователей и 1 гость просматривают эту тему.

sali

делаю запрос на выгрузку номенклатуры и штрихкодов только. выходит 4 позиции - основная номенклатура и ее штрихкод , потом 2 строки с штрихкодами х-ками номенклатуры и стока с пустым ш-ка , как так?
ВЫБРАТЬ
спрНоменклатура.Ссылка КАК Номенклатура,
ИСТИНА КАК Выбран,
НЕОПРЕДЕЛЕНО КАК Штрихкод
{ВЫБРАТЬ
Номенклатура.*,
Штрихкод}
ИЗ
Справочник.Номенклатура КАК спрНоменклатура
ГДЕ
НЕ спрНоменклатура.ПометкаУдаления
И НЕ спрНоменклатура.ЭтоГруппа
И &Выгружатьтовары
{ГДЕ
спрНоменклатура.Ссылка.* КАК Номенклатура}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
спрНоменклатура.Ссылка,
ИСТИНА,
ЕСТЬNULL(ШтрихкодыНоменклатуры.Штрихкод, "")
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК спрНоменклатура
ПО ШтрихкодыНоменклатуры.Номенклатура = спрНоменклатура.Ссылка
ГДЕ
&ВыгружатьШтрихкодыТовара
И ШтрихкодыНоменклатуры.Характеристика ЕСТЬ NULL
{ГДЕ
спрНоменклатура.Ссылка.* КАК Номенклатура,
(ЕСТЬNULL(ШтрихкодыНоменклатуры.Штрихкод, "")) КАК Штрихкод}

antoneus

Ну, это выбранное в первом запросе Неопределено.

sali

а чтобы результат без нее получился это только один запрос делать не 2 и без объединения , через связь..
хорошо, это сработает, но мне еще х-ка вытащить нужно её откуда лучше брать со справочника или с рс Штрихкода ?если я возьму с РС то в результате будут только строки позиции с х-ка, а если взять со спр и сделать связи спр.номенклатура.ссылка-шк.номенклатура и спр.х-ка.ссылка-шк.характеристика , то запрос скажет " 2 связь противоречит 1"

Максим75


sali

а теперь и вовсе 2 колонки пропали . куда делись? автозаполнение и убирал, и подставлял не помогало
ВЫБРАТЬ
    спрНоменклатура.Ссылка КАК Номенклатура,
    ИСТИНА КАК Выбран,
    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
    ВложенныйЗапрос.Штрихкод КАК Штрихкод
{ВЫБРАТЬ
    Номенклатура.*,
    Характеристика.*,
    Штрихкод,
    Выбран}
ИЗ
    Справочник.Номенклатура КАК спрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
            ШтрихкодыНоменклатуры.Характеристика КАК Характеристика,
            ВЫБОР
                КОГДА &ВыгружатьШтрихкодыТовара
                    ТОГДА ЕСТЬNULL(ШтрихкодыНоменклатуры.Штрихкод, "")
            КОНЕЦ КАК Штрихкод
        ИЗ
            РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры) КАК ВложенныйЗапрос
        ПО спрНоменклатура.Ссылка = ВложенныйЗапрос.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        ПО (ХарактеристикиНоменклатуры.Ссылка = ВложенныйЗапрос.Характеристика)
ГДЕ
    НЕ спрНоменклатура.ПометкаУдаления
    И НЕ спрНоменклатура.ЭтоГруппа
    И &Выгружатьтовары
    И (ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL
            ИЛИ НЕ ХарактеристикиНоменклатуры.ПометкаУдаления)
{ГДЕ
    спрНоменклатура.Ссылка.* КАК Номенклатура,
    ХарактеристикиНоменклатуры.Ссылка.* КАК Характеристика,
    ВложенныйЗапрос.Штрихкод КАК Штрихкод}

sali

Максим75, нужно получить номенклатуру , х-ка и штрихкод (ш-ка по условию , если &выгружатьштрихкода тогда ш-ка заполнены, если нет, то пустое поле)

пример:
если у нашего товара 1 х-ка, то должно быть 2 строки. первая строка это номенклатура , вторая строка это номенклатура с заполненной х-ка, штрихкод там по условию

sali


Максим75

sali, а что это за такое?
таблицы для связи одни, а условие связи с другими таблицами.
свяжите вначале номенклатуру с характеристиками этой номенклатуры.
потом все это кино свяжите с штрихкодами по номенклатуре и характеристике.

sali

Максим75, выходили позиции только с заполненной характеристикой. не получается чет через запрос махом получить что нужно, пришлось получить как раньше, номенклатуру с штрихкодом, а потом до заполнить х-ками

Максим75

Цитата: sali от 28 апр 2026, 13:10Максим75, выходили позиции только с заполненной характеристикой. не получается чет через запрос махом получить что нужно, пришлось получить как раньше, номенклатуру с штрихкодом, а потом до заполнить х-ками
Есть справочник Номенклатура. Обычно ему подчинен справочник с характеристиками.
Не у всей номенклатуры могут быть характеристики. Поэтому когда связывается номенклатура с характеристиками могут где-то вместо характеристики прилететь NULL. вот этот NULL надо обработать.

Отдельно от всего этого живет обычно регистр сведений со штрихкодами. Там живут разные штрихкоды, помимо номенклатуры могут жить штрихкоды дисконтных карт, каких-то падарочных сертификатов и т.д.
если брать номенклатуру, то кроме номенклатуры еще в измерениях этого регистра живет характеристика, ну и всякие типы штрихкода и т.д.

вот выборку данных Номенклатура-Характеристика можно связать с этим регистром сведений штрихкодов по самой номенклатуре и характеристике. и появится в выборке штрихкод. только учтите что пустая характеристика в регистре сведений и возможный NULL в выборке номенклатура-характеристика - это разное.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск