Здравствуйте, подскажите пожалуйста как можно сделать.
Нужен запрос который выведет только те позиции номенклатуры которые есть на ВСЕХ складах.
К примеру.
У нас 5 складов.
Передаем в параметр запроса = "Конструктор лего"
Если "Конструктор лего" нет хотябы на 1 из 5 складов, он в результат не должен попадать.
Можно ли как-то в запросе это отобрать, или через цикл только?
Нужен запрос который выведет только те позиции номенклатуры которые есть на ВСЕХ складах.
К примеру.
У нас 5 складов.
Передаем в параметр запроса = "Конструктор лего"
Если "Конструктор лего" нет хотябы на 1 из 5 складов, он в результат не должен попадать.
Можно ли как-то в запросе это отобрать, или через цикл только?
По теме из базы знаний
- Остатки товаров на складах по партиям по методу ФИФО, если партий нет (РАУЗ). СКД
- Перенос остатков, документов и справочников из БП 3.0 в УТ 10.3. Переносятся остатки товаров, взаиморасчетов и денежных средств, а также документы и справочники
- Опять эти запросы...
- Вывод остатка товаров на складе в документ Реализация товаров и услуг (для конфигурации Управление Торговлей 11.2 / 11.3 / 11.4)
- Информационная панель номенклатуры для 1С: Розница 2.2. Остатки по складам, информация о ценах, штрихкодах, остатки товара на складах. Остатки ЕГАИС в справочнике номенклатуры
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)Не поленилась я)
Мертвого достанешь своими язвительными замечаниями
Мертвого достанешь своими язвительными замечаниями
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Склады.Ссылка) КАК КоличествоСкладов
ПОМЕСТИТЬ ВТ_Склады
ИЗ
Справочник.Склады КАК Склады
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТоварыНаСкладахОстатки.Склад) КАК Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ВТ_Склады.КоличествоСкладов
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Склады КАК ВТ_Склады
ПО (ИСТИНА)
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстатки.Номенклатура,
ВТ_Склады.КоличествоСкладов
ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТоварыНаСкладахОстатки.Склад) = ВТ_Склады.КоличествоСкладов
Показать
(9)
Кто хочет - начнет думать, искать решения, и станет специалистом.
Кто не хочет - будет попрошайничать "дайте мне код".
1. У тебя в запросе нет количества номенклатуры.
2. Непонятный агрегат КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТоварыНаСкладахОстатки.Склад) КАК Склад
Мертвого достанешь своими язвительными замечаниями
Дык это и есть самая правильная помощь, чтобы вопрошающий начал думать и понимать смысл происходящего )))
Кто хочет - начнет думать, искать решения, и станет специалистом.
Кто не хочет - будет попрошайничать "дайте мне код".
1. У тебя в запросе нет количества номенклатуры.
2. Непонятный агрегат КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТоварыНаСкладахОстатки.Склад) КАК Склад
(14)
Количество зачем?
вопрос был: запрос который выведет только те позиции номенклатуры которые есть на ВСЕХ складах.
(14)
Это ответ на форуме, его следует оформлять согласно стандартам?
У тебя в запросе нет количества номенклатуры
Количество зачем?
вопрос был: запрос который выведет только те позиции номенклатуры которые есть на ВСЕХ складах.
(14)
Непонятный агрегат КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТоварыНаСкладахОстатки.Склад) КАК Склад
Это ответ на форуме, его следует оформлять согласно стандартам?
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Склады.Ссылка КАК Ссылка,
| Склады.Представление КАК Представление,
| ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
|ИЗ
| Справочник.Склады КАК Склады
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Номенклатура = &Номенклатура) КАК ОстаткиНоменклатурыОстатки
| ПО Склады.Ссылка = ОстаткиНоменклатурыОстатки.Склад";
Запрос.УстановитьПараметр("МоменВремени", МоментВремени());
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.КоличествоОстаток = 0 Тогда
Отказ = Истина;
КонецЕсли;
КонецЦикла;
Показать
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|ОстаткиНоменклатурыОстатки.Склад КАК Склад
| Поместить ВТ_Остатки
| ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Номенклатура = &Номенклатура) КАК ОстаткиНоменклатурыОстатки
| ;
|Выбрать
| Склады.Ссылка
|ИЗ Справочник.Склады КАК Склады
|ГДЕ
| НЕ Склады.Ссылка В ( Выбрать ВТ_Остатки.Склад ИЗ ВТ_Остатки)
|
|";
Запрос.УстановитьПараметр("МоменВремени", МоментВремени());
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
// все отлично
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот