Опять же непонятки, происходящие из логов АОСа. В логах имеются записи наподобие:
Код:
Версия: Navision Axapta 3.0
База данных: Microsoft SQL Server
Предупреждение: FORUPDATE не может использоваться для представления 'LedgerBalancesDim', так как представления только для чтения. Указание отменено. [W-0121]
Стек вызовов:
(S) \Classes\QueryRun\next
(S) \Classes\LedgerBalanceSum_CurrentMST\sumTransact - line 26
...
По логике все правильно: незачем запись из вьюхи выбирать для обновления,.. но! Но ее специально никто и не выбирает для обновления! Такая же ситуация происходит, в частности, в следующем случае:
X++:
Query q = new Query();
QueryBuildDataSource qbds;
PLKView t; // представление
qbds = q.addDataSource(tablenum(PLKView));
qr = new queryrun(q);
qr.next();
t = qr.get(tablenum(PLKView));
Как видно, никакого Forupdate тут нет. Однако, если мы сделаем следующим образом, то вышеописанной проблемы уже нет (никаких варнингов):
X++:
...
while(qr.next())
{
t = qr.get(tablenum(PLKView));
}
Подскажит, пожалуйста, что это? очередная "фича" аксапты? или с этим как-то можно бороться?