Two REPORT.RUN commands in a row don't work?

alsolalsol Member Posts: 243
edited 2015-03-12 in NAV Three Tier
Hi there,

I came across a strange issue and I have no idea what the reason is. The following code is supposed to silently print two reports in a row for each shipment that has been released. It should print it automatically to the system printer without a request form or any user interaction:
HandlingUnitHeader.RESET;
HandlingUnitHeader.SETRANGE(Source,HandlingUnitHeader.Source::Sales);
HandlingUnitHeader.SETRANGE(Type,HandlingUnitHeader.Type::Package);
HandlingUnitHeader.SETRANGE(Status,HandlingUnitHeader.Status::Open);
HandlingUnitHeader.SETRANGE("Packing List Printed",FALSE);
HandlingUnitHeader.SETRANGE("Ext. Packing List Required",FALSE);
IF HandlingUnitHeader.FINDSET THEN BEGIN
  REPEAT
    REPORT.RUN(REPORT::"Sales Packing List",FALSE,TRUE,HandlingUnitHeader);
    IF ShippingAgent.GET(HandlingUnitHeader."Shipping Agent Code") THEN BEGIN
      IF ShippingAgent."Bill of Lading Required" THEN BEGIN
        REPORT.RUN(REPORT::"Sales Bill of Lading",FALSE,TRUE,HandlingUnitHeader);
      END;
    END;
  UNTIL HandlingUnitHeader.NEXT = 0;
END;

Now it prints always the first report, but not the second one. If I disable the first one, it prints the second one without any problems. But I could not make it work to print both of them. Are there some kind of limitations (NAV 2009 R2 RTC) that prevent the system from executing the REPORT.RUN command twice in a row?

Any ideas?

Comments

  • lubostlubost Member Posts: 626
    Hi alsol,

    code in your first report probably changes some data in HandlingUnitHeader record (e.g. "Packing List Printed") and this can lead to fall printed record out of scope. Changing data included in filter in loop is hazardous ever.
  • alsolalsol Member Posts: 243
    Hi lubost,

    Hmm you are right, I did not think of that. Ok, that makes totally sense, thanks a lot!
Sign In or Register to comment.