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

х-ка и номенклатура

Автор sali, Сегодня в 10:12

antoneus и 5 гостей просматривают эту тему.

sali

и всё же я не понимаю как по -другому писать запрос чтобы была выборка номенклатуры с характеристикой по остаткам с группировкой номенклатуры и х-ка. нет, блин все общим итогом выдает
ВЫБРАТЬ
ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток,
ЗапасыОстатки.Характеристика КАК Характеристика,
ЗапасыОстатки.Номенклатура КАК Номенклатура,
ЗапасыОстатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница
ПОМЕСТИТЬ вт_остатки
ИЗ
РегистрНакопления.Запасы.Остатки КАК ЗапасыОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
спрНоменклатура.Ссылка КАК номенклатура,
ВЫБОР
КОГДА вт_остатки.Характеристика ЕСТЬ NULL
ТОГДА ХарактеристикиНоменклатуры.Ссылка = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка
КОНЕЦ КАК характеристика,
вт_остатки.КоличествоОстаток КАК КоличествоОстаток,
вт_остатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница
ИЗ
вт_остатки КАК вт_остатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК спрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО спрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
ПО вт_остатки.Номенклатура = спрНоменклатура.Ссылка
ГДЕ
НЕ спрНоменклатура.ПометкаУдаления
И НЕ спрНоменклатура.ЭтоГруппа

antoneus


sali

antoneus, группируется по номенклатуре и выдает суммарное количество включая характеристики.
у меня в базе есть 3 х-ка двух номенклатур, две х-ка у одного товара и одна х-ка у второго товара. и у каждого товара с каждой х-ка есть свой какой - то остаток
мне по запросу выходит 2 товара с общим количеством остатков , то есть
по основному складу        и по доп складу
товар 1 - 12               товар 1 - 1
товар 1, хка_1 - 5         товар 1, хка_1 - нету
товар 1, хка_2 - 17        товар 1, хка_2 - 21
товар 2 - 7                товар 2 - нету
товар 2, хка_1 - 9         товар 2, хка_1 - 3
товар 1, хка_1 - 10        товар 2, хка_1 - 5
товар 2 - 4                товар 1 - 14 

что выводит запрос:
товар 1 по основному складу - 44 (12+5+17+10)
товар 1 по доп складу - 35
товар 2 по основному складу - 20
товар 2 по доп складу - 8

а должен вывести такую картину , по крайней мере добиваюсь чтоб вывел

товар 1 по основному складу - 12
товар 1 по доп складу - 15

товар 1, хка_1 по осн складу - 35
товар 1, хка_2 по осн складу - 17

товар 1, хка_2 по доп складу - 21

товар 2 по основному складу - 11

товар 2, хка_1 по осн складу - 9
товар 2, хка_2 по доп складу - 8


antoneus

Так что ли?

ВЫБРАТЬ
    ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ЗапасыОстатки.Характеристика КАК Характеристика,
    ЗапасыОстатки.Номенклатура КАК Номенклатура,
    ЗапасыОстатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница
ПОМЕСТИТЬ вт_остатки
ИЗ
    РегистрНакопления.Запасы.Остатки КАК ЗапасыОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    спрНоменклатура.Ссылка КАК Номенклатура,
    ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
    ЕСТЬNULL(вт_остатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    вт_остатки.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница
ИЗ
    Справочник.Номенклатура КАК спрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ
    Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО
    спрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
ЛЕВОЕ СОЕДИНЕНИЕ
    вт_остатки КАК вт_остатки
ПО
    спрНоменклатура.Ссылка = вт_остатки.Номенклатура
    И ХарактеристикиНоменклатуры.Ссылка = вт_остатки.Характеристика

ГДЕ
    НЕ спрНоменклатура.ПометкаУдаления
    И НЕ спрНоменклатура.ЭтоГруппа

sali

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

sali

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

СГРУППИРОВАТЬ ПО
СтруктурныеЕдиницы.Ссылка,
ВЫРАЗИТЬ(ЗапасыОстатки.СтруктурнаяЕдиница КАК Справочник.СтруктурныеЕдиницы),
ВЫБОР
КОГДА ЗапасыОстатки.Характеристика = ЗНАЧЕНИЕ(справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
ТОГДА спрНоменклатура.Ссылка
КОНЕЦ
а потом до заполнял х-ка, так как условие есть определенное

Теги:

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

Рейтинг@Mail.ru

Поиск