Подбор номенклатуры с остатками при нескольких складах

1. user2084919 18.05.24 18:17 Сейчас в теме
Есть справочник "Товары" с формой выбора на которой выводится наименование и остаток товара на складе. Сейчас при проведении документа "Приходная накладная" у меня эти остатки суммируются с двух складов "Основного" и "Дополнительного". Как сделать так чтобы для каждого склада писался свой остаток? Или при выборе склада на форме документа "Приходная накладная" выводилась форма выбора с остатками товаров только на этом складе.
Сейчас в настройке динамического списка формы выбора у меня такой код
ВЫБРАТЬ
	СправочникТовары.Ссылка КАК Ссылка,
	СправочникТовары.ПометкаУдаления КАК ПометкаУдаления,
	СправочникТовары.Код КАК Код,
	СправочникТовары.Наименование КАК Наименование,
	СправочникТовары.Описание КАК Описание,
	СправочникТовары.Картинка КАК Картинка,
	СправочникТовары.Предопределенный КАК Предопределенный,
	СправочникТовары.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
	ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Остаток
ИЗ
	Справочник.Товары КАК СправочникТовары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
		ПО СправочникТовары.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lostcay 9 19.05.24 22:59 Сейчас в теме
Я бы так сделал:
Открытие формы выбора делаем вручную, и в параметры открытия запихиваем ссылку на склад, тогда при создании на сервере формы выбора поставляем этот параметр если он есть, если нет, тогда пустую ссылку. Точно не помню, но как-то так:
Список.Параметры.УстановитьПараметр("Склад", ОтборСклад);

А в запросе списка, в параметрах виртуальной таблицы просто
&Склад=ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ Склад=&Склад


Тогда старый функционал не пострадает и не надо выкручиваться с подменой текста запроса, как это типовые решения любят делать.
3. lostcay 9 19.05.24 23:06 Сейчас в теме
Если всего 2 склада в базе, то можно в параметрах вирт. таблицы поставить условие Склад=&СкладОсновной и сделать еще 1 реляцию с тем же регистром, но уже Склад=&СкладДополнительный. И из этих 2 таблиц 2 поля остатков вытаскиваем, только на форме подпишите где что)

Это решение чревато тем, что, когда появится 3-й склад, нужно будет дорабатывать.
4. пользователь 21.05.24 19:58
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот