Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -701,6 +701,7 @@ codeunit 18466 "Subcontracting Post"
ItemJnlLine.Validate(Quantity, Abs(OldReservEntry."Qty. to Invoice (Base)"));
end else begin
ItemJnlLine.Validate(Quantity, RemQtytoPost);
RemQtytoPost := 0;
Completed := true;
end
else
Expand All @@ -709,6 +710,7 @@ codeunit 18466 "Subcontracting Post"
ItemJnlLine.Validate(Quantity, ItemLedgerEntry."Remaining Quantity");
end else begin
ItemJnlLine.Validate(Quantity, RemQtytoPost);
RemQtytoPost := 0;
Completed := true;
end;

Expand Down Expand Up @@ -792,6 +794,9 @@ codeunit 18466 "Subcontracting Post"
end;
until (ItemLedgerEntry.Next() = 0) or Completed;

if RemQtytoPost <> 0 then
Comment thread
v-ajaztabrez marked this conversation as resolved.
Error(NotEnoughInvtoryErr);

AppliedDeliveryChallan."Qty. to Consume" := 0;
AppliedDeliveryChallan.Modify();

Expand Down Expand Up @@ -1558,14 +1563,21 @@ codeunit 18466 "Subcontracting Post"
AppDelChallan: Record "Applied Delivery Challan")
var
CopyItemLedgerEntry: Record "Item Ledger Entry";
DeliveryChallanLine: Record "Delivery Challan Line";
IsHandled: Boolean;
AvailableQty: Decimal;
VariantCode: Code[10];
begin
IsHandled := false;
OnBeforeGetApplicationLines(ProdOrderComp, SubOrderCompVend, ItemLedgerEntry, TotalQtyToPost, AppDelChallan, IsHandled);
if IsHandled then
exit;

if DeliveryChallanLine.Get(AppDelChallan."Applied Delivery Challan No.", AppDelChallan."App. Delivery Challan Line No.") then
Comment thread
v-ajaztabrez marked this conversation as resolved.
VariantCode := DeliveryChallanLine."Variant Code"
else
VariantCode := SubOrderCompVend."Variant Code";

ItemLedgerEntry.Reset();
if AppDelChallan."Applies-to Entry" = 0 then begin
ItemLedgerEntry.SetCurrentKey("Order Type", "Order No.", "Order Line No.", "Prod. Order Comp. Line No.", "Entry Type", "Location Code");
Expand All @@ -1575,6 +1587,9 @@ codeunit 18466 "Subcontracting Post"
ItemLedgerEntry.SetRange("Prod. Order Comp. Line No.", ProdOrderComp."Line No.");
ItemLedgerEntry.SetRange("Entry Type", ItemLedgerEntry."Entry Type"::Transfer);
ItemLedgerEntry.SetRange("Location Code", SubOrderCompVend."Vendor Location");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');

CopyItemLedgerEntry.Copy(ItemLedgerEntry);
if CopyItemLedgerEntry.FindSet() then begin
Expand All @@ -1590,6 +1605,9 @@ codeunit 18466 "Subcontracting Post"
ItemLedgerEntry.SetRange("Item No.", ProdOrderComp."Item No.");
ItemLedgerEntry.SetRange("Entry Type", ItemLedgerEntry."Entry Type"::Transfer);
ItemLedgerEntry.SetRange("Location Code", SubOrderCompVend."Vendor Location");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');

CopyItemLedgerEntry.Reset();
CopyItemLedgerEntry.Copy(ItemLedgerEntry);
Expand All @@ -1605,14 +1623,29 @@ codeunit 18466 "Subcontracting Post"
end else begin
ItemLedgerEntry.Reset();
ItemLedgerEntry.SetCurrentKey("Entry Type", "Location Code", "External Document No.", "Item No.");
ItemLedgerEntry.SetRange("Entry No.", AppDelChallan."Applies-to Entry");
Comment thread
v-maheshsharma marked this conversation as resolved.
Comment thread
v-ajaztabrez marked this conversation as resolved.
ItemLedgerEntry.SetRange("Entry Type", ItemLedgerEntry."Entry Type"::Transfer);
ItemLedgerEntry.SetRange("Location Code", SubOrderCompVend."Vendor Location");
ItemLedgerEntry.SetRange("Order Type", ItemLedgerEntry."Order Type"::Production);
ItemLedgerEntry.SetRange("Order No.", AppDelChallan."Production Order No.");
ItemLedgerEntry.SetRange("Order Line No.", AppDelChallan."Production Order Line No.");
ItemLedgerEntry.SetRange("External Document No.", AppDelChallan."Applied Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", AppDelChallan."Item No.");
ItemLedgerEntry.SetRange("Variant Code", VariantCode);
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');

// Fallback to re-resolve from the selected challan line when stored entry becomes stale.
Comment thread
v-maheshsharma marked this conversation as resolved.
Comment thread
v-ajaztabrez marked this conversation as resolved.
if not ItemLedgerEntry.FindFirst() then begin
Comment thread
v-maheshsharma marked this conversation as resolved.
ItemLedgerEntry.Reset();
ItemLedgerEntry.SetCurrentKey("Entry Type", "Location Code", "External Document No.", "Item No.");
ItemLedgerEntry.SetRange("Entry Type", ItemLedgerEntry."Entry Type"::Transfer);
ItemLedgerEntry.SetRange("Location Code", SubOrderCompVend."Vendor Location");
ItemLedgerEntry.SetRange("External Document No.", AppDelChallan."Applied Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", AppDelChallan."Item No.");
ItemLedgerEntry.SetRange("Variant Code", VariantCode);
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');
end;
end;
end;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,22 @@ table 18466 "Applied Delivery Challan"
var
DeliveryChallanLine1: Record "Delivery Challan Line";
ItemLedgerEntry: Record "Item Ledger Entry";
SubOrderCompListVend: Record "Sub Order Comp. List Vend";
DeliveryChallanLineList: Page "Delivery Challan Line";
begin
DeliveryChallanLine.Reset();
DeliveryChallanLine.SetRange("Document No.", "Document No.");
DeliveryChallanLine.SetRange("Document Line No.", "Document Line No.");
DeliveryChallanLine.SetRange("Parent Item No.", "Parent Item No.");
DeliveryChallanLine.SetRange("Item No.", "Item No.");
SubOrderCompListVend.Reset();
Comment thread
v-ajaztabrez marked this conversation as resolved.
SubOrderCompListVend.SetRange("Document No.", "Document No.");
SubOrderCompListVend.SetRange("Document Line No.", "Document Line No.");
SubOrderCompListVend.SetRange("Parent Item No.", "Parent Item No.");
SubOrderCompListVend.SetRange("Line No.", "Line No.");
SubOrderCompListVend.SetRange("Item No.", "Item No.");
if SubOrderCompListVend.FindFirst() then
DeliveryChallanLine.SetRange("Variant Code", SubOrderCompListVend."Variant Code");
DeliveryChallanLine.SetFilter("Remaining Quantity", '<>0');
DeliveryChallanLineList.SetTableView(DeliveryChallanLine);
DeliveryChallanLineList.LookupMode := true;
Expand All @@ -71,6 +80,10 @@ table 18466 "Applied Delivery Challan"
ItemLedgerEntry.SetRange("Order Line No.", DeliveryChallanLine1."Production Order Line No.");
ItemLedgerEntry.SetRange("External Document No.", DeliveryChallanLine1."Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", "Item No.");
ItemLedgerEntry.SetRange("Variant Code", DeliveryChallanLine1."Variant Code");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');
if ItemLedgerEntry.FindFirst() then
"Applies-to Entry" := ItemLedgerEntry."Entry No."
else
Expand Down Expand Up @@ -282,6 +295,10 @@ table 18466 "Applied Delivery Challan"
ItemLedgerEntry.SetRange("Order Line No.", DeliveryChallanLine."Production Order Line No.");
ItemLedgerEntry.SetRange("External Document No.", DeliveryChallanLine."Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", "Item No.");
ItemLedgerEntry.SetRange("Variant Code", DeliveryChallanLine."Variant Code");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');
if ItemLedgerEntry.FindFirst() then
"Applies-to Entry" := ItemLedgerEntry."Entry No."
else
Expand Down Expand Up @@ -309,6 +326,10 @@ table 18466 "Applied Delivery Challan"
ItemLedgerEntry.SetRange("Order Line No.", DeliveryChallanLine."Production Order Line No.");
ItemLedgerEntry.SetRange("External Document No.", DeliveryChallanLine."Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", "Item No.");
ItemLedgerEntry.SetRange("Variant Code", DeliveryChallanLine."Variant Code");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');
if ItemLedgerEntry.FindFirst() then
"Applies-to Entry" := ItemLedgerEntry."Entry No."
else
Expand Down Expand Up @@ -337,6 +358,10 @@ table 18466 "Applied Delivery Challan"
ItemLedgerEntry.SetRange("Order Line No.", DeliveryChallanLine."Production Order Line No.");
ItemLedgerEntry.SetRange("External Document No.", DeliveryChallanLine."Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", "Item No.");
ItemLedgerEntry.SetRange("Variant Code", DeliveryChallanLine."Variant Code");
ItemLedgerEntry.SetRange(Open, true);
ItemLedgerEntry.SetRange(Positive, true);
ItemLedgerEntry.SetFilter("Remaining Quantity", '>0');
if ItemLedgerEntry.FindFirst() then
"Applies-to Entry" := ItemLedgerEntry."Entry No."
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,10 @@ table 18469 "Delivery Challan Line"
"Location Code" = field("Vendor Location"),
"External Document No." = field("Delivery Challan No."),
"Item No." = field("Item No."),
"Variant Code" = field("Variant Code"),
"Order No." = field("Production Order No."),
"Order Line No." = field("Production Order Line No."),
"Prod. Order Comp. Line No." = field("Prod. Order Comp. Line No."),
"Subcon Order No." = field("Document No.")));
Caption = 'Remaining Quantity';
DecimalPlaces = 0 : 3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,7 @@ table 18478 "Sub Order Comp. List Vend"
DeliveryChallanLine.SetCurrentKey("Delivery Challan No.", "Item No.");
DeliveryChallanLine.SetRange("Delivery Challan No.", DeliveryChallanHeader."No.");
DeliveryChallanLine.SetRange("Item No.", "Item No.");
DeliveryChallanLine.SetRange("Variant Code", "Variant Code");
if DeliveryChallanLine.FindFirst() then begin
DeliveryChallanLine.CalcFields("Remaining Quantity");
if (DeliveryChallanLine."Remaining Quantity" <
Expand All @@ -463,6 +464,7 @@ table 18478 "Sub Order Comp. List Vend"
ItemLedgerEntry.SetRange("Location Code", DeliveryChallanLine."Vendor Location");
ItemLedgerEntry.SetRange("External Document No.", DeliveryChallanLine."Delivery Challan No.");
ItemLedgerEntry.SetRange("Item No.", "Item No.");
ItemLedgerEntry.SetRange("Variant Code", "Variant Code");
if ItemLedgerEntry.FindFirst() then
"Applies-to Entry" := ItemLedgerEntry."Entry No."
else
Expand Down
Loading