CreateSalesInvoice(PSeminarRegHeader : Record "Seminar Registration Header") SalesSetup.GET; SalesSetup.TESTFIELD("G/L Account No."); PSeminarRegHeader.TESTFIELD(Status, PSeminarRegHeader.Status::Finished); PSeminarRegHeader.TESTFIELD("Posting Date"); LSeminarRegLine.RESET; LSeminarRegLine.SETRANGE("Seminar Registration No.", PSeminarRegHeader."No."); LSeminarRegLine.SETRANGE("To Invoice", TRUE); LSeminarRegLine.SETRANGE("Invoice No.", ''); IF LSeminarRegLine.FINDSET THEN BEGIN LLineCreated := TRUE; REPEAT CLEAR(LSalesHeader); LSalesHeader.RESET; LSalesHeader.SETRANGE("Document Type", LSalesHeader."Document Type"::Invoice); LSalesHeader.SETRANGE("Sell-to Customer No.", LSeminarRegLine."Bill-to Customer No."); LSalesHeader.SETRANGE("External Document No.", PSeminarRegHeader."No."); IF NOT LSalesHeader.FINDFIRST THEN BEGIN LSalesHeader.INIT; LSalesHeader."Document Type" := LSalesHeader."Document Type"::Invoice; LSalesHeader.VALIDATE("Posting Date", PSeminarRegHeader."Posting Date"); LSalesHeader.VALIDATE("Document Date", PSeminarRegHeader."Posting Date"); LSalesHeader.VALIDATE("Sales Date", PSeminarRegHeader."Posting Date"); LSalesHeader.VALIDATE("Sell-to Customer No.", LSeminarRegLine."Bill-to Customer No."); LSalesHeader."External Document No." := PSeminarRegHeader."No."; LSalesHeader.INSERT(TRUE); END; CLEAR(LSalesLine); LSalesLine.SETRANGE("Document Type", LSalesLine."Document Type"::Invoice); LSalesLine.SETRANGE("Document No.", LSalesHeader."No."); IF LSalesLine.FINDLAST THEN LineNo:=LSalesLine."Line No."; LineNo := LineNo + 10000; CLEAR(LSalesLine); LSalesLine."Document Type" := LSalesLine."Document Type"::Invoice; LSalesLine."Document No." := LSalesHeader."No."; LSalesLine."Line No." := LineNo; LSalesLine.VALIDATE("Sell-to Customer No.",LSalesHeader."Sell-to Customer No."); LSalesLine.Type := LSalesLine.Type::"G/L Account"; LSalesLine.VALIDATE("No.", SalesSetup."G/L Account No."); LSalesLine.VALIDATE(Quantity,1); LSalesLine.VALIDATE("Unit Price", LSeminarRegLine.Amount); LSeminarRegLine.CALCFIELDS("Participant Name"); LSalesLine.Description := STRSUBSTNO('ABC',PSeminarRegHeader."No.", LSeminarRegLine."Participant Name"); LSalesLine.INSERT; LSeminarRegLine."Invoice No." := LSalesHeader."No."; LSeminarRegLine.MODIFY; UNTIL LSeminarRegLine.NEXT = 0; END; IF LLineCreated THEN MESSAGE(success) ELSE MESSAGE(failure);