Распределить количество в запросе

1. Aleksey_Abramov 03.11.21 17:01 Сейчас в теме
Есть две таблицы: остатки и приход. Необходимо приход разместить так, чтобы не смешивать товары, при этом занять минимальное количество свободных ячеек. Можно ли это сделать в одном запросе? Если нет, то как лучше это сделать? Для визуализации нарисовал таблицу того что есть, и третью результирующую таблицу.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Nubsdale 03.11.21 17:11 Сейчас в теме
(1) если в таблице приход есть столбец ячейка то можно
Левое соединение по номенклатуре и по ячейке
5. Aleksey_Abramov 03.11.21 18:08 Сейчас в теме
(2) В том то и дело, что нету там ячейки.
10. SlavaKron 03.11.21 18:38 Сейчас в теме
(1)
Можно ли это сделать в одном запросе? Если нет, то как лучше это сделать?
"Хитрый" код запрос – плохой запрос. Распределяйте топорно во встроенном языке. Запросом получайте только сырые данные, необходимые для распределения и ничего более. Задача в рамках алгоритмизации – элементарная.
dehro; FatPanzer; +2 Ответить
11. Dr.HiHi 2 03.11.21 23:55 Сейчас в теме
(1) Ваш случай - это запрос списания по партиям
вот тут есть ;))
https://forum.infostart.ru/forum9/topic270031/
3. soft_wind 03.11.21 17:26 Сейчас в теме
(1) используйте запрос с нарастающим итогом
6. Aleksey_Abramov 03.11.21 18:09 Сейчас в теме
(3) Что за метод такой, "нарастающий итог"?
4. spe1c 5 03.11.21 17:56 Сейчас в теме
Можно, сначала соедините таблицы по номенклатуре, у вас получится таблица где размножится приход, потом через тэта соединение полученной таблицы самой с собой постройте запрос с нарастающим итогом, потом вычитая из размноженного общего остатка нарастающий итог для каждой ячейки получите нужное количество. Как-то так.
7. Aleksey_Abramov 03.11.21 18:09 Сейчас в теме
(4) Что за "тэта" соединение с нарастающим итогом?
8. coollerinc 196 03.11.21 18:12 Сейчас в теме
Нее, в запросе я вам не советую это делать. Получится не запрос, а монстр. Который сложно понять. И не факт, что это будет работать быстрее.
dehro; SlavaKron; FatPanzer; +3 Ответить
9. VladimirB 17 03.11.21 18:14 Сейчас в теме
(1) Посмотри здесь https://infostart.ru/1c/articles/386912/
сообщение (4)
Твой случай
12. starik-2005 3082 04.11.21 00:26 Сейчас в теме
Не мучайтесь - сделайте кодом после запроса. У Вас, как я понял, не пропорциональное распределение, а по свободному остатку, т.е. нужно просто заполнить свободные места сверху вниз. Запросом это сделать будет весьма непросто - даже думать не охота, на сколько. При том код очень простой...
Оставьте свое сообщение

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