|
Запрос остатков номеклатуры , "Управление торговлей для Украины", 2.3.18.1 |
|
|
|
|
29.03.13, 12:38
|
Завсегдатай
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0
|
Прошу помочь с запросом. Необходимо выводить в табличное поле остатки номенклатуры, остаток которой меньше-равно 1. Сформировал запрос, прописал в запросе ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток а выводятся записи только с остатком 1 и минусовые - номенклатура с остатком ноль - не выводится. А меня как-раз больше всего интересует номенклатура с отстатком ноль. Подскажите что в запросе не так? Спасибо. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
Запрос.УстановитьПараметр("Склад", ЭтотОбъект.Склад); //Запрос.УстановитьПараметр("КоличествоОстаток", ЭтотОбъект.ОстатокМеньше);
Результат = Запрос.Выполнить(); ЭтотОбъект.Товары.Загрузить(Результат.Выгрузить());
|
|
|
29.03.13, 12:45
|
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
|
|ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки | ПО (ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура.Ссылка) |ГДЕ | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0
|
|
|
|
|
29.03.13, 14:21
|
Завсегдатай
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0
|
Цитата(Vofka @ 29.03.13, 13:49) Ну надо ж хотя бы смотреть на те буковки, которые вам показывают. Опечатка там. Надо так: |ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки | ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка) |ГДЕ | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) = 0
Дело не в буковках. И данный запрос не дает нужный результат, выводит 8300 элементов номеклатуры, поле остаток - пустое. Хотя по запросу все как-бы правильно. Буду пробовать дальше, результат сообщу. Если открыть регистр накопления ТоварыНаСкладах, то там нет записей с количеством 0. Т.е. впечетление что при реализации 1 шт. товара остаток которго 1 шт., он тупо удаляется из регистра, а не меняется его ресурс Количество как по логике должно быть. Хотя нет, это я туплю, в регистре накопления остаток рассчитывается разицой между записями приход и расход.
|
|
|
|
|
|
29.03.13, 14:48
|
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
|
Цитата(Fabri @ 29.03.13, 12:38) А меня как-раз больше всего интересует номенклатура с отстатком ноль. Цитата(Fabri @ 29.03.13, 14:21) И данный запрос не дает нужный результат, выводит 8300 элементов номеклатуры, поле остаток - пустое. Пустое - это 0, если что. Короче, я пойду отсюда, т.к. вижу, что разговор как-то не клеится. Цитата(Ardi @ 29.03.13, 14:33) в музей. В корзину, скорее.
|
|
|
|
|
|
29.03.13, 15:17
|
Завсегдатай
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0
|
Ок, начнем сначала, может я неправильно все разьяснил. Расскажу подробней. В нашем предприятии есть склад и магазин. Для кажого в 1С есть свой склад. Необходимо чтобы при запуске 1С в магазине выскакивало окошко с номенклатурой остаток которой = 0. Потом там же создам кнопочку для передачи этого списка в документ Внутренний заказ, тем самым облегчив контроль остатков товаров в магазине. Выводить нужо только ту номенклатуру, которая поступала на склад магазина. Написал запрос, но он не выводит номенклатуру с остатком 0, все остальные выводятся. Прошу помочь, спасибо. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки";
Запрос.УстановитьПараметр("Склад", ЭтотОбъект.Склад); //Запрос.УстановитьПараметр("КоличествоОстаток", ЭтотОбъект.ОстатокМеньше);
Результат = Запрос.Выполнить(); ЭтотОбъект.Товары.Загрузить(Результат.Выгрузить());
|
|
|
|
|
|
29.03.13, 15:55
|
Живет на форуме
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7
|
Цитата(Petre @ 29.03.13, 15:27) выборку из таблицы оборотов РН объединить с выборкой из таблицы остатков РН. И что получиться? 1. Выбираем из таблицы ОстаткиОбороты все, что имеет остаток 0 и приход Не равный 0 - и все ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, Период, ДвиженияИГраницыПериода, Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты ГДЕ ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход <> 0 И ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток = 0
|
|