Работаю в трехзвенке. Версия приложения
SP5 KR2 FP2 (Build #14).
Открываем справочник номенклатуры, создаём новую, на закладке количество (Склад) ставим единицу измерения. Начинается проверка в таблице
InventTableModule, которая смотрит были ли по этой номенклатуре открытые проводки. И если были - не даёт менять. Для этого вызывается метод
inventTrans :: openTransactionsExist(), в котором выполняется вот какой запрос:
PHP код:
select inventTrans
index hint itemIdx
where inventTrans.itemId == _itemId &&
inventTrans.StatusIssue == StatusIssue::QuotationIssue
exists join smmQuotationTable
where smmQuotationTable.QuotationId == inventTrans.TransRefId &&
smmQuotationTable.QuotationStatus == smmQuotationStatus::InProcess;
Приводящий вот к какой ошибке:
Невозможно выбрать запись в "Складские проводки" ("InventTrans")
Временные таблицы должны быть вложенными (inner), когда вы объединяете их оператором join с постоянными таблицами.
Казалось бы всё ясно... Но!
Обе таблицы НЕ являются временными! Это во-первых.
Таблица
smmQuotationTable относится к модулю CRM, который в нашем случае не включен, и, в принципе, при попытке открыть её говорит "Недостаточно прав". Это во-вторых.
И, что самое интересное, в двухзвенке этого глюка нет!!! Это в-третьих.
Аналогичные действия в SP3 и других версиях к таким ошибкам не приводят. Это в-четвёртых.
Из всего вышесказанного возникает предположение, что в SP5 KR2 в трёхзвенке неправильно обрабатываются securityKeys на таблицах.
Что думает по этому поводу AxСообщество?