Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:46

Выбрать из регистра сведений (срез последних) те записи, у который период МАКС

Автор DirecTwiX, 20 апр 2012, 03:36

0 Пользователей и 1 гость просматривают эту тему.

DirecTwiX

Мой запрос работает, но думаю, что можно сделать поизящней...
Вот как сделал я:
ЦитироватьВЫБРАТЬ
   СтеллажиСрезПоследних.Стеллаж КАК Стеллаж,
   СтеллажиСрезПоследних.Номенклатура КАК Номенклатура,
   СтеллажиСрезПоследних.Количество,
   СтеллажиСрезПоследних.Период
ПОМЕСТИТЬ ВТ
ИЗ
   РегистрСведений.Стеллажи.СрезПоследних(&Период, ) КАК СтеллажиСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(ВТ.Период) КАК Период
ПОМЕСТИТЬ ВТ2
ИЗ
   ВТ КАК ВТ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТ.Номенклатура,
   СУММА(ВТ.Количество) КАК Количество
ИЗ
   ВТ2 КАК ВТ2,
   ВТ КАК ВТ

СГРУППИРОВАТЬ ПО
   ВТ.Номенклатура

DirecTwiX

... Забыл про соединение...
ЦитироватьВЫБРАТЬ
   СтеллажиСрезПоследних.Стеллаж КАК Стеллаж,
   СтеллажиСрезПоследних.Номенклатура КАК Номенклатура,
   СтеллажиСрезПоследних.Количество,
   СтеллажиСрезПоследних.Период
ПОМЕСТИТЬ ВТ
ИЗ
   РегистрСведений.Стеллажи.СрезПоследних(&Период, ) КАК СтеллажиСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(ВТ.Период) КАК Период
ПОМЕСТИТЬ ВТ2
ИЗ
   ВТ КАК ВТ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТ.Номенклатура,
   СУММА(ВТ.Количество) КАК Количество
ИЗ
   ВТ2 КАК ВТ2
      ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ
      ПО ВТ2.Период = ВТ.Период

СГРУППИРОВАТЬ ПО
   ВТ.Номенклатура

has

Что запрос должен сделать то? Выбрать номенклатуру и кол-во с макс. датой чтоли?

cska-fanat-kz

Меня терзают смутные сомнения...
что мне знакома эта задача...
В связи с этим - вам сильно надо хранить ИСТОРИЮ комплектации стеллажей?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

Да, сильно..
Вот часть задачи:
ЦитироватьКомпания занимается оптовой торговлей складских стеллажей и их комплектующих. Возможна продажа как отдельных деталей, так и готовых стеллажей. Закупка комплектующих отражается документом «Приходная накладная», продажа - «Расходная накладная». Для сборки стеллажей служит документ «Комплектация».
Учет номенклатуры в разрезе складов не ведется.
При продаже в одной табличной части указываются и детали и стеллажи. В случае продажи деталей, списываются сами детали, в случае продажи стеллажей, списываются детали, входящие в его состав.
В документе «Комплектация» в табличной части указывается комплектующие и их количество, а в шапке готовый стеллаж и их количество. В состав готового стеллажа могут входить как детали, так и готовые стеллажи, например, в готовый стеллаж можно добавить дополнительную полку.
Со временем (не чаще, чем 1 раз в день) состав стеллажа может изменяться, для чего необходимо создать новую комплектацию этого стеллажа. При продаже должен приниматься тот состав стеллажа, который был актуальным на момент продажи.
В регистр сведений Комплектация сделал два измерения - стеллаж и деталь (чтобы записывать табличную часть документа Комплектация). Если брать срез последних, то может получиться такая картина:
Стеллаж1 Деталь1 19.04.12
Стеллаж1 Деталь2 19.04.12
Стеллаж1 Деталь3 18.04.12

Это будет означать, что стеллаж1 был перекомплектован 19.04, и что в его текущий состав входит Деталь1 и Деталь. Так мне в запросе это и надо получить)

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Перечитал условие...
Сорри, другую задачу про стеллажи решал...

Применительно к этой...
Зачем вам в измерении Деталь?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

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

cska-fanat-kz

Цитата: DirecTwiX от 23 апр 2012, 11:13
Как зачем? Чтобы знать на каждый момент времени из чего состоял тот или иной стеллаж

А если Деталь будет ресурсом - вы это не узнаете? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

А как у одного стеллажа сделать динамическое количество ресурсов?оО
Или я что-то не понимаю?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск