|
Алгоритм для резервирования ТМЦ | ☑ | ||
---|---|---|---|---|
0
bahtik
24.08.14
✎
10:30
|
Здравствуйте!
Помогите, пожалуйста, решить задачу. За готовый рабочий код код готов заплатить 100 у.е. Самописная конфигурация, платформа 8.3.5. В конфигурации есть такие справочники: 1. Справочник "Номенклатура ТМЦ". В моей когфигурации он выполняет роль именно классификатора номенклатуры ТМЦ, а не справочника самих ТМЦ, как в типовых. Например, "Ботинки защитные", "Освежитель воздуха" и т.п. 2. Справочник "ТМЦ" - подчинен справочнику "Номенклатура ТМЦ", в котором хранится информация о конкретных ТМЦ. Например: "Ботинки защитные Wurth", "Ботинки защитные Red Wing", "Освежитель воздуха AirWick", "Освежитель воздуха Glade" и т.п. 3. Справочник "Варианты ТМЦ" - также подчинен справочнику "Номенклатура ТМЦ", и предназначен для хранения различных вариантов номенклатурных позиций. Например, для ботинок это могут быть "Размер 41", "Размер 42" и т.п. Для освежителей воздуха - "Запах лаванды", "Запах Лимона" и т.п. Есть регистр остатков "ТМЦнаСкладах", с измерениями "Склад" (СправочникСсылка.Склады), "НоменклатурнаяПозиция" (СправочникСсылка.НоменклатураТМЦ), "ТМЦ" (СправочникСсылка.ТМЦ) и "ВариантТМЦ" (СправочникСсылка.ВариантыТМЦ, может быть пустым) и ресурсом "Количество". Есть регистр "Резервы ТМЦ", с измерениями "Склад", "ЦелевоеНазначение", "НоменклатурнаяПозиция", "ТМЦ", "ВариантТМЦ" и ресурсом "Количество". Ну и соответственно есть документ "Резервирование ТМЦ", с табличной частью с реквизитами "НоменклатурнаяПозиция", "ТМЦ", "ВариантТМЦ", "Количество". Сложность состоит в том, что при резервировании в этом документе можно не указывать ТМЦ либо ВариантТМЦ (либо ни то, ни другое). Т.е пользователь может оформить резерв в 4 вариантах: "Освежитель воздуха Glade с запахом лимона", или "Освежитель воздуха с запахом лимона" или "Освежитель воздуха Glade" или просто "Освежитель воздуха". Два дня пытаюсь написать соответствующий код, но получается уж очень сложный алгоритм, который кучу раз обращается к данным. Кто может подсказать, как это сделать правильно? Повторяю, за готовый код заплачу 100 у.е. |
|||
215
bahtik
26.08.14
✎
22:23
|
(212) Зачем ТЗ характеристики в Номенклатуре? Я же четко описал, как сделано. И с характеристиками там проблем нет.
|
|||
216
vde69
26.08.14
✎
22:24
|
(214) это решение которое можно реализовать, которое будет работать БЫСТРО и вполне потянет сотню активных юзеров
|
|||
217
vde69
26.08.14
✎
22:25
|
(215) это шаблон характеристик на все подчиненные элементы.
согласись характеристики освежителей и ботинок разные.... |
|||
218
Злопчинский
26.08.14
✎
22:25
|
(211) это почему он не решает задачи: поступили две заявки, под них успешно разлеглись "резервы", по сделанным резервам успешно отгрузились заявки. Я как-то считаю, что задача выполнена.
|
|||
219
vde69
26.08.14
✎
22:25
|
(216)я не настаиваю, можно и в регистре
|
|||
220
Злопчинский
26.08.14
✎
22:26
|
(215) если у тебя все работает - что ты ищешь здесь в нашем убогом местечке..? ;-)
|
|||
221
bahtik
26.08.14
✎
22:27
|
(217) Соглашусь, что разные, но я уже писал, что для этого есть справочник "Варианты ТМЦ". Для элементов этого справочника можно определять любые характеристики в любом количестве с помощью планов видов характеристик.
|
|||
222
bahtik
26.08.14
✎
22:28
|
(220) Где ты взял, что все работает? Прекрати писать ерунду.
|
|||
223
Злопчинский
26.08.14
✎
22:28
|
(212) вон даже vde69 описывает конкретное решение практически уже - почти то что я изложил. По крайне мере мне понятен ход мыслей vde69
|
|||
224
bahtik
26.08.14
✎
22:28
|
(218) Считай дальше.
|
|||
225
bahtik
26.08.14
✎
22:29
|
(223) Тебе не понятно главное. Суть моей задачи. И я уже уверен, что до тебя никогда не допрет.
|
|||
226
Злопчинский
26.08.14
✎
22:31
|
(22) еще раз: по варианту Б) описан вариант реализации. которы йрешает твою задачу. на складе есть две номенклатуры. Поступили 2 заявки, в однйо из которых номенклатура не совпадает ни с однйо из конкретных номенклатур. далее показа вариант "резервирования", который при отгрузке позволяет удовлетворить хотелку клиента.
|
|||
227
bahtik
26.08.14
✎
22:31
|
(226) Прекрати писать ерунду и позориться.
|
|||
228
vde69
26.08.14
✎
22:31
|
в моем решении
в первом регистре храним остатки во втором регистре храним все возможные варианты заказа для конкретного документа в третьем регистре храним текущие (максимально подходящие под остатки) варианты резервов |
|||
229
bahtik
26.08.14
✎
22:32
|
(226) Ладно, ты все решил, молодец. Только успокойся, прошу тебя. ))
|
|||
230
Злопчинский
26.08.14
✎
22:33
|
(225) снизрйди господи до нас смертных, нарисуй для варианта
остаток на складе: - Освежитель лемон аурум = 1шт - освежитель лемон Глейд = 1 шт. . заявка клиента1: освежитель лемон = 1шт. заявка клиент2: освежитель лемон глейд = 1шт. . ход расчетов вплоть до проведени яотгрузки - в том числе какие расчеты нужны (если нужны) непосредственно в самой отгрузке.. |
|||
231
Злопчинский
26.08.14
✎
22:34
|
(228) - второй регистр для ускорения нахождения решения при поступлении новых заявок..?
|
|||
232
bahtik
26.08.14
✎
22:38
|
Ладно, снизойду и попробую последний раз вразумить тебе, в чем суть. Давай пошагово:
Есть остатки: Освежитель воздуха, Глейд, Лимон - 10 шт. Освежитель воздуха, Глейд, Роза - 10 шт. Поступает заявка: Освежитель воздуха, Глейд, <Пусто> - 15 шт. Что ты будешь резервировать? |
|||
233
vde69
26.08.14
✎
22:38
|
(231) да, это самая главная фишка, промежуточное хранение плюс быстрое проведение (отсутствие блокировок).
кроме того в этом регистре можно сделать что-то типа "активен". по идее если удастся прикрутить последовательность для регламентного расчета конкретного документа. |
|||
234
Злопчинский
26.08.14
✎
22:44
|
(232) Просчет1
Резервирую: "Освежитель воздуха, Глейд" (Освежитель воздуха Глейд Лемон) - 10 шт "Освежитель воздуха, Глейд" (Освежитель воздуха Глейд Роза) - 5 шт . Следующий вопрос..? (заметь - я стараюсь быть как можно более конкретным) |
|||
235
vde69
26.08.14
✎
22:45
|
(233) правда количество вариантов следует ограничить разумным количеством
|
|||
236
Злопчинский
26.08.14
✎
22:45
|
(233) угу, понятно
|
|||
237
bahtik
26.08.14
✎
22:47
|
(234) Молодец, зарезервировал! Идем дальше... Приходит Клиент №2 и говорит: "Дайте мне один освежитель воздуха с запахом лимона". Твои действия?
|
|||
238
Злопчинский
26.08.14
✎
22:49
|
Просчет2
Резервирую: Заявка1, "Освежитель воздуха, Глейд" (Освежитель воздуха Глейд Лемон) - 5 шт Заявка1, "Освежитель воздуха, Глейд" (Освежитель воздуха Глейд Роза) - 10 шт . Заявка2, "Освежитель воздуха, Лемон" (Освежитель воздуха Глейд Лемон) - 1 шт |
|||
239
Злопчинский
26.08.14
✎
22:50
|
Следующий вопрос..?
Топичи клаву быстрее мне на автобус бежать... |
|||
240
bahtik
26.08.14
✎
22:51
|
(238) И как это у тебя так зарезервировалось? Ты же уже 10 лимонов зарезервировал )))
|
|||
241
bahtik
26.08.14
✎
22:53
|
(238) Теперь подумай сам, какой смысл в этом резервировании-перерезервировании? И попробуй ка написать процедуру, которая будет делать то, что ты тут написал.
|
|||
242
Злопчинский
26.08.14
✎
22:53
|
(240) ОЧЕНЬ ПРОСТО ЗАРЕЗАЕРВИРОВАЛ - У МЕНЯ НЕТ СТАТСИЧЕСКИХ РЕЗЕРВОВ.
. взял наличные заявки в составе Освежитель воздуха, Глейд, <Пусто> - 15 шт. Освежитель воздуха, <Пусто>, Лемон - 1 шт. . и "разнес" их на складские остатки. . |
|||
243
bahtik
26.08.14
✎
22:55
|
(242) Ты же сам себе противоречишь. Что значит "разнес их на складские остатки"? Это и есть твои "статические резервы", как ты выражаешься.
|
|||
244
Злопчинский
26.08.14
✎
22:55
|
(241) ну по крайне мерея я написал что нужен некий алгоритм, который будет делать таое "резервирование".
. от тебя пока что не дождался раскладки - по товему примеру - распиши, как ты будешь резервировать. . у меня Просчет1 и просчет2 - это "процедура", которая возвращает нужджный ОПТИМАЛЬНЫЙ результат. . жду от тебя варианта товего |
|||
245
bahtik
26.08.14
✎
22:56
|
(242) И повторяю - напиши ка процедуру, которая будет это делать. Тогда до тебя точно должно дойти, в чем проблема.
|
|||
246
bahtik
26.08.14
✎
22:57
|
(244) Ты вообще соображаешь, что пишешь? )))) Я эту тему начал с вопроса: "подскажите, какой должен быть алгоритм, чтобы это реализовать". А ты мне отвечаешь: "Должен быть какой-то алгоритм ))))
|
|||
247
bahtik
26.08.14
✎
23:01
|
В общем, вопрос ты уже, кажется, начинаешь понимать. Я надеюсь. Если напишешь процедурку, то еще и 100 баксов заработаешь ))
|
|||
248
bahtik
26.08.14
✎
23:02
|
Но лучше беги на автобус, а то опоздаешь ;)
|
|||
249
roman52
26.08.14
✎
23:33
|
а хорошо ведь вбросил, вон сколько алгоритмов предложили )))
по теме: время жизни у резерва какое? |
|||
250
Злопчинский
27.08.14
✎
00:32
|
(245) фигли тебе подсказывать - когд анаичнешь тебе верхние слои алгоритма разъяснять - ты орешь что мы все тупые и нихрена не понимаем... ;-)
|
|||
251
Злопчинский
27.08.14
✎
00:39
|
у тебя в (63) написано: "Задача в том, что мы не ставим в резерв конкретных ТМЦ.."
. ну и у меня так же: Заявка1, "Освежитель воздуха, Глейд" - 05 шт Заявка1, "Освежитель воздуха, Глейд" - 10 шт Заявка2, "Освежитель воздуха, Лемон" - 01 шт . то что я к этим НЕКОНКРЕТНЫМ тмц в скобочках указал наши конкретные ТМЦ - так это просто полезный бонус, который мне облегчит жизнь... . и то что у тебя описывается словами типа "...мы понимаем, что можем обеспечить заявку клиента" - у меня "реализует" процедура "Пересчет". . Я надеюсь ты как-то предполагаешь/предполагал фиксировать то, что ты "понял, что способны удовлетворить заявку"..? - да, каким-то способом скорее всего делаешь это. Я тоже такое "понимание" фиксирую - так как это описано в (234). С каждой пришедшей заявкой я снова делаю попытку понять, могу ли я удовлетворить новую пришедшую заявку - и снова такое понимание "фиксирую". если таковое "понимание" тем или иным образом не фиксировать - придется делать как минимум на один расчет больше - придется делать расчет при оформлении отгрузки - тогда ведь какими-то общими резервами не обойдешься - придется грузить вполне конкретную номенклатуру. а опыт показывает что клиентура ждать вообще не любит - ни 5 минут, не 10, ни вообще даже 2 минуты. ей возьми и положь прямо сейчас... . . |
|||
252
Злопчинский
27.08.14
✎
00:43
|
(247) 100 убитых енотов мне погоды не делают, я такие суммы трачу обычно не глядя... так что за тарелку супа - ты вон к vde69 стучись - он в теме, сделает тебе за 100 бакинских...
. или вот rsergio обещал по быстрому запросец наклепать... . а если не осилишь - тады уже стучись... будет время - повертим задачу (хотя я сильно осмневаюсь что уменя будет свободного времени, своей работы хватает). . Но такие задачки - интересные, оживляют нашу серую 1сную жизнь... |
|||
253
Злопчинский
27.08.14
✎
00:46
|
(249) гораздо интереснее -
1. каково среднее суммарное количество позиций всех активных заявок клиентов, которые одновременно могут стоять в у нас в "резерве" и 2. каков средний размер в строках одной заявки клиента...? 3. каков средний темп поступления заявок клиентов (считаем что совпадает с темпом отгрузок) и поступленйи товаров..? |
|||
254
vde69
27.08.14
✎
08:22
|
(252) примерную оценку я озвучил в начале ветки, это от 50 до 100 тр, так, что 100 бакинских тут катит только если есть чисто спортивный интерес....
(253) о чем я твержу уже 3 дня, конкретика решения СИЛЬНО будет зависить от предпологаемых объемов. Например ту-же задачу рюкзака (которую хдесь обязательно нужно решать) для 100 заявок можно решать перебором, а для 10 000 перебор поставит базу колом... |
|||
255
rsergio
27.08.14
✎
08:41
|
Когда я писал, что сделаю одним запросом, то не осознал еще суть задачи, когда осознал было уже поздно :)
Решил все-таки попробовать решить задачку т.к. было немного свободного времени. Разложив все на листочке и понял, что запросом точно не решить т.к. нужна вариативность, что никакими соединениями не решить. Далее прикинул как решать задачу математически. Берем остатки, откидываем точные резервы (где указан ТМЦ и ВариантТМЦ), откидываем общие резервы (где ничего не указано) и строим таблицу пересечений ТМЦ и ВариантаТМЦ. Далее задача сводится в нахождении таких резервов, которые решает задачу локально без отрицательных остатков. Начал реализовывать механизм. Первая версия решала просты примеры (как тут описывается), но входила в цикл при попытки решения более сложных задач, когда у нас есть все понемного, а резервы хитрые. На этом моменте я понял: - Задача не решается ни за 10, ни за 100$. - Вроде как основную массу кода написал и уже осталось совсем немного, но предположил что это "совсем немного" может затянутся на несколько дней отладки - Согласен с Злопчинским, что резервы нужно считать сразу же. Почему? Потому что если мы просто ответим при резервировании "Можно!", то при отгрузке не понятно "А что можно то?" И задачу нужно будет решать повторно по тому же алгоритму. С учетом, что это практическая модель, а не логическая, то думаю таких вот хитрых резервов в базе не должно быть слишком много. - Задача изначально не жизненная. Зачем нужны такие хитрые резервы и зачем их решать именно таким способом? Я не нашел примеров из жизни когда это нужно, вернее когда без этого обойтись совсем нельзя. В общем немного напряг мозги, за что отдельное спасибо. Но дальше лезть и добивать код уже нет мотивации :) |
|||
256
vde69
27.08.14
✎
08:56
|
что-бы не мусолить сабж может кто попробует описать математическую модель нахождения варианта резервирования по условиям в сабже?
|
|||
257
sf
27.08.14
✎
09:11
|
(256) математическую модель? да ораторы тут на личности уже переходят, поэтому и не видят очевидного:
типовая УТ, регистр свободные остатки. Можно делать резерв по товар+серия, Товар + <пустая серия> Сделать контроль остатков по Количеству и Количеству по сериям сводно. Задача в сабже отличается только тем, что надо будет добавить ресурс "сводно по виду ТМЦ" p.s. как работает регистр "Свободные остатки" описывать не надо? ) |
|||
258
vde69
27.08.14
✎
09:23
|
(257) да пофигу на регистр, ты скажи чего ты писать будешь в резерв при таком заказе
ВидТмц=Шампунь Номенклатура=Неопределено Количество=100 и после записи как будешь расчитывать сколько какого шампуня свободно???? |
|||
259
sf
27.08.14
✎
09:36
|
(258) не поверишь так и запишу)
хватит мыслить шаблонами. открой УТ - посмотри как сделан регистр свободные остатки и как сделан контроль. |
|||
260
John83
27.08.14
✎
09:49
|
(5) т.е. за день работы ты готов заплатить только 100$?
|
|||
261
sf
27.08.14
✎
09:49
|
движения по регистру СвободныеОстатки (вид ТМЦ / Номенклатура):
поступление товаров - запись приход : "Освежитель" - "Glade" - 100 шт - 100 шт резервирование (допустим нам не важно, любой освежитель). Запись расход: "Освежитель" - "Неопределено" - 20 шт - 0 шт Резервирование конкретного освежителя: Запись расход: "Освежитель" - "Glade" - 30 шт - 30 шт Итого имеет итоговую таблциу остатков "Освежитель" - <пусто> - 50 шт - 70 шт "Освежитель" - "Glade" - 70 щт - 70 шт Это значит, что мы можем зарезервировать не более 50 шт (Сводно по освежителю) Как проверять остатки при резервировании и запросы, надеюсь не попросите писать? |
|||
262
vde69
27.08.14
✎
09:51
|
(259) то есть ты зарезервируеш пустую номенклатуру? и как будешь получать свободный от резерва остаток если у тебя 10 разных шампуней? Ты для каждого уменьшишь остаток на 100 или еще как?
Просто опиши как это будет выглядеть в форме подбора, выбрал я любой шампунь а там факт-100 ???? Просто словами опиши что будет видеть пользователь, что-бы ему было понятно, что резерв есть, но он зависит от наличия на складе других шампуней.... |
|||
263
vde69
27.08.14
✎
09:56
|
(262)+ кстати этот вопрос относится и к автору, интересно услышать его мнение
|
|||
264
fmrlex
27.08.14
✎
09:57
|
Тут думается мне не надо хранить абстрактные заказы, а нужно сделать систему принятия решения.
Т.е. поступает заявка "Любых освежителей с запахом лимона", нужно автоматом принять решение о резерве и зарезервировать конкретный товар. Ну и приделать в форме заказа кнопку с различными стратегиями принятия решения. |
|||
265
vde69
27.08.14
✎
10:00
|
кстати я наконец понял почему нет решения задачи, все ее пытаются решить с головы (с документа резерва), а ее нужно решать с хвоста (с пользовательского отображения резервов при подборе, отчетов по остаткам и документам списания).
автору следует продумать сначало хвост, тогда будут видны решения.... |
|||
266
fmrlex
27.08.14
✎
10:02
|
(265) "с пользовательского отображения резервов при подборе, отчетов по остаткам и документам списания"
Если хранить абстрактные заказные позиции, то там черти-что будет. |
|||
267
vde69
27.08.14
✎
10:37
|
(266) вот это и нужно решить сначала. Без решения этой задачи в теории все остальное бесполезно.
|
|||
268
fmrlex
27.08.14
✎
10:40
|
(267) Ну вот поэтому и я предлагаю не хранить абстрактные позиции, а на этапе заказа автоматом подбирать РЕАЛЬНЫЕ позиции. Т.е. просто сделать помощник выбора по абстрактному запросу. Этим самым мы не поломаем все остальные механизмы и удовлетворительно решим задачу.
|
|||
269
fmrlex
27.08.14
✎
10:48
|
(0) Кстати, эта (268) идея как раз и стоит 100$.
|
|||
270
akronim
27.08.14
✎
11:32
|
(268) Возможно, удовлетворительно. Но не полностью. Пример:
Освежитель Лимон 100шт Освежитель Апельсин 100шт Пришел заказ на 100 освежителей любых. Зарезервировалось, например: Освежитель Лимон остаток-100шт; резерв-100шт; своб.остаток-0шт Освежитель Апельсин остаток-100шт; резерв-0шт; своб.остаток-100шт Пришел второй заказ Освежитель Лимон 50шт. Пересчитываем текущие заказы. Граничные два случая (между ними возможны промежуточные случаи, но к ним тот же вопрос): А) Освежитель Лимон остаток-100шт; резерв-100шт (по 50 шт на первый и второй заказы); своб.остаток-0шт Освежитель Апельсин остаток-100шт; резерв-50шт (на первый заказ); своб.остаток-50шт Б) Освежитель Лимон остаток-100шт; резерв-50шт (на 2-й заказ); своб.остаток-50шт Освежитель Апельсин остаток-100шт; резерв-100шт (на 1-й заказ); своб.остаток-0шт А теперь вопрос - какие свободные остатки у нас сейчас на складе после двух резервов? Иными словами - как ответить на вопрос клиента "а какие освежители у вас сейчас доступны"? Если резервировать РЕАЛЬНЫЕ позиции, то в случае А не увидим остаток лимонного, в Б - апельсинового. Несмотря на то, что правильный ответ (что в резерв сможем поставить) - либо 50шт одного либо 50шт другого (или 49шт одного и 1шт другого; или 48 одного и 2 другого). В общем случае получаем, что у нас свободные остатки - не одно число на каждый товар, а хренова гора комбинаций. И, как верно тут уже заметили, начинать думать надо с этого; рассматривать какие-то частные случаи. |
|||
271
fmrlex
27.08.14
✎
13:10
|
(270) Ну это да. Решение не идеально.
Тогда либо придется формировать заказ поставщику (в этом случае мы оставляем на складе то, что могли бы продать), либо производим переформирование заказов при поступлении заявки, что приведет к прогрессирующему усложнению пересчета при поступлении новых заявок. В любом случае нечеткие потребности это мощное усложнение алгоритмов, что будет нагружать все что можно. Поэтому надо думать в направлении формирования четких заказов (отослали прайс покупателю, он понаделал отметок, скинул обратно, загрузили посчитали) А вот колхозные заказы по телефону: "дай мне чего-нибудь того и потом того" - это муторно и очень неоптимально. |
|||
272
fmrlex
27.08.14
✎
13:12
|
+(271) Лучше сделать сайт с прайсиком и корзиной и плясать от этого.
|
|||
273
Torquader
27.08.14
✎
13:33
|
(270) А для этого есть система характеристик - у нас Освежитель - это товар и его у нас 200 на складе и 150 в резерве. А требует ли резерв точного указания характеристики или нет - это уже вопрос к реализации.
Просто, если мы вводим аналоги, характеристики и т.п., то потом может оказаться, что для кого-то кипятильник и утюг - это аналоги. Поэтому, или точный резерв по конкретным позициям, а в случае приближённого - списание "по среднему", то есть чтобы конечные резервы всех аналогов оказывались наиболее близки друг другу, или использование характеристик и аналогов и куча головной боли с проверкой доступности товара. |
|||
274
Злопчинский
27.08.14
✎
14:28
|
(255) спсб, я рад что наши оценки совпадают
|
|||
275
Злопчинский
27.08.14
✎
14:36
|
(254) тут не столько количество заявок, скольок суммарное количество строк в живых заявках
|
|||
276
akronim
27.08.14
✎
14:39
|
(273) "у нас Освежитель - это товар"
Ненене. По условию задачи у нас Освежитель - это номенклатурная группа, а Лимон и Апельсин - это разные товары. С разными ценами, производителями, поставщиками, артикулами, фасовкой, объемом, еще один из них - российского производства, а другой - ЕС. И у каждого из них еще по нескольку характеристик. "его у нас 200 на складе и 150 в резерве" Ага. Вот только как без точного резерва точно сказать, какие запахи доступны для продажи у этих 50 свободных штук? Как-то не вижу я решения без точного резерва. Надо у того товарища спросить, который ут 10 предлагал. |
|||
277
Злопчинский
27.08.14
✎
14:39
|
(268) не прокатит. если не "хранить "где-то абстрактные позиции - не удастся выполнить максимальное обеспечение отгрузок или таковое обеспечение сожрет существенно больше ресурсов
|
|||
278
Злопчинский
27.08.14
✎
14:49
|
(270) > А теперь вопрос - какие свободные остатки у нас сейчас на складе после двух резервов?
. Свободные остатки у нас на складе - ответ на этот вопрос несущественен в рамках рассматриваемой задачи. Так как клиента интересуют не конкретные позиции, а "обощенные" хотелки... . > "Иными словами - как ответить на вопрос клиента "а какие освежители у вас сейчас доступны" - в рамках того как я описывал (с фиксацией к обощенной хотелке клиента конкретной номенклатуры, закрепившейся к обобщенной) - ответ дается практически мгновенно - достаточно снять обычный отчет по свободным остаткам - только потому что в вопросе максимальная степень обобщенности "Освежители". . А вот ответ на вопрос "у вас есть освежители Глайд" - потребует пересчета "резервов" (без запоминания варианта расчета) - потому что это даже не фиксация хотелки клиента. И если через 5 минут клиент созреет для заказа - может оказаться что фиг вам - "Освежитель Глейд" - уже будет недоступен для этого клиента (как в ситуации с обычными резервами на обычные товары) |
|||
279
Torquader
27.08.14
✎
14:49
|
(276) Если товары разные, то поставить в резерв "сферического коня в вакууме" нельзя, даже если у них одинаковая цена.
Просто тогда задача похожа на "у меня есть 3 тыс.рублей - поставьте мне что-нить в резерв на эту сумму - я приеду и заберу" - для конечного покупателя, конечно, абсурдно, а для оптовиков - вполне себе. Не забываем, также, что резервы бывают "мягкие" и "жёсткие" - если выставлен счёт, то всё, что по счёту должно быть в жёстком - если резерв ещё до выставления счёта, то он "мягкий" - так сказать - меняемый. А если выставляется счёт, то в нём должны быть конкретные позиции. |
|||
280
Злопчинский
27.08.14
✎
14:58
|
(271) > Поэтому надо думать в направлении формирования четких заказов
.ясен пень - клиен прислала какие-то общие хотелки, а мы зарезервировали конкретные номенклатуры - так бы было зашибись... Однако у топикстартера - одно из требований к алгоритму - максимальное удовлетворение заявок, а это можно обеспечить только при полном пересчете всех текущих "резервов" при поступлении новых заявок. . Вдобавок надо иметь в виду - клиент прислал заявку, мы ее обощенно зарезервировали - ага... 30 тыс (если танцевать от фиксированных позиций, соответсвующих обобщенным). Клиент приезжает - оказывается что нифига не 30 тыс, а 40 - потому что пока ехал - куча заявок пришла от клиентов и вся ситуация с резервирвоанием обобщенных - поменядась... Такой вариант может быть неудовлетворительным. А это значит, что после соглдасования суммы - обобщенный заказ превращается в менее обощенный - при пересчете позиции можно менять примерно на такие же по цене. . ясен пень, если клиента сумма заказа как таковая не волнует вообще, вплоть до момента получения товара - все гораздо проще - считаем сумму по факту отгрузки... но тут ооооо!!! открывается море перспектив - клиенту сразу втюхиваем максимально дорогой/с наибольшим доходом товар (это второе условие оптимизации после макисмального обеспечени язаявки)... . ;-) |
|||
281
Злопчинский
27.08.14
✎
15:00
|
(279) я думаю что до счетов у ТС вряд ли дело доходит.. ;-) скорее всего это "большой ларек" куда приезжают затариваться всякие ларечники/ипшники... по факту...
|
|||
282
fmrlex
27.08.14
✎
15:04
|
(279) Поэтому пусть делают сайт или пускают в базу покупателей и пусть себе набирают чего хотят.
|
|||
283
Ненавижу 1С
гуру
27.08.14
✎
15:05
|
1. Выкинуть первый справочник нах
2. Третий подчинить второму 3. У второго добавить булев реквизит: УчетПоВариантам, если Истина, то вариант указывать обязательно |
|||
284
fmrlex
27.08.14
✎
15:06
|
(283) Ну все. 100 баксов теперь точно твои.
|
|||
285
akronim
27.08.14
✎
15:09
|
(278) Читая твои посты, я ощущаю себя сказочно тупым.
"ответ дается практически мгновенно - достаточно снять обычный отчет по свободным остаткам - только потому что в вопросе максимальная степень обобщенности "Освежители"" Вот у меня в 270 маленький пример. Какой отчет может показать доступные для покупки освежители в разрезе запахов - учитывая 51 разную комбинацию ?? |
|||
286
Torquader
27.08.14
✎
15:23
|
На самом деле, все "замечательные" рассуждения - только на тот случай, когда работает один (или несколько менеджеров) - если их становится много, то может получаться так, что на этапе добавления в документ товар был, а на этапе проведения резерва - уже нет.
И решение проблемы как сделать так, чтобы максимально соответствовать реальным остаткам на момент подбора - тоже не очень простая. |
|||
287
Злопчинский
27.08.14
✎
15:25
|
(285)не гони волну ;-) в твоем вопросе изначально было ""а какие освежители у вас сейчас доступны"? - про "в разрезе запахов ничего сказано не было...
. > "Какой отчет может показать доступные для покупки освежители в разрезе запахов" ?? - тривиальный отчет: "выдергиваем" все наши конкретные существующие товары, которые подходят под шаблон "Освежитель+Запах", сворачиваем их до уникальных кортежей "Освежитель+Запах", из полученного перечня формируем псевдозаявку клиента, натравливаем на нее наш красивый алгоритм "пересчета/резервирования" - получаем ответ в виде аналогичном проводящемуся штатно резеривроанию. |
|||
288
Злопчинский
27.08.14
✎
15:30
|
(286) угу, тут извините от ЧЕТКИХ подборов и ручных действий манагеров придется отказаться. Тем или иным образом "вколотили" заявку клиенат в обобщенном виде - запулили в очередь на проведение/расчет. получили результат. Через 5 минут клиент звонит - эээ там я просил 6 освежителей.. вы это.. ну там.. вычеркните - мне надо 3 лимона + 2 яблока и обязательно один Глейд - вколотили - ушло в очередь - все "резервы" переколбасились - удалось удовлетворить - зашибись... не удалось - извините.. единсевенный выход удовлетворить клиента - предложить ему увеличит порог обобщенности - вместо 3+2+обязательно глейд" снова вернуться к "просто 6 освежителей"... или посчитать возможные варианты, близкие к затребованным кдиентом - вместо лемона - грейпфруты.. ;-)
|
|||
289
Torquader
27.08.14
✎
15:31
|
И ещё не забываем случаи, когда пересчёт одного в другое идёт не 1 к 1, например, изделие в упаковке 2, 3 или 4 (как обычно батарейки продаются).
|
|||
290
Torquader
27.08.14
✎
15:33
|
(288) Все обобщения могут быть только на стадии формирования заявки, а когда выставлен счёт, то там не может быть "шесть освежителей" - там должны быть перечислены все позиции.
|
|||
291
Torquader
27.08.14
✎
15:34
|
А вот то, что система резервирования будет показывать менеджеру аналоги существующего товара - это должно быть - иначе выбор очень сложный.
И не забываем, что склад может быть не один - поступление товара от поставщика через два дня, например, идёт в резервирование или ждём, когда товар реально приедет ? |
|||
292
vde69
27.08.14
✎
15:42
|
(291) резиновые сапоги и калоши это аналоги???
тут вопрос сложный ними :) |
|||
293
Злопчинский
27.08.14
✎
15:50
|
Фигли тут обсуждать...
ждем когда ТС сумку с баблом из кабинета гендира принесет.. |
|||
294
fmrlex
27.08.14
✎
16:01
|
(293) ТС похоже в срочном порядке место работы меняет.
|
|||
295
akronim
27.08.14
✎
17:07
|
(287) "в твоем вопросе изначально было ""а какие освежители у вас сейчас доступны"? - про "в разрезе запахов ничего сказано не было... "
Ах ты к словам придираешься?! Тогда я... тогда я... тоже начну, вот! Всего два разных освежителя; разные они - запахами. Т.о. "какие" - может означать только "какие в разрезе запахов", ибо других разрезов освежителей в моем выдуманном простом примере нет. Далее. Ты продолжаешь заставлять меня чувствовать себя тупым. Где в процессе "выдергивания" на менеджера выскочит 51 вариант доступных товаров? При "из полученного перечня формируем псевдозаявку клиента"? Лично мое мнение, что если эти варианты в какой-то момент на менеджера выскочат, то это будет пример решения математически верного, но в прикладном плане бесполезного. А без этого я совсем не понимаю, как реализовать подбор по свободным остаткам. (293) Не принесет ТС от гендира ничего, кроме жалостливой истории. |
|||
296
sf
27.08.14
✎
17:25
|
(262) (263)
да легко. форма подбора в виде: "Товар" "запах" "Остаток своб" "остаток" "Освежитель " "<все сорта>" 50 шт (100шт) "Освежитель" "glade" - 50 шт (50 шт) "Освежитель" "glade2" - 50 шт (50шт) |
|||
297
Злопчинский
27.08.14
✎
18:51
|
(295) ямщик, не гони лошадей... ;-)
если "какие освежители доступны" - то достаточно штатный отчет по свободным остаткам с фильтром по группе/свойству "Освежитель" - тупо берем наши конкретные номенклатуры, имеющиеся на свободном остатке (куда не входят наши конкретные номенклатуры, закрепленные под резервы общих товарных позиций из заявок клиентов). . а если надо в "разрезе запахов" - то ответ имеет больше одного решения в общем случае (см. выше vde69 пример нескольких вариантов "общего" резервирования удовлетворяющих заявкам клиентов, но с разными нашими товарными позициями под обеспечение общих резервов) - вам какое решение вывести в ответ? есть решение которое полуучается быстро - будет один расклад по освежителям-запахам, возможны другие варианты ответов - они потребуют пересчет текущих "резервов" - вам что надо..? |
|||
298
Злопчинский
27.08.14
✎
18:53
|
(295) на менеджера - ничего не будет "выскакивать" (если бы я делал). Потому что ненужная эта инфа.. тем более в виде "51 варпианта" - нахрена ему что-то выскакивать/показывать..? оно что будет делать - считать быстрее и лучше чем комп? - полностью уверен что нет. все что манагеры делают ручками - все криво и косячно в мегаподавляющем колве случаев. особенно при большом потоке инфы.
|
|||
299
Злопчинский
27.08.14
✎
18:56
|
.. поэтому (296) - абсолютно бесполезная инфа для манагеров, и может прокатить когда заявки состоят из 1-3 строк... при суммарном количестве "резервов" строк примерно до 15-20. да и это количество не осилят.
|
|||
300
Злопчинский
27.08.14
✎
18:57
|
||||
301
Злопчинский
28.08.14
✎
18:33
|
ну что там? как дела? ТС где-то потерялся...
|
|||
302
Garykom
гуру
28.08.14
✎
18:49
|
(301) и ... с ним лучше с Алгоритм нахождения подстрок в строке помогите ))
|
|||
303
bahtik
28.08.14
✎
19:44
|
(276) Совсем не так. Изначально Шампунь - это да, что-то вроде номенклатурной группы (если выражаться правильным языком, то это номенклатурная позиция). Но Лимон и Апельсин - это не разные Товары. Разные товары - это:
... - Шампунь Лореаль Мультивитаминный 0.2 л. - Шампунь Лореаль Мультивитаминный 0.5 л. - Шампунь Лореаль Восстановление волос 0.2 л. - Шампунь Лореаль Блестящие волосы 0.2 л. ... И еще есть варианты товаров. С шампунями реального примера не приведешь, но вот, например с обувью это будет: ... - 41 размер черные - 41 размер коричневые - 41 размер синие - 42 размер черные - 42 размер коричневые - 42 размер синие - 43 размер черные - 43 размер коричневые - 43 размер синие ... И нет никаких "других характеристик", о которых ты говоришь. |
|||
304
bahtik
28.08.14
✎
19:46
|
(278) Вообще ничего подобного
|
|||
305
bahtik
28.08.14
✎
19:47
|
(280) Ужасная логика.
|
|||
306
bahtik
28.08.14
✎
19:54
|
(283) Ну это стандартная структура справочников. Раньше в конфигурации именно так все и было, но понадобилось изменить структуру именно до того вида, как это сейчас (справочник "НоменклатураТМЦ" и два подчиненных ей справочника: "ТМЦ" и "ВариантыТМЦ").
|
|||
307
bahtik
28.08.14
✎
19:58
|
(292) Нет, не аналоги.
|
|||
308
bahtik
28.08.14
✎
20:02
|
(293) А ты что, решил задачу? Давай код, для тебя мне и 300 не жаль. Только вот видя твои рассуждения очевидно, что ты никогда эту задачу не решишь. Вот rsergio уже все понял. Ты пока нет.
|
|||
309
bahtik
28.08.14
✎
20:03
|
(294) С какого перепугу мне это делать?
|
|||
310
Злопчинский
28.08.14
✎
20:21
|
(305) согласен.. в (280) - можно сказать домыслы.. размышления. я такое называю "в порядке дежурного бреда".. ;-)
|
|||
311
Злопчинский
28.08.14
✎
20:22
|
(304) ничего подобного - чего именно ничего подобного?
|
|||
312
Злопчинский
28.08.14
✎
20:29
|
(308) ну-ну... мне вот понятно, что rsergio и я "думаем" эту задачу примерно одинаково... Пока что мне понятно, что ты задачу сам не понял.. бо у тебя в голове вертятся некие общие соображения по этой задаче. а конкретики - нет.
. Задача сложности - выше средней, где-то примерно 0.75 по моей оцценке на шкале сложности. Но вполне решаема. Суперсложной математики там не будет. даже примерно понятно как ее решать. но стоит это решение не 100 и 300 бачинских - так что - как-нить без меня.. за тарелку супа трудитесь... . слава богу, все задачи разной сложности, которые передо мной стояли - более-менее успешно решал. надо будет мне - и эту решу. . А пока, вьюноша, трудитесь! труд - он облагораживает... ;-) |
|||
313
thezos
28.08.14
✎
20:34
|
до тысячи добить решили?)
|
|||
314
akronim
29.08.14
✎
11:26
|
(303) "Я тебя полюбил - я тебя научу" (Кин-Дза-Дза, да?)
Ты придумал много собственных названий для определенных и всем известных вещей. Так вот, выражаясь ОБЩЕУПОТРЕБИТЕЛЬНЫМ языком: "Шампунь" - это номенклатурная группа; конкретный товар "Шампунь вкусный витаминный арт.7123789/123" - это и есть товар (номенклатура); а "41 размер черные" - это характеристика (справочник, подчиненный товарам). Любой, кто хоть раз открывал типовую, понимает разговор в таких терминах. Так что все у меня правильно написано. Ты лучше на (270) ответь, на элементарном примере - как ты хочешь видеть свободные остатки после двух резервов? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |