Как и говорил решение простое
X++:
[DataSource]
class MyTable
{
public void executeQuery()
{
this.query().dataSourceTable(tableNum(MyTable)).addRange(fieldNum(MyTable, RecId)).value(queryValue(0));
super();
}
}
Фильтруем датасорц чтобы он не вернул записей, убеждаемся что свойство InsertIfEmpty = Yes
Кнопки Ok, Cancel диалога (при условии использования правильного template) сами реализуют логику сохранения/отмены.
Pandasama - спасибо за помощь