Прошу помочь с запросом. Необходимо выводить в табличное поле остатки номенклатуры, остаток которой меньше-равно 1. Сформировал запрос, прописал в запросе
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток
а выводятся записи только с остатком 1 и минусовые - номенклатура с остатком ноль - не выводится. А меня как-раз больше всего интересует номенклатура с отстатком ноль. Подскажите что в запросе не так? Спасибо.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
|ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки | ПО (ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура.Ссылка) |ГДЕ | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
Ну надо ж хотя бы смотреть на те буковки, которые вам показывают. Опечатка там. Надо так:
|ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки | ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка) |ГДЕ | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0
Ну надо ж хотя бы смотреть на те буковки, которые вам показывают. Опечатка там. Надо так:
|ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки | ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка) |ГДЕ | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0
Дело не в буковках. И данный запрос не дает нужный результат, выводит 8300 элементов номеклатуры, поле остаток - пустое. Хотя по запросу все как-бы правильно. Буду пробовать дальше, результат сообщу.
Если открыть регистр накопления ТоварыНаСкладах, то там нет записей с количеством 0. Т.е. впечетление что при реализации 1 шт. товара остаток которго 1 шт., он тупо удаляется из регистра, а не меняется его ресурс Количество как по логике должно быть.
Хотя нет, это я туплю, в регистре накопления остаток рассчитывается разицой между записями приход и расход.
Почему из регистра накопления ТоварыНаСкладах не выводятся записи с количеством 0. Левое соединение и т.д. это уже лишнее, тем более что у меня к примеру 2 склада, на одном из них небыло и 5 части всей номенклатуры. Тут правильней выводить только то что поступало и продавалось из конкретного склада, эта инфа в регистре накопления ТоварыНаСкладах, а он ..... не выводит номенклатуру с нулевым остатком...
И данный запрос не дает нужный результат, выводит 8300 элементов номеклатуры, поле остаток - пустое. Пустое - это 0, если что. Короче, я пойду отсюда, т.к. вижу, что разговор как-то не клеится.
Тут правильней выводить только то что поступало и продавалось из конкретного склада, эта инфа в регистре накопления ТоварыНаСкладах, а он ..... не выводит номенклатуру с нулевым остатком...
Склад неделю назад создался. Оприходованно около 2500 товаров. Как может быть 8300? Зачем мне весь справочник номенклатура в запросе?
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
Цитата(Fabri @ 29.03.13, 14:51)
Зачем мне весь справочник номенклатура в запросе?
А зачем писать
Цитата(Fabri @ 29.03.13, 12:38)
Необходимо выводить в табличное поле остатки номенклатуры, остаток которой меньше-равно 1.
и
Цитата(Fabri @ 29.03.13, 12:38)
меня как-раз больше всего интересует номенклатура с отстатком ноль
? Покажите из этих 8300 позиций хоть одну, остаток по которой больше 0. А то что к 10 посту мы находимся на пол пути к разгадке задания - так лично мне уже не интересно телепатировать.
Живет на форуме
Группа: Местный
Сообщений: 2920
Из: Київ, Україна
Спасибо сказали: 1239 раз
Рейтинг: 1345.6
Вы определитесь с условиями задачи. Если все ресурсы нулевые - остатки не выводятся. Здесь необходимо соединять остатки с номенклатурой оборотов по регистру.
Вернее объединять...
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Ок, начнем сначала, может я неправильно все разьяснил. Расскажу подробней. В нашем предприятии есть склад и магазин. Для кажого в 1С есть свой склад. Необходимо чтобы при запуске 1С в магазине выскакивало окошко с номенклатурой остаток которой = 0. Потом там же создам кнопочку для передачи этого списка в документ Внутренний заказ, тем самым облегчив контроль остатков товаров в магазине. Выводить нужо только ту номенклатуру, которая поступала на склад магазина. Написал запрос, но он не выводит номенклатуру с остатком 0, все остальные выводятся. Прошу помочь, спасибо.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
Живет на форуме
Группа: Местный
Сообщений: 2920
Из: Київ, Україна
Спасибо сказали: 1239 раз
Рейтинг: 1345.6
В таблицу остатков РН не попадают записи с нулевыми ресурсами. По этому вижу два варианта: 1. выборку из таблицы оборотов РН объединить с выборкой из таблицы остатков РН. 2. выборку из таблицы оборотов РН слева соединить в выборкой из таблицы остатков РН. Для этой задачи необходимо формализировать Ваше условие "только ту номенклатуру, которая поступала на склад магазина" для выборки из таблицы оборотов.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Старейшина
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0
ВЫБРАТЬ Различные ТоварыНаСкладах.Номенклатура поместить ТоварыМагазина ИЗ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах Где РегистрНакопления.ТоварыНаСкладах.Склад=&Склад; ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура, ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки где ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0 И ТоварыНаСкладахОстатки.Номенклатура в (Выбрать Номенклатура из ТоварыМагазина)
Но в Вашей постановке задачи заложена серьёзная логическая ошибка. И выльется это в кучу неприятностей через годик-другой...
Правильно поставленный вопрос содержит до 90% ответа.
Но в Вашей постановке задачи заложена серьёзная логическая ошибка. И выльется это в кучу неприятностей через годик-другой...
Вы про то что через годик уже 30-40% номенклатуры уже не будет покупатся, но в список она будет попадать? Тут тоже планируется сделать отбор товаров, поступивших на склад с даты, которую будут устанавливать работники магазина.
Живет на форуме
Группа: Местный
Сообщений: 2752
Из: Проскуров
Спасибо сказали: 709 раз
Рейтинг: 688.5
Цитата(Petre @ 29.03.13, 15:27)
выборку из таблицы оборотов РН объединить с выборкой из таблицы остатков РН.
И что получиться?
1. Выбираем из таблицы ОстаткиОбороты все, что имеет остаток 0 и приход Не равный 0 - и все
ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, Период, ДвиженияИГраницыПериода, Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты ГДЕ ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход <> 0 И ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток = 0
Живет на форуме
Группа: Местный
Сообщений: 2920
Из: Київ, Україна
Спасибо сказали: 1239 раз
Рейтинг: 1345.6
Если дата остатков совпадает с конечной датой периода анализа поступлений - можно и так. Но я предполагаю кучу вариантов, т. к. условия не исчерпывающие...
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!