![]() |
#3 |
Участник
|
Цитата:
Сообщение от VasVovec
![]() Натолкнулся на непонятный момент. У формы StaffingList выставлено AutoSplitKey = true
Если на поле вторичного ключа наложен фильтр (я пока не смог уловить однозначную закономерность, но всегда проявляется если отфильтровано 1 или 2 записи и вставка ведется в позицию перед последней записью), то при копировании записи возникает ошибка "запись с таким значением ключа уже существует" Ктото может прокоментировать? При вставке новой записи между строк, автосплиткей сравнивает эти две строки (например в заказе продажи) - у первой "Line no." = 10000, у второй "Line No." = 20000. Разницу между значениями он делит на два и прибавляет к минимальной, в итоге = (20000-10000)/2+10000 = 15000. Происходит вставка строки, у которой "Line No." = 15000. Теперь, допустим, вы отсортировали по вторичному ключу, и у вас последовательно пять строк "Line No." которых 10000 60000 30000 40000 20000 50000 При попытке вставить между 20000 и 40000 строкой произойдет ошибка, по причине того, что расчет AvtoSplitKey даст строку с номером 30000, а такая в базе уже есть! |
|