[solved] puzzeltje code omzetten

Adriaan2k
Member Posts: 159
wie kan mij helpen met het volgende:
voor de logistieke mensen is een report gemaakt met een aantal voorwaarden. Het report toont echter niet de juiste waarden.
Ik ken de voorwaarden maar mijn code klopt niet.
Kan iemand de onderstaande code vertalen naar gewone taal ?
misschien dat ik dan kan achterhalen waar de fout zit.
waarbij het veld 'berekend' een waarde heeft die klopt uit een eerdere
berekening.
Misschien dat er ergens een verkeerde 'break' in de code zit ?
graag jullie hulp.
voor de logistieke mensen is een report gemaakt met een aantal voorwaarden. Het report toont echter niet de juiste waarden.
Ik ken de voorwaarden maar mijn code klopt niet.
Kan iemand de onderstaande code vertalen naar gewone taal ?
misschien dat ik dan kan achterhalen waar de fout zit.
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;
waarbij het veld 'berekend' een waarde heeft die klopt uit een eerdere
berekening.
Misschien dat er ergens een verkeerde 'break' in de code zit ?
graag jullie hulp.
mvg Adriaan
0
Comments
-
Ik heb in het verleden wel eens problemen gehad met geneste IF-constructies die opgelost werden door bij elke IF een BEGIN te gebruiken.
--> 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.Keep It Simple and Stupid (KISS), but never oversimplify.0 -
Adriaan, ik heb er eens goed naar gekeken.
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.voorstel := 0; IF berekend <= Item."Reorder Point" THEN BEGIN voorstel := Item."Maximum Inventory" - berekend; IF Item."Order Multiple" <> 0 THEN voorstel := ROUND(voorstel, Item."Order Multiple", '>'); IF (Item."Minimum Order Quantity" <> 0) AND (voorstel < Item."Minimum Order Quantity") THEN voorstel := Item."Minimum Order Quantity"; IF (Item."Maximum Order Quantity" <> 0) AND (voorstel > Item."Maximum Order Quantity") THEN voorstel := Item."Maximum Order Quantity"; IF Item."Reorder Quantity" <> 0 THEN voorstel := Item."Reorder Quantity"; END;
Keep It Simple and Stupid (KISS), but never oversimplify.0 -
fverkel wrote:Adriaan, ik heb er eens goed naar gekeken.
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 !mvg Adriaan0 -
Adriaan2k wrote: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.mvg Adriaan0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions