IF berekend <= Item."Reorder Point" THEN IF Item."Order Multiple" = 0 THEN BEGIN IF Item."Minimum Order Quantity" + Item."Maximum Order Quantity" + Item."Order Multiple" + Item."Reorder Quantity" = 0 THEN voorstel:= Item."Maximum Inventory" - berekend ELSE IF Item."Minimum Order Quantity" > (Item."Maximum Inventory"-berekend) THEN voorstel:=Item."Minimum Order Quantity" ELSE IF Item."Reorder Quantity"<>0 THEN voorstel:=Item."Reorder Quantity" ELSE IF Item."Maximum Order Quantity"<>0 THEN IF Item."Maximum Order Quantity" < (Item."Maximum Inventory"-berekend) THEN voorstel:=Item."Maximum Order Quantity" ELSE voorstel:= Item."Maximum Inventory" - berekend; END ELSE BEGIN IF Item."Order Multiple"<>0 THEN IF ((Item."Maximum Inventory" - berekend) / Item."Order Multiple") > 1 THEN voorstel:=Item."Order Multiple" * ROUND((Item."Maximum Inventory"-berekend) / Item."Order Multiple",1,'>') ELSE IF 1 < ((Item."Maximum Inventory"-berekend) / Item."Order Multiple") THEN voorstel:=Item."Order Multiple" END;
Comments
--> Probeer het eens op die manier.
Als Navision een ELSE tegenkomt, zou Navision die wel eens kunnen koppelen aan een andere IF dan jij zou verwachten.
Onderstaand een andere benadering. Niet alleen zijn fouten er uit gehaald, de functionaliteit is hiermee ook anders.
Het ging o.a. fout als (Item."Order Multiple"<>0)
EN
(Item."Maximum Inventory" - berekend) / Item."Order Multiple") = 1
Ook werd geen rekening gehouden met minimum en maximum als Item."Order Multiple" gevuld was. Ik vermoed dat dat niet de bedoeling was.
Hoi fverkel
dat klopt, daar liep ik idd tegenaan. Dit ziet er veel overzichtelijker uit, ik ga het proberen. Het lijkt op het eerste gezicht wel of er minder voorwaarden in zitten, maar ik laat je de test uitkomst weten. Alvast bedankt !
bij deze de testresultaten: perfect !
nogmaals mijn dank.