Имя: Пароль:
1C
 
Подскажите как лучше написать
0 seraf
 
12.08.08
11:32
Помогите сообразить
Есть например ТЗ полученая запросом по Товару1

           Количество    КоличествоВУпаковке
строка1 -           20                      2
строка2 -            9                      3
строка3 -           15                      3

надо списать к примеру 25 единиц товара, только порциями кратными количеству в упаковке, как лучше выяснить возможно ли это и отобрать строки к списанию?
1 magicSan
 
12.08.08
11:36
целый остаток  количество/колвупак...?????
2 seraf
 
12.08.08
11:38
(1) да то есть в этом случае списать надо 20шт из строка1 и 5шт из строка3... а может так получится что и не будет целого остатка, тогда прервать
3 magicSan
 
12.08.08
11:40
то есть тебе не надо списывать если получается списать сколько то и образуется недокомплектация?
4 seraf
 
12.08.08
11:42
(3) да списание только целыми упаковками, раскомплектовывать нельзя
5 magicSan
 
12.08.08
11:44
если товара 10 по 3 в упаковке списание есть?
6 magicSan
 
12.08.08
11:48
подсписание=количество/колвупак;
если цел(подсписание)=подсписание тогда
//списываем количество
иначе
//списываем скока можем цел(подсписание)*колвупак
конецесли;
7 seraf
 
12.08.08
11:48
(5)если товара надо списать 10, а есть упаковки по 3, то надо отложить 9 по этой строке и поискать упакованую 1шт... если не найдено продолжить поиск возможных вариантов по таблице, вот как такой поиск сделать не знаю
8 magicSan
 
12.08.08
11:48
оно?
9 magicSan
 
12.08.08
11:52
как ты их искать будешь?????
если те возращает уникальные строки тут сразу либо да либо нет....или есть другие пупаковким???смысл тот же
10 seraf
 
12.08.08
11:54
(8) почти... например мы списали по строке1 сколько можем и продолжили искать в оставшихся строках нужное соотношение и не нашли, а может строка2 + строка3 дали бы подходящий результат, или строка 10 + строка12 + строка15 и т.д.
вот такая заморочка, как все возможные варианты проверить
11 zag2art
 
12.08.08
11:57
Похоже у тебя уравнение: A = x1*k1 + x2*k2 + x3*k3 + ....
Где
А - сколько нужно списать,
к1-кn - количествоВупаковке 1, 2.
x1-xn искомые коэффициенты. (сколько упоковок каждого вида взять)

Причем к первому уравнению добавляется еще система неравенств из
x1 <= kol1/k1
x2 <= kol2/k2
...

Вот и решай
12 zag2art
 
12.08.08
11:58
В итоге имхо, все равно попахивает перебором, так как есть граничные условия
13 magicSan
 
12.08.08
12:05
(10) непонел...у тя же чётко прописано сколько в упаковке...или те пофиг????то есть можно в одну упаковку строу1 и строку 2??
           Количество    КоличествоВУпаковке

строка2 -            9                      2
строка3 -           15                      2

списываем по первой строке 8 птом по второй 7 , птом по первой и второй 2 ???
14 seraf
 
12.08.08
12:17
(13) 7 по второй не получится, мне без разницы из каких это строк списывается, главное цельными упаковками на нужное к списанию количество выйти
15 magicSan
 
12.08.08
12:18
строка1 -            9                      2
строка2 -            9                      2
строка3 -           16                      3
как себя будет вести спсиание?????
спишется 8 8 и 15 , далее?
16 magicSan
 
12.08.08
12:19
(14)поясни , непонел ..первое спишется нормально а второ нет..как так?
17 seraf
 
12.08.08
12:20
(15) в двух упаковках 9 товара не должно быть и в 16 3х, только кратно, иначе не понятно сколько в какой лежит, это уже разные строки будут
18 seraf
 
12.08.08
12:21
(11) задумал ты меня))
19 magicSan
 
12.08.08
12:22
на (15) поесни, чего и как должно делатся я ваще не панимаю чего ты хочешь....Дуба надо бы...
20 magicSan
 
12.08.08
12:23
(18)поясни на примере двух строк конкретно как они по одельности не могут быть списаны а всместе списываются
21 seraf
 
12.08.08
12:31
(15) не кратных строк быть не может
на примере (0)
11шт можно списать так - 2шт из строки1 и 9шт из строки3
но если мы по линейному методу возьмем 10 шт из строки1 - её максимум,
то на 1шт подходящих строк не найдем