Komentáře •

  • @meriahabdelmoneim1284
    @meriahabdelmoneim1284 Před 4 lety +1

    Great video. Very clear !

  • @rishichourey
    @rishichourey Před 3 lety

    Custom Report Layout is beautiful functionality given by Business Central.
    We have used the same report ID of Sales Invoice and created 6 different formats of Sales Invoices for 6 countries :), Based on the company it will display to the corresponding layout only.

  • @RogerSlides
    @RogerSlides Před 3 lety

    Awsome tutorial Erik!

  • @anada1124
    @anada1124 Před 3 lety +1

    Thank you, Erik.
    Microsoft should make your solution as part of the standard report object.

  • @vineethr2k7
    @vineethr2k7 Před 3 lety

    Thank you Erik for this trick

  • @hugo_alves
    @hugo_alves Před 8 měsíci

    This is a video i'd like to thumbs up a hundred times if i could!

  • @ercanismail3893
    @ercanismail3893 Před 4 lety

    I'm just starting my journey of learning development in AL. I would be tempted to copy the original request page and add a section there which lists the available layouts for the user to select plus the ability to make a new one.
    Great video as always!

    • @Hougaard
      @Hougaard Před 4 lety +3

      You cannot do that, the layout is selected/fixed when then request page is shown. That's why it has to be done at OnInitReport() - That's the last chance.

  • @francescomollica144
    @francescomollica144 Před 3 lety

    amazing tutorial

  • @cioadvise6645
    @cioadvise6645 Před 2 lety +1

    Eric, my video studio does not show the AL File Wizard. Do I have to install anything to get that to work? I have run AL!Go already. Thanks in advance.

    • @Hougaard
      @Hougaard Před 2 lety +1

      Did you install the AZ AL extension in VS Code?

  • @ricardo041996
    @ricardo041996 Před 2 lety

    Hi Erik, thank you for the useful videos. Is it possible to reduce the image size from your video? Sometimes I can't see so well the Problems notification area on VS Code. Thanks

  • @chirangaranasinghe19
    @chirangaranasinghe19 Před rokem +1

    As a beginner, from which video I should start to learn ? is there any playlist for beginners. thank you

    • @Hougaard
      @Hougaard Před rokem +1

      czcams.com/play/PLnldREWlGR0vmyMwB5lmqWjK9KBMwn05s.html

  • @Genius5438
    @Genius5438 Před 2 lety

    Thanks Eric. Great Video. I tried using one report with multiple layouts like you did, however for some reason after running the report it showed me the layout but it also changed all the layouts of standard reports.

    • @Hougaard
      @Hougaard Před 2 lety

      Really?

    • @Genius5438
      @Genius5438 Před 2 lety

      @@Hougaard Yes. But the solution was to do settemplayoutseletced('') after executing the report and all back to normal.

  • @sonnyjim4047
    @sonnyjim4047 Před 3 lety

    Hi Eric, Great video and tried to change the standard Sales Invoice by changing trigger after creating a copy;
    trigger OnInitReport()
    var
    RLS: Record "Report Layout Selection";//*select custom layout custom
    begin
    //custom code
    Layout.Setrange("Report ID", 61306);//Layout declared as a variable at the end of this page
    if page.RunModal(61306, Layout) = action::LookupOK then
    RLS.SetTempLayoutSelected(Layout.Code)
    else
    Error('Please select layout');
    only thing is once the you select the layout from the new page "Select Layout" it goes to the standard request page and then when run the report (preview) it goes back to "Select Layout" page again and then when selected (for the second time) , report exports to PDF

    • @Hougaard
      @Hougaard Před 3 lety

      You should be able to control that in a global variable.

    • @ehsanm64
      @ehsanm64 Před 3 lety

      Erik Hougaard Hi Erik , would you please tell me how can we do that with global variable?

  • @ant1d0te
    @ant1d0te Před 4 lety

    Layout is one of the easiest part if customer asks for changes.
    The main issue for customers is change of logic and grabbing fields from other tables (or even from existing if they weren't added to dataset).
    I hope MS provide some good looking Report Extension (they promised for next global BC release afair).

    • @Hougaard
      @Hougaard Před 4 lety +1

      Yeah, but until we see something like reportextension, you have to use the substitute report functionality as seen here: czcams.com/video/qleSGJQD148/video.html

  • @bhagwanjijha1146
    @bhagwanjijha1146 Před 3 lety

    Great

  • @businesscentral-explained1703

    Thanks for the video!
    Is there any efficient way i can make a page action run a standard report - f.ex. the standard sales order confirmation with a specific layout? In that case i can not modify the init trigger in the report. Or is the only way i can do that by duplicating the report?

    • @Hougaard
      @Hougaard Před 3 lety

      you can set the layout before calling the report.

  • @jnaneshc4302
    @jnaneshc4302 Před 7 měsíci

    can you please do the report amount in words for multiple currencies without hardcoding
    please

  • @IMAS-vf2ur
    @IMAS-vf2ur Před rokem

    Nice tutorial. Do you know how to change the report layout programmatically which is from "Report Layout List" table?
    Thanks

    • @Hougaard
      @Hougaard Před rokem

      ReportLayoutSelection.SetTempLayoutSelected(LayoutCode);

  • @artemkeller2571
    @artemkeller2571 Před rokem

    Hey Erik! Thanks for this video. That helped. One thing - this method involves manually uploading layouts in "custom layouts" each time you want to modify layout. We are using "rendering" section inside report extensions to import different layouts. My question is - is it possible to choose which report to run by uploading them this way? Inside Report Extension it looks like this:
    rendering
    {
    layout("My Sales Order Confirmation")
    {
    Type = RDLC;
    LayoutFile = 'My Sales Order Confirmation.rdl';
    }
    layout("My Sales Order Confirmation Email Text")
    {
    Type = Word;
    LayoutFile = 'My Sales Order Confirmation Email Text.docx';
    }
    layout("My Sales Draft Invoice")
    {
    Type = RDLC;
    LayoutFile = 'My Sales Draft Invoice (for Sales Order).rdl';
    }
    }

    • @Hougaard
      @Hougaard Před rokem

      Be aware, that this video was recorded before reportextensions existed, and before BC could do layout selected with the rendering section .... Making this video obsolete :)

  • @danykanaan286
    @danykanaan286 Před rokem

    Hi Erik thank you for your videos. I started Coding with AL 2 month ago and you are of great help.
    But saddly i have one problem with this solution right now.
    If I have set the SaveValues property in the request page to true it will run through the OnInit trigger again when clicking preview and open the Selection page again and then does not give me a proper preview of the report, but instead downloads a file with no doctype.
    I have set the SaveValues so the requestpage does not close when previeweing the document.
    Is there a solution to this problem? Should i use a global trigger instead of the onint (Like SelectReportLayoutCode)?

    • @Hougaard
      @Hougaard Před rokem

      This solution has actually being adopted by Microsoft, so in version 21 you can select a layout out of the box.

  • @UweMicha
    @UweMicha Před rokem

    Hi Erik, is it possible to make sub reports in a rdlc layouts for BC? Did you already made a video about that? I did't find it... In the ReportBuilder you can add a sub report but it ask for a URL to a given report.... (???)

    • @Hougaard
      @Hougaard Před rokem +1

      Sorry, I don't think that's possible :(

  • @vh8000
    @vh8000 Před 3 lety

    👍👍👍 Thanks

  • @faaizahmed3146
    @faaizahmed3146 Před 3 lety

    Dear Erik, can i preview the report without using run request page??

    • @Hougaard
      @Hougaard Před 3 lety

      Not that I'm aware of ...

  • @linojrasmolo7161
    @linojrasmolo7161 Před 3 lety

    Hi Eric,
    Can i directly call this custom layout using an action button?

    • @Hougaard
      @Hougaard Před 3 lety

      Yes you can! Return.Run works fine with this report...