Цитата:
Сообщение от
Logger
Цитата:
Сообщение от
DarkSpirit22
В голову еще приходит SQL filtered unique index:
А как вы его из аксапты сделаете, да еще и гарантируете, что он не слетит при следующей синхронизации ?
Из Аксапты фильтрованный индекс не сделать, она такое не умеет, но из Аксапты можно сделать "обычный" уникальный индекс, а уже на уровне СУБД сделать его фильтрованным. Замечено, что синхронизация БД из Аксапты "не различает", фильтрованный в базе индекс или нет, а смотрит только на название/порядок полей и проч. Таким вот образом в D365FO решалась задача "отключения" ненужных/вредных индексов стандартного приложения: поменять свойства стандартного индекса в приложении нельзя (с тех пор, как закрыли overlayering), но можно на стороне СУБД добавить индексу условие вида where partition = 0 - и вуаля! А тут можно добавить условие вида where active = 1. Конечно, если вдруг понадобится поменять индекс, то синхронизация попытается его пересоздать, и тогда надо будет заново приклеивать фильтрацию со стороны СУБД. Но в остальном всё работает нормально.