Не получилось понять вопрос, но может так ?
X++:
num = NumberSeq::newGetNum(purchParameters::numRefPurchId());
tmpPurchId = num.num();
if (PurchTable::exist(tmpPurchId))
{
num.abort();
checkFailed("@SYS19304");
checkFailed(strfmt("@SYS24176", tmpPurchId));
throw error("@SYS23020");
}
purchTable.purchId = tmpPurchId;
num.used();