- 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);