[solved] get commando voor tabel purchase price

Adriaan2k
Member Posts: 159
Hallo,
ik heb weer een vraag mbt een report. Ik wil in een report met data item "item" op de regel de inkoopprijs van de betreffende leverancier ophalen uit tabel 'purchase price' nr. 7012. Ik heb nu het commando
grecpurchprice.get(item."no.", item."vendor no.");
Dit is echter niet correct want ik krijg een foutmelding mbt de andere velden uit tabel 7012. Wie kan mij aan het juiste commando of een andere oplossing helpen ? alvast bedankt voor jullie hulp.
ik heb weer een vraag mbt een report. Ik wil in een report met data item "item" op de regel de inkoopprijs van de betreffende leverancier ophalen uit tabel 'purchase price' nr. 7012. Ik heb nu het commando
grecpurchprice.get(item."no.", item."vendor no.");
Dit is echter niet correct want ik krijg een foutmelding mbt de andere velden uit tabel 7012. Wie kan mij aan het juiste commando of een andere oplossing helpen ? alvast bedankt voor jullie hulp.
mvg Adriaan
0
Comments
-
De primary key van deze tabel bevat meerdere velden, dus moet je ook de waarde van die velden aangeven in je GET-statement.
Of je zet filters (SETRANGE of SETFILTER) om een record te vinden en een fout te vermijden.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
kriki wrote:De primary key van deze tabel bevat meerdere velden, dus moet je ook de waarde van die velden aangeven in je GET-statement.
Of je zet filters (SETRANGE of SETFILTER) om een record te vinden en een fout te vermijden.
Bedankt Alain voor je snelle antwoord. Ik weet alleen niet hoe met de overige velden om te gaan omdat deze volgens mij niet aan een veld in de itemtabel zijn gelinked. Met het setrange of setfilter commando moet je toch eerst de tabel in je report hebben opgehaald via het .get commando ? of kan ik meteen een set...commando ingeven ?mvg Adriaan0 -
Een GET kan je ENKEL gebruiken als je de primary key-waarden hebt. In dat geval zijn RESET, SETCURRENTKEY, SETRANGE, SETFILTER, FIND, FINDSET, FINDFIRST, FINDLAST overbodig. Er wordt helemaal geen rekening mee gehouden in de GET.
In jouw geval:recPurchasePrice.RESET; recPurchasePrice.SETCURRENTKEY(...); // hier selecteer je de beste key recPurchasePrice.SETRANGE("Item No.",Item."No."); recPurchasePrice.SETRANGE("Vendor No.",Item."Vendor No."); IF recPurchasePrice.FINDSET THEN // of FIND('-') REPEAT ... UNTIL recPurchasePrice.NEXT = 0;
Met een filter op Item No. en Vendor No. is het mogelijk dat je meerdere records hebt (verschillende prijzen op verschillende datums of ook staffelprijzen).
Dus voor 1 enkel record te hebben, moet je ook een filter op "Start Date" zettenrecPurchasePrice.SETRANGE("Start Date",0D,TODAY);
En in geval van staffelprijzenrecPurchasePrice.SETRANGE("Minimum Quantity",1,decQuantity);
En in geval van verschillende Unit of Measure, ook een filter op deze.
In geval van filters op Start Date of Minimum Quantity, moet je FINDLAST of FIND('+') gebruiken om het laatste record (laatst mogelijk datum die geldig is of hoogst mogelijk quantity die geldig is) te vinden.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Simpel... De primaire sleutel van Purchase Price is:
Item No.,Vendor No.,Starting Date,Currency Code,Variant Code,Unit of Measure Code,Minimum Quantity
Zolang je niet filtert met een specifieke waarde op ALLE velden in die sleutel zul je mogelijks meer dan 1 record tegenkomen.
Als je voor alle velden zo een waarde hebt, doe dan een GET. Indien niet: filteren + een lus.aka Vincent Vancalbergh
"I tried filtering life, but the universe returned an Internal Error"0 -
goldeneye wrote:Simpel... De primaire sleutel van Purchase Price is:
Item No.,Vendor No.,Starting Date,Currency Code,Variant Code,Unit of Measure Code,Minimum Quantity
Zolang je niet filtert met een specifieke waarde op ALLE velden in die sleutel zul je mogelijks meer dan 1 record tegenkomen.
Als je voor alle velden zo een waarde hebt, doe dan een GET. Indien niet: filteren + een lus.mvg Adriaan0 -
Nog een extra weetje: Als je een GET doet, en NIET alle velden specifieert, veronderstelt hij voor de andere waarden de default value van dat datatype.
Daarom dat SalesSetup.GET lukt (ipv SalesSetup.GET('')): Het veld "Primary Key" is een Code-veld en van de enige record is dat veld altijd blanco.aka Vincent Vancalbergh
"I tried filtering life, but the universe returned an Internal Error"0
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