Som maken op factuur

AppieHeijnAppieHeijn Member Posts: 34
edited 2008-05-21 in NAV Dutch speaking only
Ik heb een factuur gemaakt in navision. Ik zie elke klant die bij een bedrijf hoort en zich opgegeven heeft voor een cursus. De cursusprijzen staan er ook achter maar graag wil ik weten hoe de som op de factuur moet zodat het totaal bedrag onderaan de factuur komt.

dit is mijn laatste vraag... daarna heb ik het product af :wink:
Navision versie: NL 3.70.B

Comments

  • DenSterDenSter Member Posts: 8,307
    Als die bedragen in een veld zitten, kijk naar de 'TotalFields' en de 'GroupTotalFields' properties in F1 help. Je zal ook de Application Designer Guide kunnen raadplegen voor meer informatie over deze eigenschappen.

    Anyway.... stop het veld dat je wil totaliseren in 'TotalFields', stop het in een footer sectie, en het zou als het goed is correct moeten totaliseren.

    Als die bedragen niet in een veld zitten, zal je totalen handmatig met C/AL code moeten bijhouden. Kijk naar de standaard Invoice/credit memo/order/quote rapporten voor goede voorbeelden.
  • AppieHeijnAppieHeijn Member Posts: 34
    De bedragen zitten in een veld. Maar als ik Het veld waar het bedrag in zit ook in de totalfields zet. Moet ik hetzelfde veld ook in de footer zetten?
    Ik heb nu drie personen die op een cursus zijn ingeschreven waarvoor het bedrijf 1 factuur krijgt. Maar de footer zet hij onder elk persoon wat hij op de factuur zet...
    Voorbeeld:

    Klantnaam Kees
    Cursuscode 006
    cursusprijs 3.376.625,00
    Totaal: 3.376.625,00

    Klantnaam Sietse
    Cursuscode 006
    cursusprijs 3.376.625,00
    Totaal: 3.376.625,00

    Klantnaam Ruben
    Cursuscode 007
    cursusprijs 1.500,00
    Totaal: 1.500,00
    Navision versie: NL 3.70.B
  • DenSterDenSter Member Posts: 8,307
    Ja natuurlijk, hoe kan je anders de totalen zien in het rapport? TotalFields vertelt het system welke velden getotaliseerd dienen te worden. Intern houdt het dus die totalen bij. Het is dan aan jou om het te tonen in een rapport sectie. Je kan gewoon hete normale veld in de footer stoppen, NAV weet door het type sectie dat het de totalen moet laten zien.
  • DenSterDenSter Member Posts: 8,307
    Overigens, je hebt twee soorten footers, 1 voor het gehele rapport, en 1 voor de groepstotalen. Het ligt aan hoe de dataitems in je rapport zijn ingedeeld welke soort footer je nodig hebt, en voor beide soorten secties moet je dus op een andere manier die totalen bijhouden.
  • AppieHeijnAppieHeijn Member Posts: 34
    Welke footer moet ik gebruiken dan?
    Navision versie: NL 3.70.B
  • DenSterDenSter Member Posts: 8,307
    Dat ligt aan hoe je dataitems zijn ingericht. Als alles in 1 tabel zit, en je wilt groeperen op Klant nummer, dan gaat het in een groupfooter. Als je vanuit de klant tabel de transactie tabel benaderd, gelinkt aan het klant nummer, dan kan je een gewone footer toevoegen aan de transactie dataitem. In het tweede geval moet je dan wel op een andere manier totalen bijhouden voor het totale rapport.

    Probeer de 'C/SIDE Introduction' training syllabus te krijgen, daar staat een hele goede beschrijving in hoe je rapporten kan opstellen.
  • AppieHeijnAppieHeijn Member Posts: 34
    De bedragen zitten in één tabel namelijk de cursuskop. De klanten komen wel uit een andere tabel maar hebben er verder niets mee te maken die staan wel op de factuur om te laten zien welke klanten welke cursus hebben gevolgd. Ik haal de bedrijven uit de customer tabel van NAV.

    Er kan gefilterd worden op bedrijf.
    Navision versie: NL 3.70.B
  • tinoruijstinoruijs Member Posts: 1,226
    Bij het maken van totalen/groepstotalen is het het makkelijkst om de rapport wizard te gebruiken.
    Deze wizard zorgt namelijk voor het toevoegen van de benodigde C/AL code.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • AppieHeijnAppieHeijn Member Posts: 34
    Maar bij het maken van een rapport met een wizard kan ik toch maar één tabel gebruiken? Ik heb 3 tabellen nodig om alle benodigde gegevens weer te geven.
    Navision versie: NL 3.70.B
  • tinoruijstinoruijs Member Posts: 1,226
    AppieHeijn wrote:
    Maar bij het maken van een rapport met een wizard kan ik toch maar één tabel gebruiken? Ik heb 3 tabellen nodig om alle benodigde gegevens weer te geven.

    Ok. Niet gezien. Dan valt het inderdaad niet mee om de wizard te gebruiken. :(

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • DenSterDenSter Member Posts: 8,307
    AppieHeijn wrote:
    Maar bij het maken van een rapport met een wizard kan ik toch maar één tabel gebruiken? Ik heb 3 tabellen nodig om alle benodigde gegevens weer te geven.
    De grote truuk is om de wizard voor je te laten werken. Maak een rapport met de wizard op de tabel waar je de groepering wil doen, en dan voeg je later de andere dataitems er aan toe. Zo laat je de wizard the totalisaties en groeperingen doen, en kan je zelf in de hand houden waar het allemaal vandaan komt. Je kan ook een dummy rapport maken met de wizard, en zo zien wat het systeem allemaal voor je doet, zodat je dat kan toepassen op je eigen rapport.
  • AppieHeijnAppieHeijn Member Posts: 34
    Ik heb een factuur gemaakt van de tabel cursuskop. ik haal hier dus de cursusprijs van en daar maak ik ook een grouptotalfield van. Ik zet dan de tabel klant er bij waar ik de klantgegevens uit haal. Die link ik via de DataItemLink aan de cursus kop. Als ik filter op cursuscode krijg ik netjes de klantnummers te zien die meedoen aan die cursus. Maar als een groupfooter aanmaak van de tabel cursuskop en daar dus weer het veld cursusprijs inzet krijg ik niets te zien.

    Het veld cursusprijs is wel een flowfield vanuit de cursus tabel wat de duur * dagprijs berekend.
    Navision versie: NL 3.70.B
  • DenSterDenSter Member Posts: 8,307
    hm het begint een beetje verwarrend te worden... (duur * dagprijs) kan niet in een flowfield, dus je haalt twee dingen door elkaar.

    Voorbeeldje: stel je will een overzicht cre-eren van de Value Entries, een simpele lijst van records, gegroepeerd per artikel, met groep subtotalen en een totaal aan het eind van het rapport van de Sales Amount en van de Cost Amount.

    De velden die je wilt totaliseren gaan in de 'TotalFields' property. De velden waarop je wil groeperen gaan in de 'GroupTotalFields'. Daarvoor moet je wel eerst een sorteervolgorde kiezein die dat veld in de sleutel heeft.

    Dus terug naar het voorbeeldje. Het "Item No" veld is het eerste veld van een sleutel op de Value Entry tabel, dus die kies je als sorteervolgorde van het dataitem. Vervolgens zet je dit veld in de GroupTotalFields property. Het rapport is nu klaar om te groeperen.

    Nou de velden waarvoor je totalen wilt hebben. Vanuit de 'TotalFields' property klik je op de ellipsis knop, waar je deze velden vervolgens kan kiezen. Het rapport is nu klaar voor totalen.

    Nou nog secties voor de totalen. Voor een groepstotaal doe je dat met GroupFooter secties, voor rapportstotaal doe je dat met een Footer. Hier is een voorbeeldje:
    OBJECT Report 99999 Value Entry Report
    {
      OBJECT-PROPERTIES
      {
        Date=05/21/08;
        Time=[ 7:47:57 AM];
        Modified=Yes;
        Version List=;
      }
      PROPERTIES
      {
      }
      DATAITEMS
      {
        { PROPERTIES
          {
            DataItemTable=Table5802;
            DataItemTableView=SORTING(Item No.,Posting Date,Item Ledger Entry Type,Entry Type,Variance Type,Item Charge No.,Location Code,Variant Code);
            OnPreDataItem=BEGIN
                            LastFieldNo := FIELDNO("Item No.");
                          END;
    
            ReqFilterFields=Item No.;
            TotalFields=Sales Amount (Actual),Cost Amount (Actual);
            GroupTotalFields=Item No.;
          }
          SECTIONS
          {
            { PROPERTIES
              {
                SectionType=Header;
                PrintOnEveryPage=Yes;
                SectionWidth=18150;
                SectionHeight=1692;
              }
              CONTROLS
              {
                { 1000000001;Label  ;0    ;0    ;7500 ;423  ;FontSize=8;
                                                             FontBold=Yes;
                                                             CaptionML=[ENU=Value Entry;
                                                                        FRC=criture valeur;
                                                                        ENC=Value Entry] }
                { 1000000002;TextBox;15000;0    ;3150 ;423  ;HorzAlign=Right;
                                                             SourceExpr=FORMAT(TODAY,0,4) }
                { 1000000003;TextBox;0    ;423  ;7500 ;423  ;SourceExpr=COMPANYNAME }
                { 1000000004;TextBox;17700;423  ;450  ;423  ;CaptionML=ENU=Page;
                                                             SourceExpr=CurrReport.PAGENO }
                { 1000000005;Label  ;16950;423  ;750  ;423  ;ParentControl=1000000004 }
                { 1000000006;TextBox;15900;846  ;2250 ;423  ;HorzAlign=Right;
                                                             SourceExpr=USERID }
              }
               }
            { PROPERTIES
              {
                SectionType=Header;
                PrintOnEveryPage=Yes;
                SectionWidth=18150;
                SectionHeight=1269;
              }
              CONTROLS
              {
                { 1000000012;Label  ;0    ;0    ;1050 ;846  ;ParentControl=1000000011;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
                { 1000000015;Label  ;1200 ;0    ;1500 ;846  ;ParentControl=1000000014;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
                { 1000000018;Label  ;2850 ;0    ;1200 ;846  ;ParentControl=1000000017;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
                { 1000000021;Label  ;4200 ;0    ;4500 ;846  ;ParentControl=1000000020;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
                { 1000000024;Label  ;8850 ;0    ;1800 ;846  ;ParentControl=1000000023;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
                { 1000000027;Label  ;10800;0    ;1800 ;846  ;ParentControl=1000000026;
                                                             VertAlign=Bottom;
                                                             FontBold=Yes;
                                                             MultiLine=Yes }
              }
               }
            { PROPERTIES
              {
                SectionType=GroupHeader;
                SectionWidth=18150;
                SectionHeight=846;
                OnPreSection=BEGIN
                               CurrReport.SHOWOUTPUT := FooterPrinted;
                               FooterPrinted := FALSE;
                             END;
    
              }
              CONTROLS
              {
              }
               }
            { PROPERTIES
              {
                SectionType=GroupHeader;
                SectionWidth=18150;
                SectionHeight=423;
                OnPreSection=BEGIN
                               CurrReport.SHOWOUTPUT :=
                                 CurrReport.TOTALSCAUSEDBY = "Value Entry".FIELDNO("Item No.");
                             END;
    
              }
              CONTROLS
              {
                { 1000000008;TextBox;3150 ;0    ;1500 ;423  ;HorzAlign=Left;
                                                             SourceExpr="Item No." }
                { 1000000009;Label  ;0    ;0    ;3000 ;423  ;ParentControl=1000000008 }
              }
               }
            { PROPERTIES
              {
                SectionType=GroupHeader;
                SectionWidth=18150;
                SectionHeight=423;
                OnPreSection=BEGIN
                               CurrReport.SHOWOUTPUT :=
                                 CurrReport.TOTALSCAUSEDBY = LastFieldNo;
                             END;
    
              }
              CONTROLS
              {
              }
               }
            { PROPERTIES
              {
                SectionType=Body;
                SectionWidth=18150;
                SectionHeight=423;
              }
              CONTROLS
              {
                { 1000000011;TextBox;0    ;0    ;1050 ;423  ;HorzAlign=Right;
                                                             SourceExpr="Entry No." }
                { 1000000014;TextBox;1200 ;0    ;1500 ;423  ;HorzAlign=Left;
                                                             SourceExpr="Item No." }
                { 1000000017;TextBox;2850 ;0    ;1200 ;423  ;HorzAlign=Left;
                                                             SourceExpr="Posting Date" }
                { 1000000020;TextBox;4200 ;0    ;4500 ;423  ;HorzAlign=Left;
                                                             SourceExpr=Description }
                { 1000000023;TextBox;8850 ;0    ;1800 ;423  ;HorzAlign=Right;
                                                             SourceExpr="Sales Amount (Actual)" }
                { 1000000026;TextBox;10800;0    ;1800 ;423  ;HorzAlign=Right;
                                                             SourceExpr="Cost Amount (Actual)" }
              }
               }
            { PROPERTIES
              {
                SectionType=GroupFooter;
                SectionWidth=18150;
                SectionHeight=423;
                OnPreSection=BEGIN
                               IF NOT FooterPrinted THEN
                                 LastFieldNo := CurrReport.TOTALSCAUSEDBY;
                               CurrReport.SHOWOUTPUT := NOT FooterPrinted;
                               FooterPrinted := TRUE;
                             END;
    
              }
              CONTROLS
              {
              }
               }
            { PROPERTIES
              {
                SectionType=GroupFooter;
                SectionWidth=18150;
                SectionHeight=423;
                OnPreSection=BEGIN
                               CurrReport.SHOWOUTPUT :=
                                 CurrReport.TOTALSCAUSEDBY = "Value Entry".FIELDNO("Item No.");
                             END;
    
              }
              CONTROLS
              {
                { 1000000028;TextBox;0    ;0    ;4500 ;423  ;SourceExpr=TotalFor + FIELDCAPTION("Item No.") }
                { 1000000029;TextBox;8850 ;0    ;1800 ;423  ;HorzAlign=Right;
                                                             SourceExpr="Sales Amount (Actual)" }
                { 1000000030;TextBox;10800;0    ;1800 ;423  ;HorzAlign=Right;
                                                             SourceExpr="Cost Amount (Actual)" }
              }
               }
          }
           }
      }
      REQUESTFORM
      {
        PROPERTIES
        {
          Width=9020;
          Height=3410;
        }
        CONTROLS
        {
        }
      }
      CODE
      {
        VAR
          LastFieldNo@1000000000 : Integer;
          FooterPrinted@1000000001 : Boolean;
          TotalFor@1000000002 : TextConst 'ENU="Total for "';
    
        BEGIN
        END.
      }
    }
    
    
    Snel snel gemaakt met de report wizard. Plak dit in een nieuw tekstbestandje en importeer het in je database. Het komt uit een US database dus ik weet niet of het helemaal werkt voor de NL versie.
  • AppieHeijnAppieHeijn Member Posts: 34
    Ik heb nu een werkende factuur :D . Zonder jullie hulp was het niet gelukt! bedankt voor de informatie. Voor zover is de uitbreiding klaar nu... :roll:
    Navision versie: NL 3.70.B
  • DenSterDenSter Member Posts: 8,307
    Hee met een beetje hulp, maar je hebt het mooi zelf gedaan. Petje af =D>
Sign In or Register to comment.