Create Transfer Order Programmatically

souravbsouravb Member Posts: 135
I have an Indent Form(Header Line). On pressing a 'Create TO' button a Transfer order will be automatically created. I have written the following code:


{
NoSeries.Code:='TRKOL';
NoSeriesLine.RESET;
NoSeriesLine.SETRANGE("Series Code",NoSeries.Code);
IF NoSeriesLine.FIND('-') THEN
LastNoUsed:=NoSeriesLine."Last No. Used";
MESSAGE(FORMAT(LastNoUsed));
}

TransferHeader.INIT;
{TransferHeader."No.":=
NoSeriesMgt.GetNextNo(TransferHeader."No. Series",TransferHeader."Posting Date",TRUE);
TransferHeader.VALIDATE("No.");}
//TransferHeader."No.":=INCSTR(LastNoUsed);
//TransferHeader.VALIDATE("No.");
TransferHeader."Indent No.":="Indent No.";
TransferHeader."Shortcut Dimension 1 Code":="Shortcut Dimension 1 Code";
TransferHeader.VALIDATE("Shortcut Dimension 1 Code");
TransferHeader."Transfer-from Code":="From Location";
TransferHeader.VALIDATE("Transfer-from Code");
TransferHeader."Transfer-to Code":="Location Code";
TransferHeader."Shipping Agent Code":=TransferHeader."Shipping Agent Code";
TransferHeader.VALIDATE("Shipping Agent Code");
TransferHeader.Status:=Status::Open;
TransferHeader.INSERT;

RESET;
SETRANGE("Indent No.",TransferHeader."Indent No.");
IF FIND('-') THEN BEGIN
IndentLine.RESET;
IndentLine.SETRANGE("Indent No.","Indent No.");
IF IndentLine.FIND('-') THEN BEGIN
REPEAT
TransferLine.INIT;
TransferLine."Line No.":=IndentLine."Line No.";
TransferLine."Item No.":=IndentLine."Item No.";
TransferLine.VALIDATE("Item No.");
TransferLine.Description:=IndentLine."Item Description";
TransferLine."Qty. to Ship":=IndentLine."Oty. To Transfer";
TransferLine.VALIDATE("Qty. to Ship");
TransferLine."Quantity Shipped":=IndentLine."Qty. Transferred";
TransferLine.VALIDATE("Quantity Shipped");
TransferLine.INSERT;
UNTIL(IndentLine.NEXT = 0);
END;
END;

Problem is i cannot generate the next Transfer order number from number series programmatically. Also if the Quanity in Indent line is equal to the Quantity Transferred in Indent line, the Indent should be deleted. How do i acheive that. Plz help urgently.

Comments

  • kinekine Member Posts: 12,562
    to create new header you can use something like:
      TransferHeader.INIT;
      TransferHeader.VALIDATE("No.",'');
      TransferHeader.INSERT(TRUE);
    
      TransferHeader.VALIDATE("Transfer-from Code",FromLoc);
      TransferHeader.VALIDATE("Transfer-to Code",ToLoc);
      TransferHeader.VALIDATE("Posting Date",WORKDATE);
      ...
      TransferHeader.MODIFY(TRUE);
    
    This will generate new header with no. from no. series.
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • krikikriki Member, Moderator Posts: 9,110
    Or even better:
    CLEAR(TransferHeader);
    TransferHeader.INSERT(TRUE);
    
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


Sign In or Register to comment.