Показать сообщение отдельно
Старый 17.12.2020, 16:45   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Индекс может отсутствовать по 2 причинам

1. Физически нет на стороне SQL, но в Axapta он есть
2. Имя индекса, сформированное в Axapta, не соответствует имени индекса в SQL


1. Физически нет на стороне SQL, но в Axapta он есть

Если не рассматривать вариант, когда удалили на стороне SQL вручную, то это то, что уже сказал Pustik

Если индекс имеет свойство AllowDuplicates = No, то в таблице не должно быть дублей по полям этого индекса. Иначе он не сможет быть создан в SQL, хотя в Axapta будет присутствовать. Например, индекс по RecId имеет такое свойство

Т.е. как раз и получим описанную ситуацию. В среде Axapta индекс есть, но в SQL он так и не был создан


2. Имя индекса, сформированное в Axapta, не соответствует имени индекса в SQL

Имя индекса SQL формируется так

"I_" + "id таблицы" + "Имя индекса в Axapta"

В среде Axapta индекс ищется по его имени собственно в Axapta Но при формировании запроса к SQL будет автоматически добавлять префикс. Из переменных значений тут только id-таблицы

При обновлении таблиц их id не менялся? Или может Axapta при каких-то условиях "теряет" корректное значение id-таблиц?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Мышелов Федор (1).