Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод нулевых остатков в отчёт
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
fenrishawke
Добрый день. Есть отчёт для показа остатков на складе. Только эта icon_cuss.gif не выводит нулевые остатки. Помогите тупенькому пожалуйста 64000000.gif

Код запроса:
ВЫБРАТЬ
    СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
    СвободныеОстаткиОстатки.КоличествоОстаток КАК КоличествоОстаток,
        ВЫБОР
        КОГДА КоличествоОстаток = 0 ТОГДА "0"
                    КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО
            ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель
            ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель
    КОНЕЦ КАК Категория
ИЗ
    РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки

Vofka
Из регистра нулевые остатки не получите. Если вы хотите вывести всю номенклатуру и возле каждой вывести остаток или 0 если такового нету, то надо сделать запрос к справочнику номенклатуры и левым соединением прицепить РегистрНакопления.СвободныеОстатки.Остатки. Как-то так:

ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Номенклатура,
    ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    ВЫБОР
        КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0"
                    КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО
            ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель
            ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель
    КОНЕЦ КАК Категория
ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки
        ПО СвободныеОстаткиОстатки.Номенклатура = СпрНоменклатура.Ссылка


На работоспособность не проверял, но идея должна быть понятна.
fenrishawke
Vofka @ Сегодня, 10:05 необходимо зарегистрироваться для просмотра ссылки ,
Таким образом он выводит ТОЛЬКО нулевые. А мне нужно чтобы и нулевые и то что осталось выводил.
В справочнике номенклатуры нету поля с остатками. Они все проходят только через документ Поступления

Обманул, выводит biggrin.gif Но не сортирует по категориям

И сами категории выводит как нулевой остаток, прикольно

необходимо зарегистрироваться для просмотра ссылки
sava1
Цитата(fenrishawke @ 01.07.20, 10:53) необходимо зарегистрироваться для просмотра ссылки
ВЫБОР КОГДА КоличествоОстаток = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория


а что тут прикольногго - как написали - так и вернуло
fenrishawke
Помогите переписать чтобы работало .-.
Vofka
Цитата(fenrishawke @ 01.07.20, 12:01) необходимо зарегистрироваться для просмотра ссылки
И сами категории выводит как нулевой остаток, прикольно

Это не на какие мысли не наводит?
Цитата(fenrishawke @ 01.07.20, 12:01) необходимо зарегистрироваться для просмотра ссылки
КОГДА КоличествоОстаток = 0 ТОГДА "0"
sava1
Цитата(Vofka @ 01.07.20, 11:05) необходимо зарегистрироваться для просмотра ссылки
ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория


заменить на

IsNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КоличествоОстаток,
ВЫБОР КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО
ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель
ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель
КОНЕЦ КАК Категория
....

при выводе отчета - форматируйте значение КоличествоОстаток
fenrishawke
Vofka @ Сегодня, 14:31 необходимо зарегистрироваться для просмотра ссылки ,
Я слишком тупенький biggrin.gif
Но если подумать, то он выводит этим запросом ВСЁ что равно по количеству нулю
т.е. и группы тоже
Но блин
как достать тогда оттуда группы? Чтобы он выводил чисто товар и ещё группировал его
sava1
Цитата(fenrishawke @ 01.07.20, 16:32) необходимо зарегистрироваться для просмотра ссылки
Чтобы он выводил чисто товар и ещё группировал его


Кто такой ОН ?
Как группировать ?
fenrishawke
sava1 @ Сегодня, 15:44 необходимо зарегистрироваться для просмотра ссылки ,
ОН - Отчёт

Группировать по группам товара
Вот как тут
Чтобы он и нулевые остатки тоже группировал

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

ВЫБОР
        КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0"
                    КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО
            ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель
            ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель
    КОНЕЦ КАК Категория


надо написать

ВЫБОР
            КОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель <> НЕОПРЕДЕЛЕНО
                   ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель
            ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель
    КОНЕЦ КАК Категория
sava1
для непопадания групп добавьте в запрос

ГДЕ НЕ СпрНоменклатура.ЭтоГруппа

остальное - вполне рабочее
fenrishawke
sava1 @ Сегодня, 16:53 необходимо зарегистрироваться для просмотра ссылки ,
И всё ещё нулевые остатки нужно сгруппировать по группам как в номенклатуре
sava1
Вы хотите всю номенклатуру с нулевыми остатками в одну группу ?

Вы хотите всю номенклатуру с нулевыми остатками в одну группу ?

ВЫБОР
        КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "Нулевые"
                    КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО
            ТОГДА Выразить(СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель.Наименование как Строка(256))
            ИНАЧЕ Выразить(СвободныеОстаткиОстатки.Номенклатура.Родитель.Наименование как Строка(256))
    КОНЕЦ КАК Категория
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.