Just in case anyone else has a similar request. This is how I solved my question, with the help of Josh.
Create a codeunit to handle the creation of a new record:
...
codeunit 50100 "NewSPO"
{
procedure Foo(rec: Record "Sales Header")
var
Prod: Record "Production Order";
begin
Prod.Init();
Prod."Quote No." := rec."No.";
prod.Status := "Production Order Status"::Simulated;
Prod.Insert(true);
Page.Run(Page::"Simulated Production Order", Prod);
end;
}
On the page, create an action that invokes the codeunit and passes the Record with it:
...
action("CreateNewSPO")
{
CaptionML = ENU = '+ New Sim Order';
Image = Production;
ApplicationArea = All;
trigger OnAction()
var
cu: Codeunit "NewSPO";
begin
cu.Foo(Rec);
end;
}