Как запросом получить остаток номенклатуры в ячейке ордерного склада ?

1. Tapochki-tmn 43 22.08.13 08:56 Сейчас в теме
Всем доброго дня !

Собственно, остатки на определенную дату на ордерном складе в разрезе ячеек я получил...
Однако, задача осложняется тем, что нужно получить остатки ТОЛЬКО по той ячейке, по которой было последнее движение... и вот тут, как я понимаю, не обойтись без проверки на ПЕРИОД.

Например:

На ордерном и ячеистом складе "Основной склад" есть номенклатура "Товар".
В ячейке "А-1" на начало месяца осталось 5 шт.
В ячейке "А-2" на начало месяца осталось 10 шт.
По ячейке "А-1" последнее движение было три месяца назад.
По ячейке "А-2" последнее движение было один месяц назад.

Задача:

Запросом получить остаток на начало месяца только из ячейки "А-2", т.е. 10 шт, потому что, по этой ячейке было последнее движение.

КАК ?
Нужен пример, по аналогии перепишу...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ягг 497 22.08.13 09:03 Сейчас в теме
(1) Tapochki-tmn, думается

1. Из таблицы движений получаешь при помоши группировки по товару и функции "Максимум(Период)", таблицу с колонками: {Товар, МакПериод} - Таблица тМаксПериод

2. Соединяешь таблицу тМаксПериод с опять с таблице движения по Товар = Товар и МакПериод = Период, получаешь таблицу вида {Товар, Ячейка} - таблица тМеста

3. Ну а дальше для таблицы тМеста получаешь уже остатки по ячейкам
3. Tapochki-tmn 43 22.08.13 13:22 Сейчас в теме
Спасибо за быстрый ответ, помогло !
... и нагуглил еще кой-чего...

Как промежуточный вариант с последней ячейкой, по которой было движение запрос получился таким:

ВЫБРАТЬ
	ВложенныйЗапрос.Номенклатура,
	ЯчейкиРазмещенияТоваров.Ячейка,
	ВложенныйЗапрос.Период
ИЗ (ВЫБРАТЬ
			ПоследнееДвижениеТоваров.Номенклатура,
			МАКСИМУМ(ПоследнееДвижениеТоваров.Период) КАК Период
		ИЗ
			РегистрНакопления.ОстаткиТоваровОрдерныйСклад КАК ПоследнееДвижениеТоваров
		ГДЕ
			ПоследнееДвижениеТоваров.Период <= &Период
			И ПоследнееДвижениеТоваров.СкладКомпании = &СкладКомпании
			И ПоследнееДвижениеТоваров.Номенклатура = &Номенклатура
		СГРУППИРОВАТЬ ПО
			ПоследнееДвижениеТоваров.Номенклатура
	 ) КАК ВложенныйЗапрос
	    
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	
		РегистрНакопления.ОстаткиТоваровОрдерныйСклад КАК ЯчейкиРазмещенияТоваров
	    ПО ВложенныйЗапрос.Номенклатура = ЯчейкиРазмещенияТоваров.Номенклатура  И ВложенныйЗапрос.Период = ЯчейкиРазмещенияТоваров.Период		

УПОРЯДОЧИТЬ ПО

	ВложенныйЗапрос.Номенклатура,
	ВложенныйЗапрос.Период
Показать



Остатки не стал "прикручивать", так как "концепция поменялась" :)
Упорядочивание, возможно, лишнее, ну да это я так, чтоб в консоли запросов покрасивее было :)
4. Ягг 497 22.08.13 13:44 Сейчас в теме
(3) Tapochki-tmn, можно и так, но использование временных таблиц считается оптимальнее по ряду причин
Оставьте свое сообщение

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