Подбор номенклатуры с остатками при нескольких складах
Есть справочник "Товары" с формой выбора на которой выводится наименование и остаток товара на складе. Сейчас при проведении документа "Приходная накладная" у меня эти остатки суммируются с двух складов "Основного" и "Дополнительного". Как сделать так чтобы для каждого склада писался свой остаток? Или при выборе склада на форме документа "Приходная накладная" выводилась форма выбора с остатками товаров только на этом складе.
Сейчас в настройке динамического списка формы выбора у меня такой код
Сейчас в настройке динамического списка формы выбора у меня такой код
ВЫБРАТЬ
СправочникТовары.Ссылка КАК Ссылка,
СправочникТовары.ПометкаУдаления КАК ПометкаУдаления,
СправочникТовары.Код КАК Код,
СправочникТовары.Наименование КАК Наименование,
СправочникТовары.Описание КАК Описание,
СправочникТовары.Картинка КАК Картинка,
СправочникТовары.Предопределенный КАК Предопределенный,
СправочникТовары.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток
ИЗ
Справочник.Товары КАК СправочникТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
ПО СправочникТовары.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура
ПоказатьПо теме из базы знаний
- УТ 11: Ускоряем форму подбора номенклатуры
- Подбор номенклатуры из остатков на складе/в подразделении + Массовый ввод серийных номеров
- Остатки в подборе товаров в документ продажи по нескольким складам
- [Расширение] УНФ: Дополнительный контроль остатков (списания) товаров на дату документа (как в 1С:Бухгалтерии)
- Подбор номенклатуры. Еще один вариант
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я бы так сделал:
Открытие формы выбора делаем вручную, и в параметры открытия запихиваем ссылку на склад, тогда при создании на сервере формы выбора поставляем этот параметр если он есть, если нет, тогда пустую ссылку. Точно не помню, но как-то так:
А в запросе списка, в параметрах виртуальной таблицы просто
Тогда старый функционал не пострадает и не надо выкручиваться с подменой текста запроса, как это типовые решения любят делать.
Открытие формы выбора делаем вручную, и в параметры открытия запихиваем ссылку на склад, тогда при создании на сервере формы выбора поставляем этот параметр если он есть, если нет, тогда пустую ссылку. Точно не помню, но как-то так:
Список.Параметры.УстановитьПараметр("Склад", ОтборСклад);
А в запросе списка, в параметрах виртуальной таблицы просто
&Склад=ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ Склад=&Склад
Тогда старый функционал не пострадает и не надо выкручиваться с подменой текста запроса, как это типовые решения любят делать.
Если всего 2 склада в базе, то можно в параметрах вирт. таблицы поставить условие Склад=&СкладОсновной и сделать еще 1 реляцию с тем же регистром, но уже Склад=&СкладДополнительный. И из этих 2 таблиц 2 поля остатков вытаскиваем, только на форме подпишите где что)
Это решение чревато тем, что, когда появится 3-й склад, нужно будет дорабатывать.
Это решение чревато тем, что, когда появится 3-й склад, нужно будет дорабатывать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот