Verwijzing in regel inkooporder naar inkoopkop raamcontract

elmtim67elmtim67 Member Posts: 10
edited 2014-09-18 in NAV Dutch speaking only
Ik wil in het rapport inkooporder, voor een inkoopregel die wordt afgeroepen van een raamcontract ("Blanket Order"), het veld "Your reference" uit dit raamcontract in de order overnemen.

Nu wordt ons interne documentnummer al getoond uit de inkoopregel, alleen wanneer deze is gevuld, in een "roundloop" Body.

Verder heb ik ook al de "Purchase Header" tabel als global/record aangemaakt om deze te koppelen aan de waarde van dit nummer in de inkoopregel (mits deze is gevuld).

Hoe kan ik er voor zorgen dat de juiste "Purchase Header" wordt gekoppeld aan de inkoopregel, o.b.v. het raamcontractnummer in de inkoopregel?

Comments

  • mdPartnerNLmdPartnerNL Member Posts: 802
    per inkoopregel wordt de raamcontroactnr + regelnr bewaard. Dus een flowfield zou al voldoende zijn maar je uitleg is niet echt duidelijk voor mij. Zet er even objectnummers bij.
  • elmtim67elmtim67 Member Posts: 10
    per inkoopregel wordt de raamcontroactnr + regelnr bewaard. Dus een flowfield zou al voldoende zijn maar je uitleg is niet echt duidelijk voor mij. Zet er even objectnummers bij.

    Goedemiddag,

    Bedankt voor je reactie!

    Ik hoop dat onderstaande beschrijving de vraag enigszins verduidelijkt.

    Wij werken met NAV 2009 R2 classic.

    Ik de inkoopregel staat inderdaad de verwijzing naar het eventueel gekoppelde raamcontractpositie waarvan deze bestelling wordt afgeroepen middels het documentnummer en het raamcontractregelnummer van dit raamcontract.

    Dit interne nummer wordt in de inkooporder getoond als deze gevuld is (hiervoor is een aparte sectie aangemaakt die wordt onderdrukt als het veld raamcontractnummer leeg is.

    Om naar onze leverancier duidelijk te maken van welk raamcontract de positie wordt afgeroepen willen we nu ook waarde uit het veld "Your reference/Uw referentie", veldnr. 11 uit de tabel "Purchase Header/Inkoopkop" tabelnummer 38.

    De basis voor ons inkooporderdocument is het standaardrapport 405.

    Om dit mogelijk te maken heb ik dus tabel 38 in de "C/AL Globals" als Datatype "Record" gedefinieerd met de naam "PurchHeader".
    Vervolgens heb ik in de section waarin het raamcontractnummer uit de orderregel wordt getoond een veld toegevoegd die verwijst naar het veld PurchHeader."Your Reference", die ik vanuit het C/AL symbol menu gevuld heb.
    Het lukt mij vervolgens echter niet om in dit veld de juiste waarde te laten zien. (dus de inhoud van veld 11 uit het bij de orderregel horende raamcontract.)

    Wellicht dat er een eenvoudigere manier is om dit te realiseren.
    Daarnaast zou ik het toch handig vinden om te weten wat de juiste werkwijze is om op deze manier een tabel te koppelen in een rapport. Ik heb op verschillende getest met de functies "GET", "SETRANGE" en "FINDFIRST". op verschillende plekken in dit rapport (in de code van zowel de sections als hoofdstructuur van het rapport), maar kreeg het helaas dus niet voor elkaar.
  • elmtim67elmtim67 Member Posts: 10
    Na veel experimenteren heb dit als volgt opgelost:

    Ik heb in de Globals een variabele van het type Record "PurchHeader" aangemaakt die verwijst naar de tabel "Purchase Header" en een text variabele "BlanketOrderRef".

    Vervolgens heb ik de volgende code toegevoegd aan de data-item waarin de factuurregels worden uitgelezen:

    IF "Purchase Line"."Blanket Order No." <> '' THEN BEGIN
    PurchHeader.RESET;
    PurchHeader.SETCURRENTKEY("No.","Document Type");
    PurchHeader.SETRANGE("No.","Purchase Line"."Blanket Order No.");
    IF PurchHeader.FINDFIRST THEN BEGIN
    BlanketOrderRef:= PurchHeader."Your Reference";
    END;
    END;

    De waarde van "BlanketOrderRef" neem ik vervolgens op in het report.
  • mdPartnerNLmdPartnerNL Member Posts: 802
    Het kan echt beter maar ok, het werkt :)

    en het gaat om een report 8)
Sign In or Register to comment.