Misschien kan ik dit elimineren door niet verder te kontroleren i.g.v. een regel met 0,000.
Yep. Dat elimineert de handel... maar... helaas in jouw voorbeeld niet...
Je werkt nl. met Recepten die écht in een loop zitten, en waarvan het systeem je meldt dat je een dergelijk Recept niet op deze wijze behoort toe te voegen.
Dus, wat opgelost is, is dat je een Recept ART1011240 hebt waar 0,000 Kg ART1011240 in zit.
Dit is een geaccepteerde truc om tijdens het produceren van ART1011240 nog een restantje (wat op voorraad ligt) erbij in de kuip te gooien, en daarna weer af te vullen. Hoe groot dat restantje is kun je toch op voorhand niet vastleggen, vandaar de 0,000 Kg. Deze situatie wordt nu ook bij het Genereren van een TD document (hetgeen bij het printen van jouw etiket "onder water" gebeurd) toegestaan.
Wat
niet is toegestaan, is de wijze waarop je Recept ART0008290 gedefinieerd hebt. Hierin is de hoeveelheid nl. geen 0,000 Kg.
Wat je hier feitelijk zegt is "Om een blik van 25 Kg te produceren, moet er 25 Kg ongeacht de Verschijningsvorm in".
Ja, maar je hebt maar 1 Recept.
Dus. Ik heb 4 blikken nodig, en heb daarvoor 100 kg ongeacht verschijning nodig, welke alleen geproduceerd kunnen worden als 4x25 Kg.
Dus... wéér een behoefte aan 4 blikken, waarvoor je 100 kg ongeacht verschijning nodig hebt, en dus wéér 4x25 produceren. etc. etc. etc.
Dit mág niet zo, en staat het systeem ook niet toe (d.w.z. het kán wel, met omwegen, en t.b.v. speciale doeleinden).
Merk op dat het in praktijk best kan voorkomen dat je een dergelijk Recept nodig hebt, maar m.i. betreft het dan puur een 'Opwerk-Recept'.
Ofwel, je hebt een produkt A op voorraad, welke "te dik" aan het worden is, je gooit er wat water bij, roert een beetje, en krijgt opnieuw A.
Recept A mag echter nooit getriggerd worden in een automatisch proces zoals 'Kostprijsberekening', 'Behoefterun', 'MSDS (Technisch Document)' etc., omdat deze daardoor in een loop raken, immers om A te maken heb je A nodig, waarvoor je eerst A moet maken, maar waarvoor je weer A nodig hebt etc.
Wat we kunnen doen (maatwerk) is dat we een indikator 'Opwerk Recept J/N' opnemen bij een Recept, en ervoor zorgen dat je via dat Recept wél handmatig een Produktieorder mag toevoegen, maar dat dit Recept wordt uitgesloten van alle andere soorten selekties-/berekeningen die in een loop kunnen raken.
Het printen van een etiket (of eigenlijk, de plek waar nu onder water het TD document wordt uitgewerkt) zal vanaf heden konstateren dat het Recept in een loop zit, een melding geven, en terugkeren naar het hoofdmenu. Middels het maatwerk zou dit Recept in het TD niet geselekteerd worden (doch misschien leiden tot een melding 'Recept niet gevonden', immers je hebt ook geen ander Recept waarmee ART0008290 geproduceerd kan worden).
NB: Merk tevens op dat je bij een Verschijningsvorm kunt instellen of deze kostprijsbepalend is, en feitelijk dingen kunt afdwingen dat als er twee Recepten zijn voor 1 produkt, een van de twee voorrang krijgt boven de ander. Bijv. als je een KUIP Recept en een PASTA Recept hebt, krijgt het KUIP Recept voorrang. Op die manier kun je het misschien ook zonder maatwerk voor elkaar krijgen dat het systeem niet het Opwerk-Recept selekteert, puur omdat een ander Recept een hogere prioriteit krijgt.