Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0
Добрый день. Есть отчёт для показа остатков на складе. Только эта не выводит нулевые остатки. Помогите тупенькому пожалуйста
Код запроса:
ВЫБРАТЬ СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура, СвободныеОстаткиОстатки.КоличествоОстаток КАК КоличествоОстаток, ВЫБОР КОГДА КоличествоОстаток = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4562 раз
Рейтинг: 3690.8
Из регистра нулевые остатки не получите. Если вы хотите вывести всю номенклатуру и возле каждой вывести остаток или 0 если такового нету, то надо сделать запрос к справочнику номенклатуры и левым соединением прицепить РегистрНакопления.СвободныеОстатки.Остатки. Как-то так:
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ПО СвободныеОстаткиОстатки.Номенклатура = СпрНоменклатура.Ссылка
На работоспособность не проверял, но идея должна быть понятна.
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0
Vofka @ Сегодня, 10:05
, Таким образом он выводит ТОЛЬКО нулевые. А мне нужно чтобы и нулевые и то что осталось выводил. В справочнике номенклатуры нету поля с остатками. Они все проходят только через документ Поступления
Обманул, выводит Но не сортирует по категориям
И сами категории выводит как нулевой остаток, прикольно
[необходимо зарегистрироваться для просмотра ссылки]
ВЫБОР КОГДА КоличествоОстаток = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
а что тут прикольногго - как написали - так и вернуло
ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
заменить на
IsNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КоличествоОстаток, ВЫБОР КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория ....
при выводе отчета - форматируйте значение КоличествоОстаток
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0
Vofka @ Сегодня, 14:31
, Я слишком тупенький Но если подумать, то он выводит этим запросом ВСЁ что равно по количеству нулю т.е. и группы тоже Но блин как достать тогда оттуда группы? Чтобы он выводил чисто товар и ещё группировал его
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4562 раз
Рейтинг: 3690.8
fenrishawke, в суть особо не вникал, но предположу, что вам вместо
ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
надо написать
ВЫБОР КОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель <> НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
Вы хотите всю номенклатуру с нулевыми остатками в одну группу ?
Вы хотите всю номенклатуру с нулевыми остатками в одну группу ?
ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "Нулевые" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА Выразить(СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель.Наименование как Строка(256)) ИНАЧЕ Выразить(СвободныеОстаткиОстатки.Номенклатура.Родитель.Наименование как Строка(256)) КОНЕЦ КАК Категория
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!