Имя: Пароль:
1C
1С v8
Выборка строк запросом = определенной суммы
0 lkm000
 
21.09.22
13:45
Добрый день, подскажите пожалуйста есть простая таблица с колонками Номенклатура,Сумма в таблице к примеру 100 строк,надо выбрать запросом
те позиции номенклатуры где их общая сумма не превышает определенный лимит по сумме например >=1000
1 lodger
 
21.09.22
14:03
(0) стратегия выбора "лимит по сумме например >=1000" как выглядит?
взять самые дорогие позиции, например. это всегда будет что-то одно дороже 1т.р.
взять самые нищие позиции, например. это всегда будет солянка из самых дешевых штучек.
2 Metman
 
21.09.22
14:04
Если правильно понял, то нужно использовать ИМЕЮЩИЕ в запросе
3 PLUT
 
21.09.22
14:05
(0) это где такие тестовые задания дают?

нарастающие итоги в запросе загугли
4 НафНаф
 
21.09.22
14:53
т.к. решений может быть несколько и ничего другого не оговорено, то смело можно сказать, что пустая выборка соответствует условию задачи
5 alarm2020
 
21.09.22
15:44
(0) Это не надо делать запросом
6 lkm000
 
21.09.22
16:24
(5) Необходимо запросом , но наверное так не получится. Нарастающим итогом не совсем понял как сделать.
7 lodger
 
21.09.22
16:24
(5) на собесе может быть и нужно :)
8 PLUT
 
21.09.22
16:55
(6) отсортировать номенклатуру по цене, посчитать для всех строк нарастающий итог и выбрать строки, у которых сумма посчитанного итога меньше или равно определенному лимиту по сумме например меньше или равно 1000
9 Ботаник Гарден Меран
 
21.09.22
17:53
Искать на инфостарте тему "ФИФО для любопытных", затем "Баттерфляй - метод быстрого расчета нарастающего итога в запросе" Ильдаровича.
Прочитать, понять, если не понято, вернуться в начало цикла.
10 Fragster
 
гуру
21.09.22
17:58
да тут даже не нарастающий итог, а задача о рюкзаке запросом.
11 Said_We
 
21.09.22
19:51
(0) "где их общая сумма " - значит номенклатура может встречается несколько раз в таблице.
Задачу про нарастающий итог не увидел.

"не превышает определенный лимит по сумме например >=1000" - это как? < 1000 если не превышающие определенный лимит.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн