Изменение поля RassetTable.Status контролируется в табличном методе RassetTable.ValidateField(), который автоматически вызывается при изменении любого поля таблицы, если это изменение выполняется пользователем на форме.
Ну, а вызов RunBase можно осуществить как полноценный класс через его статический метод main, а можно вызвать только собственно класса Dialog, "выковырив" его из "оболочки" RunBase примерно так
X++:
Dialog dialog = new Dialog("Внимание");
DialogField dfTransDate;
TransDate transDate;
dfTransDate = dialog.addFieldValue(typeId(TransDate),systemDateGet(),'Дата','Дата, которую надо изменить');
dialog.addText('Продолжить выполнение?');
if (dialog.run())
{
info('Пользователь ответил "Ok".');
// Новое значение даты
transDate = dfTransDate.value();
}
else
{
info('Пользователь ответил "Cancel".');
}
По перекрестным ссылкам посмотри использование класса Dialog. Много подобных примеров "раскидано".