Алгоритм построения обратной цепочки по переделам.

1. Kongo2019 08.05.20 10:05 Сейчас в теме
Алгоритм построения обратной цепочки по переделам.
Доброго.
Задачу опишу по аналогии с производством, нужен сам принцип, алгоритм как такую задачу решают. С деталями реализация я сам разберусь.
Есть такая цепочка документов, берется некое сырье, из него делается полуфабрикат. Классический производственный передел.
Списывается с остатка одна номенклатура, на выходе другая номенклатура, доком генерируется партия.
Потом идет несколько разного вида доков со своими движения, но общее, что мне нужно у них всех одно. На входе списывает один полуфабрикат, вот тут важно, обязательное указание входной партии в документе, на выходе другой полуфабрикат, с генерацией партии.
Партия в принципе упрошено генерируются про признаку один день одна номенклатура, с неким свойством это одна партия. То бишь есть в один и тот же день было несколько доков, с одной номенклатурой и одинаковыми свойствами, то это одна партия.
И так до выхода, готовой продукции. Переделов может быть до 10.
Необходимо отследить. Всю цепочку от готовой продукции.
Конфа нетиповая, делать можно все что угодно. Так что любой вариант годится. Ограничений на доработку конфы нет.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 08.05.20 10:14 Сейчас в теме
(1) Взаимосвязь между исходным материалом и получаемым полуфабрикатом есть?

Самое простое, что приходит сходу: выполнить разузлование вспять, т.е. идти не от полуфабриката к материалу, а от материала к полуфабрикату.
3. Kongo2019 08.05.20 10:23 Сейчас в теме
(2)В доке обязательно указывается входная партия.
Но если еще что-то надо для взаимосвязи между исходным материалом и получаемым полуфабрикатом, подскажите, сделаю.
4. karamazoff 96 08.05.20 10:34 Сейчас в теме
если у вас в каждом документе передела есть входная и выходная партия то вроде бы этого достаточно, можно эти пары писать куда-нибудь в рс а потом от товара по обратной цепочки через эти связки дойти до материала. Нет?
5. Kongo2019 08.05.20 10:40 Сейчас в теме
(4)Я как та собака, вроде все понимаю, а реализовать не могу.
Есть у меня такой регистр. Аналогично думал.
Но вот как цепочку построить не соображу.
6. nomad_irk 72 08.05.20 10:45 Сейчас в теме
(5)Да ровно так же как и при разузловании, только в обратном порядке.
7. Kongo2019 08.05.20 10:56 Сейчас в теме
(6)А есть где описание этого замечательного алгоритма?
8. nomad_irk 72 08.05.20 11:04 Сейчас в теме
(7)Примитивный: рекурсией получаем все входные материалы для текущего изделия.

В вашем случае придется для материала определить выходные изделия.
9. Kongo2019 08.05.20 11:13 Сейчас в теме
(8)Примера часом нет. Понятней как-то не стало.
10. nomad_irk 72 08.05.20 11:17 Сейчас в теме
11. karamazoff 96 08.05.20 11:23 Сейчас в теме
(7)а у вас может быть так:
1 передел из материала изготовили 2 полуф. партии п1 и 3 полуф. партии п2
2 передел из партии п1 и партии п2 изготовили 5 полуф. партии п4 (т.е. две входящих партии слились в одну исходящую)
3 выпустили 3 изделий из 3-х полуф. партии п4
и если да, то как должна выглядеть ваша цепочка?
12. Kongo2019 08.05.20 12:16 Сейчас в теме
1. Полуфабрикат на выходе может быть только один.
2, Да это есть, генерируется новая партия.

Как дерево походу, корень мой выходной док, а дальше понеслось ветвится.
13. nomad_irk 72 08.05.20 12:31 Сейчас в теме
(12)А не материал, а документы - ветки дерева?
14. Kongo2019 08.05.20 12:39 Сейчас в теме
(13)В том и фишка, мне нужна цепочка доков.
15. nomad_irk 72 08.05.20 12:48 Сейчас в теме
(14)Так доки должны быть "ветками" входного материала, насколько я понял суть из описанной вами задачи
Другими словами, вам необходимо видеть, в каких документах использовался тот или иной материал для выпуска той или иной продукции.
Нет?
16. karamazoff 96 08.05.20 13:02 Сейчас в теме
(12)как в пункте2 если идем с конца и доходим до партии в которую слились две другие партии, как понять, по какой идти дальше, по п1 или п2?
17. Kongo2019 08.05.20 13:07 Сейчас в теме
Нет. Главное цепочка доков.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот