Dynamics 365 Business Central

Yadapally_Akhil
Member Posts: 1
in General Chat
pageextension 50010 PostedPurchaseinvoice extends "Posted Purchase Invoices"
{
actions
{
addafter("&Invoice")
{
action("Create Purchase Order")
{
ApplicationArea = All;
Image = Invoice;
ToolTip = 'Create Purchase order';
Promoted = true;
PromotedCategory = Process;
trigger OnAction()
var
PurchInvHeader: Record "Purch. Inv. Header";
PurchaseHeader: Record "Purchase Header";
PurchaseLine: Record "Purchase Line";
PurchInLine: Record "Purch. Inv. Line";
vendorNo: Code[20];
PurchaseOrderNo: Code[20];
LineExists: Boolean;
begin
CurrPage.SetSelectionFilter(Rec);
if Rec.FindSet() then begin
vendorNo := '';
PurchaseHeader.Init();
PurchaseHeader."Document Type" := PurchaseHeader."Document Type"::Order;
PurchaseHeader."No." := '';
PurchaseHeader.Validate("Buy-from Vendor No.", Rec."Buy-from Vendor No.");
PurchaseHeader.Validate("Vendor Invoice No.", Rec."Vendor Invoice No.");
PurchaseHeader.Insert(true);
PurchaseHeader."Document Date" := Rec."Document Date";
PurchaseHeader."Posting Date" := Rec."Posting Date";
PurchaseHeader."VAT Reporting Date" := Rec."VAT Reporting Date";
PurchaseHeader."Due Date" := Rec."Due Date";
PurchaseHeader."Order Date" := Rec."Order Date";
PurchaseHeader.Modify(true);
PurchaseOrderNo := PurchaseHeader."No.";
repeat
PurchInLine.Reset();
PurchInLine.SetRange("Document No.", Rec."No.");
if PurchInLine.FindSet() then begin
repeat
PurchaseLine.Reset();
PurchaseLine.SetRange("Document Type", PurchaseLine."Document Type"::Order);
PurchaseLine.SetRange("Document No.", PurchaseHeader."No.");
PurchaseLine.SetRange("Line No.", PurchInLine."Line No.");
if not PurchaseLine.Find() then begin
PurchaseLine.Init();
PurchaseLine."Document Type" := PurchaseLine."Document Type"::Order;
PurchaseLine."Document No." := PurchaseHeader."No.";
PurchaseLine.Type := PurchInLine.Type;
PurchaseLine."No." := PurchInLine."No.";
PurchaseLine.Validate(PurchaseLine."No.");
PurchaseLine."Line No." := PurchInLine."Line No.";
PurchaseLine.Validate(PurchaseLine."Line No.");
PurchaseLine.Quantity := PurchInLine.Quantity;
PurchaseLine.Validate(PurchaseLine.Quantity);
PurchaseLine."Direct Unit Cost" := PurchInLine."Direct Unit Cost";
PurchaseLine.Validate(PurchaseLine."Direct Unit Cost");
PurchaseLine.Insert(true);
end;
until PurchInLine.Next() = 0;
end;
until Rec.Next() = 0;
end;
Message(Rec."No.");
end;
}
}
}
}
help me to write my code
{
actions
{
addafter("&Invoice")
{
action("Create Purchase Order")
{
ApplicationArea = All;
Image = Invoice;
ToolTip = 'Create Purchase order';
Promoted = true;
PromotedCategory = Process;
trigger OnAction()
var
PurchInvHeader: Record "Purch. Inv. Header";
PurchaseHeader: Record "Purchase Header";
PurchaseLine: Record "Purchase Line";
PurchInLine: Record "Purch. Inv. Line";
vendorNo: Code[20];
PurchaseOrderNo: Code[20];
LineExists: Boolean;
begin
CurrPage.SetSelectionFilter(Rec);
if Rec.FindSet() then begin
vendorNo := '';
PurchaseHeader.Init();
PurchaseHeader."Document Type" := PurchaseHeader."Document Type"::Order;
PurchaseHeader."No." := '';
PurchaseHeader.Validate("Buy-from Vendor No.", Rec."Buy-from Vendor No.");
PurchaseHeader.Validate("Vendor Invoice No.", Rec."Vendor Invoice No.");
PurchaseHeader.Insert(true);
PurchaseHeader."Document Date" := Rec."Document Date";
PurchaseHeader."Posting Date" := Rec."Posting Date";
PurchaseHeader."VAT Reporting Date" := Rec."VAT Reporting Date";
PurchaseHeader."Due Date" := Rec."Due Date";
PurchaseHeader."Order Date" := Rec."Order Date";
PurchaseHeader.Modify(true);
PurchaseOrderNo := PurchaseHeader."No.";
repeat
PurchInLine.Reset();
PurchInLine.SetRange("Document No.", Rec."No.");
if PurchInLine.FindSet() then begin
repeat
PurchaseLine.Reset();
PurchaseLine.SetRange("Document Type", PurchaseLine."Document Type"::Order);
PurchaseLine.SetRange("Document No.", PurchaseHeader."No.");
PurchaseLine.SetRange("Line No.", PurchInLine."Line No.");
if not PurchaseLine.Find() then begin
PurchaseLine.Init();
PurchaseLine."Document Type" := PurchaseLine."Document Type"::Order;
PurchaseLine."Document No." := PurchaseHeader."No.";
PurchaseLine.Type := PurchInLine.Type;
PurchaseLine."No." := PurchInLine."No.";
PurchaseLine.Validate(PurchaseLine."No.");
PurchaseLine."Line No." := PurchInLine."Line No.";
PurchaseLine.Validate(PurchaseLine."Line No.");
PurchaseLine.Quantity := PurchInLine.Quantity;
PurchaseLine.Validate(PurchaseLine.Quantity);
PurchaseLine."Direct Unit Cost" := PurchInLine."Direct Unit Cost";
PurchaseLine.Validate(PurchaseLine."Direct Unit Cost");
PurchaseLine.Insert(true);
end;
until PurchInLine.Next() = 0;
end;
until Rec.Next() = 0;
end;
Message(Rec."No.");
end;
}
}
}
}
help me to write my code
0
Answers
-
What was the question?United Kingdom0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions