Показать сообщение отдельно
Старый 09.12.2008, 11:27   #1  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
Ошибка при обновлении моделей
Dynamics Ax 4.0 SP02 EE (Application version: 4.0.2501.347)

Наткнулись на ошибку дублирования данных уникального индекса FieldCache таблицы SRSModelFieldCache которую генерирует Dynamics Ax при попытке процессинга моделей обновления (Business Analysis\Update Models).
Ошибка возникает на таблицах входящих в табличные коллекции при некоторых условиях на EDT (наличии у EDT relation c related field fixed) и id полей по которым строится связь между таблицами.

Сценарий воспроизведения ошибки (для простоты изложения буду оперировать 2 таблицами, например EmplTable и ProdTable) :
1. Создаем в таблице EmplTable поле типа Enum (пусть будет NoYes) SomeCondition ( FieldId = 50001 )
2. Создаем EDT EmplIdCondition ( EmplIdCondition == EmplTable.EmplId && 1 == EmplTable.SomeCondition )
3. На основе EDT EmplIdCondition в таблице ProdTable создаем поле EmplIdCondition ( FieldId = 50001 ). Собственно это первое условие при котором воспроизводится ошибка - id поля 'основной' таблицы (ProdTable.EmplIdCondition = 50001) и id поля related field fixed ( EmplTable.SomeCondition = 50001 ) EDT SomeIdCondition совпадают.
4. Создаем перспективу SomePerspective и в список таблиц включаем модифицированные EmplTable и ProdTable

Запускаем процесс 'Update Models'. На этом шаге процесс проходит успешно.
Последний штрих:
5. Создаем табличную коллекцию SomeTableCollection в которую включаем EmplTable и ProdTable (можно любую 1 из них) - Второе условие воспроизведения ошибки.

Запускаем процесс 'Update Models' и получаем сообщение:
Цитата:
Ошибка:
Невозможно создать запись в Кэш полей Reporting Services (SRSModelFieldCache). Поле: 50001, SOMECONDITION.
Запись уже существует.
при вставке записи в методе SRSModelGenerator.cacheVirtualCompanyRelationshipEntity(...).

Проект с симуляцией ситуации прилагаю:
Вложения
Тип файла: zip SRSModelFieldCache_WithID.zip (30.2 Кб, 74 просмотров)