Если рассмотреть обозначенный вами пример с формой SalesCreateOrder, то можно увидеть, что запись в неё не передаётся, она в ней создаётся а потом возвращается в форму SalesTable
X++:
if (salesTableForm.create()) // <-- отработал диалог
{
newSalesTable = SalesTable::find(salesTableForm.newSalesId()); // <-- получаем идентификатор созданного заказа, и выбираем его из таблицы
if (newSalesTable)
{
super(append);
salesTable.data(newSalesTable); // подкладываем найденую запись под текущий курсор
salesTable_ds.reread();
tabLineOverview.setFocus();
}
}