mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-07 15:46:55 +01:00
Add SCM functional knowledge domain (#192)
* Add SCM functional knowledge domain Introduce nine source-backed rules with original AL sample pairs, bounded SCM review routing, and complete positive/clean evaluation coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Normalize SCM knowledge and review ownership Align article and AL sample conventions, keep BC facts separate from review mechanics, and clarify reciprocal Finance ownership without bespoke shared test assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
d38377b85e
commit
bec8890b7e
34 changed files with 1030 additions and 10 deletions
|
|
@ -0,0 +1,47 @@
|
|||
codeunit 50116 "SCM Requisition Action Bad"
|
||||
{
|
||||
procedure CarryOutAcceptedNewPurchase(TemplateName: Code[10]; BatchName: Code[10]; LineNo: Integer; OrderDate: Date; PostingDate: Date; ReceiptDate: Date; CutoffDate: Date)
|
||||
var
|
||||
RequisitionLine: Record "Requisition Line";
|
||||
PurchaseHeader: Record "Purchase Header";
|
||||
PurchaseLine: Record "Purchase Line";
|
||||
begin
|
||||
if (OrderDate = 0D) or (PostingDate = 0D) or (ReceiptDate = 0D) or (CutoffDate = 0D) then
|
||||
Error(PlanningDatesErr);
|
||||
RequisitionLine.Get(TemplateName, BatchName, LineNo);
|
||||
RequisitionLine.TestField(Type, RequisitionLine.Type::Item);
|
||||
RequisitionLine.TestField("Replenishment System", RequisitionLine."Replenishment System"::Purchase);
|
||||
RequisitionLine.TestField("Action Message", RequisitionLine."Action Message"::New);
|
||||
RequisitionLine.TestField("Accept Action Message", true);
|
||||
RequisitionLine.TestField("Demand Type", Database::"Sales Line");
|
||||
RequisitionLine.TestField("Demand Order No.");
|
||||
RequisitionLine.TestField("Vendor No.");
|
||||
RequisitionLine.SetRecFilter();
|
||||
|
||||
PurchaseHeader.Init();
|
||||
PurchaseHeader."Document Type" := PurchaseHeader."Document Type"::Order;
|
||||
PurchaseHeader.Insert(true);
|
||||
PurchaseHeader.Validate("Buy-from Vendor No.", RequisitionLine."Vendor No.");
|
||||
PurchaseHeader.Validate("Order Date", OrderDate);
|
||||
PurchaseHeader.Validate("Posting Date", PostingDate);
|
||||
PurchaseHeader.Validate("Expected Receipt Date", ReceiptDate);
|
||||
PurchaseHeader.Modify(true);
|
||||
|
||||
PurchaseLine.Init();
|
||||
PurchaseLine."Document Type" := PurchaseHeader."Document Type";
|
||||
PurchaseLine."Document No." := PurchaseHeader."No.";
|
||||
PurchaseLine."Line No." := 10000;
|
||||
PurchaseLine.Validate(Type, PurchaseLine.Type::Item);
|
||||
PurchaseLine.Validate("No.", RequisitionLine."No.");
|
||||
PurchaseLine.Validate("Location Code", RequisitionLine."Location Code");
|
||||
PurchaseLine.Validate("Variant Code", RequisitionLine."Variant Code");
|
||||
PurchaseLine.Validate("Unit of Measure Code", RequisitionLine."Unit of Measure Code");
|
||||
PurchaseLine.Validate(Quantity, RequisitionLine.Quantity);
|
||||
PurchaseLine.Insert(true);
|
||||
|
||||
RequisitionLine.Delete(true);
|
||||
end;
|
||||
|
||||
var
|
||||
PlanningDatesErr: Label 'Supply explicit order, posting, receipt, and cutoff dates.';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue