Страницы: 1
RSS
Генерация вариантов сборки излишков
 
Всем привет!
Собственно, столкнулся со следующей проблемой на работе.
На складе остались излишки которые нужно реализовать через сюрприз-пакеты.
Излишков оказалось много, поэтому вручную собирать пакеты по каждому товару - долго и муторно((
Поэтому решил сделать макрос, который поможет генерировать эти пакеты самостоятельно, но видимо я переоценил свои возможности в программировании и поэтому решил написать сюда.
Для сборки есть свои правила:
1) в каждом пакете должно быть 6 категорий (то есть пакет должен состоять по одному товару из каждой категории от Category1....до Category6).
2) при переходе к сборке следующего варианта в учет должен браться остаток из предыдущего пакета (то есть если в первом варианте собрали 50 из 75 продуктов категории Category1, то для сборки следующего пакета остается 25 продуктов этой же категории и так далее пока не закончатся все товары)
3) в каждом пакете должно быть равное количество продуктов из каждой категории (то есть например 10 штук Category1, 10 штук Category2 и т.д.)
Задача - собрать все излишки в варианты пакетов, без остатка, иначе товар уйдет на уничтожение ((
Первое правило может поменяться ((. Поэтому было бы замечательно иметь текстовое поле с вводом ограничения вместимости категорий в пакет (то есть не 6 например а 7.
Эксель файл с примеров приложил.
Спасибо за помощь, так как это задача на мой испытательный срок  :(  и я боюсь провалить его..
Изменено: cosmo - 22.04.2018 15:45:39
 
 получилось 9 вариантов.:
Шт.С1С2С3С4С5С6
1833 3328 1235 1246125512641274
2748 3329 1236 1247125612651275
3480 3330 1237 1248125712661276
4179 3330 1238 1249125812671277
5114 3331 1239 1250125912681278
659 3328 1240 1251125912691279
759332912391250125812691280
859333212381249125912681277
930123412401251125812671279
Изменено: Ігор Гончаренко - 22.04.2018 17:36:51
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко
привет)

в каждом варианте получилось разное количество продуктов, а нужно равное (((

этот файл как пример
в реальности куда больше товаров
и вручную просчитывать варианты становится практически нереальным (
 
я макросом считал результаты те?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
я макросом считал результаты те?
не совсем понял  
 
cosmo, а без цитирования никак?  Запомните - кнопка цитирования не для ответа!
И что не поняли из ответа Игоря? Он написал, что данные получены макросом и спросил - правильно ли?
 
результаты те, что нужно?
чтобы было понятнее:
вар.1 из каждой ка тегории берем по 833 шт
кат1 код 3328
кат2 код 1235
кат3 код 1246
кат4 код 1255
кат5 код 1264
кат6 код 1274

вар.2 берем по 748 шт.  сооющении 2 написано какие коды товаров
и т.д
вар.9 берем по 30 шт. написано чего.
все больше вариантов нет (в одной из категорий закончились ВСЕ товары)

так нужно?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А, сорри, неправильно понял.
нет, макрос должен вывести равное количество товаров в каждой категории. То есть в случае варианта С1 должно быть 1234 в каждой категории. А из остатков от предыдущего варианта должен сформироваться следующий вариант С2
и т д
еще раз сорри за недопонимание ((  
 
Ігор Гончаренко
Да все верно. Важно чтобы все товары закончились, а на выходе получили варианты сборки равного количества товара на каждой категории.
Спасибо!  
 
вариант записан в строку!
С1 - это не вариант это категория 1
таблица в сообщении  2 такая:

      сколько        товар с каким кодом взять из категории
№      шт.
вар.  взять          Кат1    Кат2    Кат3    Кат4    Кат5    Кат6
1       833            3328    1235    1246   1255    1264    1274
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Шт.
1833
2748
3480
4179
5114
659
759
859
930
а дальше в строке написано 6 кодов товаров (товары с какими кодами составляют данный вариант) сколько взять написано в колонке 2
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,
Да, все верно.
это я просто неправильно понял таблицу. (Что взять,с чайника :cry: )  
 
см.вложение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,
Добрый день.
А можно напротив каждого кодика проставлять количество продуктов под каждым вариантом? Требуемый финальный формат файла во вложении.
Лист "Главный" - с исходными данными "Дано" и результатом "Как должно быть"
Лист "Фильтр V1" - чтоб было понятно как был собран вариант первого пакета (800 штук каждого продукта) и учет его остатка (33 штуки) на следующий (V2)
Лист"Фильтр V3" - чтоб было понятно как был собран следующий вариант, но уже с другими кодами продуктов
Колонка "М" - для подсчета остатка и надобности формирования следующего пакета.
Главное чтобы в каждом варианте пакета было равное количество штук продуктов из 6 категорий.
Цель - уместить все продукты в пакеты насколько это возможно. Вариантов может быть столько сколько потребуется для исчерпания всего количества. Возможны остатки которые не получится собрать в пакет, например из 6 категорий осталось 4 категорий по 20 или 15 штук - их я вручную обработаю в отдельный файлик, или дождусь пока не пополнится достаточное количество.
Спасибо.
 
Доброе время суток.
Версия на Power Query.
P. S. Интересно с этим коллегой вы из одного учебного заведения?
 
Цитата
cosmo написал:
А можно напротив каждого кодика проставлять количество продуктов под каждым вариантом
см. вложение
строка 3, вариант 1, напротив ВСЕХ кодиков поставлено 833 шт.
строка 4, вариант 2, напротив ВСЕХ кодиков поставлено 748 шт.
строка 5, вариант 3, напротив ВСЕХ кодиков поставлено 480 шт
продолжать???
после варианта 9, в котором напротив ВСЕХ кодиков поставлено 30 больше вариантоа нет, потому что в категории 1 закончились ВСЕ товары и в след. вариант можно будет включить только 5 продуктов, а из категории 1 взять больше нечего
Цитата
3) в каждом пакете должно быть равное количество продуктов из каждой категории
это же одно из условий задачи. какой смысл напротив каждого кодика в 1-м варианте писать 833 если условия говорят "должно быть равное количество продуктов"
Изменено: Ігор Гончаренко - 26.04.2018 23:13:44
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко,
Спасибо, разобрался!
Страницы: 1
Наверх