Распределение позиций накладной по остаткам на складах запросом. #809543


#0 by live in sky dreams
Имеем несколько складов. Склад1, Склад2, Склад3. Имеем товар "Номенклатура1", "Номенклатура2". имеем таблицу остатков ________________________ Склад1|Номенклатура1| 5| Склад2|Номенклатура1| 6| Склад3|Номенклатура1|-2| Склад1|Номенклатура2| 4| Склад2|Номенклатура2| 1| Номенклатура1|8 Номенклатура2|6 Задача: 1) Распределить накладную по остаткам (с какого склада сколько списать) 2) В случае если товара не достаточно - узнать какого товара и сколько нехватает. решаема ли задача с помощью запроса? По FIFO в запросе я читал, использовал в предыдущих задачах, но здесь: 1) Не от чего оттолкнуться в сравнении (наименование и код - повторяющиеся в строках поля) 2) Присутствуют отрицательные остатки на одном из складов (распровели перемещение и забыли, бывает) 3) Нужно понять чего и сколько нехватает Без решения первого пункта, я так понимаю, в дальнейших пунктах решения не найти. начнем с него.. Я максимум "умного" придумал получать в отдельном поле по группировочным полям результат конкатенации этих строк. А в дальнейшем соединить получившуюся таблицу с ней же и работать по примеру: Но как то это решение кажется мне кривым. Возможно есть более изящный способ? В общем, буду благодарен за любую помощь по задаче, если кому не лень в субботу,..
#1 by Ildarovich
Вот в этой статье приведено решение данной задачи . Рекомендую взять решение из комментария 37. Оно свободно от ограничений целочисленности. Вот, собственно, решение: Думаю, "ячейки" на склады заментить будет нетрудно.
#2 by Ildarovich
+ Если бы задали вопрос прямо на Инфостарте, получили бы ответ быстрее и выглядел бы он наряднее. Тут, например, ни грамматическую ошибку исправить нельзя, ни картинку к ответу приложить.
#3 by organizm
решение есть, но не вздумайте распределение делать запросом!
#4 by Смотрящий
там нет 37 комментария
#5 by Ildarovich
Посмотрите внимательнее - все-таки есть: Видимо, у вас вид представления комментариев - "дерево". Если упорядочить по дате, находить легче.
#6 by Ildarovich
Не соглашусь в данном случае. Тут распределяется ОДНА строка номенклатуры на относительно небольшое количество складов с остатками (думаю, не больше десятка-двух). В этом случае квадратичная зависимость времени работы запроса от числа строк, на которые идет распределение, отсутствует (одна строка конкретной номенклатуры! х несколько складов). Даже если строк несколько, их все равно меньше сотни, с чего начинается резкий рост. Поэтому к данному конкретному случаю обычно высказываемое предостережение не относится.
#7 by breezee
Зачем запросом? Просто для интереса - думайте сами) Если есть необходимость, на пример вы отчет на СКД делаете - укажите. Если можно кодом - лучше кодом. Задача "классическая". Это как решать возведение в степень через циклы, когда есть функция "pow".
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям