В принципе до вставки записи в базу можно не проверять (так как это не работает)
X++:
inventTable = null;
inventTable.clear();
inventTable.initValue();
if (InventTable::exist(sCode))
throw error(strfmt("Запись существует", sCode));
А положиться на уникальный индекс по itemId. С другой стороны, если в данной точке, мне нужно проверить другое поле, причем оно должно быть неуникальным, то добавить уникальный индекс я не могу.
Цитата:
A select forupdate in TTS will force reading from the database and replaces the record in the cache.
делать forupdate, когда он мне не нужен, тоже как-то некрасиво...
еще чудеса. InventTable::exist(sCode) может выдать, что сущ. не первая запись, а скажем 14-я