@TransactionAttribute(TransactionAttributeType.REQUIRED)
@Override
final public DETAILSTYPE append(DETAILSTYPE item) throws ClipsServerException {
checkCommandAccessibility(COMMAND_CREATE);
if (!HardCodedIDs.canModify(entityClass, 0)) {
throw new ClipsServerException("Запрещено добавлять элементы в справочник " + hudClassName);
}
item.title = item.title.trim();
checkUniqe(item);
try {
item.id = 0;
checkTitleValid(item.title);
onAppend(item);
DEN entity = entityClass.newInstance();
set(entity, item);
manager.persist(entity);
manager.flush();
manager.refresh(entity);
return entity.getDetails((RightChecker) this);
} catch(InstantiationException ex) {
throw new ClipsServerException("Не удалось создать класс строки таблицы '"
+ hudClassName + "'", ex);
} catch(IllegalAccessException ex) {
throw new ClipsServerException("Не удалось получить доступ к классу строки таблицы '"
+ hudClassName + "'", ex);
}
}