Всем доброго дня !
Собственно, остатки на определенную дату на ордерном складе в разрезе ячеек я получил...
Однако, задача осложняется тем, что нужно получить остатки ТОЛЬКО по той ячейке, по которой было последнее движение... и вот тут, как я понимаю, не обойтись без проверки на ПЕРИОД.
Например:
На ордерном и ячеистом складе "Основной склад" есть номенклатура "Товар".
В ячейке "А-1" на начало месяца осталось 5 шт.
В ячейке "А-2" на начало месяца осталось 10 шт.
По ячейке "А-1" последнее движение было три месяца назад.
По ячейке "А-2" последнее движение было один месяц назад.
Задача:
Запросом получить остаток на начало месяца только из ячейки "А-2", т.е. 10 шт, потому что, по этой ячейке было последнее движение.
КАК ?
Нужен пример, по аналогии перепишу...
Собственно, остатки на определенную дату на ордерном складе в разрезе ячеек я получил...
Однако, задача осложняется тем, что нужно получить остатки ТОЛЬКО по той ячейке, по которой было последнее движение... и вот тут, как я понимаю, не обойтись без проверки на ПЕРИОД.
Например:
На ордерном и ячеистом складе "Основной склад" есть номенклатура "Товар".
В ячейке "А-1" на начало месяца осталось 5 шт.
В ячейке "А-2" на начало месяца осталось 10 шт.
По ячейке "А-1" последнее движение было три месяца назад.
По ячейке "А-2" последнее движение было один месяц назад.
Задача:
Запросом получить остаток на начало месяца только из ячейки "А-2", т.е. 10 шт, потому что, по этой ячейке было последнее движение.
КАК ?
Нужен пример, по аналогии перепишу...
По теме из базы знаний
- Типовая борьба - личный опыт работы с типовыми конфигурациями 1С:8
- Алгоритмы с решениями для экзамена Специалист УТ 11.1
- Разработка и сценарное тестирование с Vanessa-ADD. Практические примеры сценариев. Шаги встроенной библиотеки
- Структура обработки загрузки цен и остатков поставщика с примерами и комментариями
- Интеграция с маркетплейсами МегаМаркет, Wildberries, OZON, ЯндексМаркет, VK, Avito, Леруа Мерлен, Aliexpress, КУПЕР, Dostavista
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Tapochki-tmn, думается
1. Из таблицы движений получаешь при помоши группировки по товару и функции "Максимум(Период)", таблицу с колонками: {Товар, МакПериод} - Таблица тМаксПериод
2. Соединяешь таблицу тМаксПериод с опять с таблице движения по Товар = Товар и МакПериод = Период, получаешь таблицу вида {Товар, Ячейка} - таблица тМеста
3. Ну а дальше для таблицы тМеста получаешь уже остатки по ячейкам
1. Из таблицы движений получаешь при помоши группировки по товару и функции "Максимум(Период)", таблицу с колонками: {Товар, МакПериод} - Таблица тМаксПериод
2. Соединяешь таблицу тМаксПериод с опять с таблице движения по Товар = Товар и МакПериод = Период, получаешь таблицу вида {Товар, Ячейка} - таблица тМеста
3. Ну а дальше для таблицы тМеста получаешь уже остатки по ячейкам
Спасибо за быстрый ответ, помогло !
... и нагуглил еще кой-чего...
Как промежуточный вариант с последней ячейкой, по которой было движение запрос получился таким:
Остатки не стал "прикручивать", так как "концепция поменялась" :)
Упорядочивание, возможно, лишнее, ну да это я так, чтоб в консоли запросов покрасивее было :)
... и нагуглил еще кой-чего...
Как промежуточный вариант с последней ячейкой, по которой было движение запрос получился таким:
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура,
ЯчейкиРазмещенияТоваров.Ячейка,
ВложенныйЗапрос.Период
ИЗ (ВЫБРАТЬ
ПоследнееДвижениеТоваров.Номенклатура,
МАКСИМУМ(ПоследнееДвижениеТоваров.Период) КАК Период
ИЗ
РегистрНакопления.ОстаткиТоваровОрдерныйСклад КАК ПоследнееДвижениеТоваров
ГДЕ
ПоследнееДвижениеТоваров.Период <= &Период
И ПоследнееДвижениеТоваров.СкладКомпании = &СкладКомпании
И ПоследнееДвижениеТоваров.Номенклатура = &Номенклатура
СГРУППИРОВАТЬ ПО
ПоследнееДвижениеТоваров.Номенклатура
) КАК ВложенныйЗапрос
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
РегистрНакопления.ОстаткиТоваровОрдерныйСклад КАК ЯчейкиРазмещенияТоваров
ПО ВложенныйЗапрос.Номенклатура = ЯчейкиРазмещенияТоваров.Номенклатура И ВложенныйЗапрос.Период = ЯчейкиРазмещенияТоваров.Период
УПОРЯДОЧИТЬ ПО
ВложенныйЗапрос.Номенклатура,
ВложенныйЗапрос.Период
ПоказатьОстатки не стал "прикручивать", так как "концепция поменялась" :)
Упорядочивание, возможно, лишнее, ну да это я так, чтоб в консоли запросов покрасивее было :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот