17.10.2023, 17:34 | #1 |
Участник
|
Ошибка "Не удается выполнить подкачку по значению - структура таблицы поиска не соответствует структуре таблицы запроса."
Добрый день.
Ax 2009 5.0.1500.6491 При вызове Global::dsRefresh_RU() некоторые пользователи периодически получают ошибку "Не удается выполнить подкачку по значению - структура таблицы поиска не соответствует структуре таблицы запроса.". В стеке вызова (C)\Classes\QueryRun\next (C)\Classes\FormDataSource\executeQuery (C)\Classes\FormDataSource\research (S)\Classes\Global\dsRefresh_RU Запрос самый обычный, у всех пользователей он аналогичный. Встречались с такой? Что можно посмотреть, чтобы сузить круг поиска? |
|
17.10.2023, 17:39 | #2 |
Участник
|
Это при каком-то действии на форме происходит? если да - посмотреть что у них там в расширенном фильтре по CTRL+F3 у этих пользователей
|
|
17.10.2023, 20:35 | #3 |
Участник
|
Ошибка возникает при обновлении записи на форме через код с помощью dsRefresh_RU().
Расширенных фильтров нет. Проверял через formDataSource.queryRun().query().dataSourceNo(1).toString() |
|
17.10.2023, 21:29 | #4 |
Участник
|
Похоже, похожая ошибка встречается и в 365
https://community.dynamics.com/forum...6-f450b399ce82 Но не уверен, что "симптоматика" одна и та же |
|
17.10.2023, 21:59 | #5 |
Участник
|
может у вас там стоит research(true) и число записей в выборке уменьшается так что движок не может спозиционироваться на записи из-за уменьшения их числа.
|
|
|
За это сообщение автора поблагодарили: Товарищ ♂uatr (4). |
18.10.2023, 12:55 | #6 |
Участник
|
Да, именно так, research() вызываем с retainPosition = true.
Пробовали повторить ситуацию на простенькой форме с 2 записями. Уменьшали количество записей на форме через delete_from и наложение фильтров (как общего фильтра на форме и обновления записи так, чтобы она скрылась с формы, так и накладыванием фильтра после обновления записи). Записи в процессе работы вообще исчезли с формы, но ошибки не возникло. |
|
18.10.2023, 23:04 | #7 |
Administrator
|
Сталкивался с такой ошибкой только в двух случаях - когда параллельно работает синхронизация, которая реально меняет структуру таблицы (тут всё понятно). И когда параллельно работает реиндексация (вот тут причину не знаю - просто констатирую факт; после этого перестал баловаться реиндексацией в рабочее время)
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: SRF (1). |
19.10.2023, 09:47 | #8 |
Участник
|
При реиндексации насколько я помню, у нас текст ошибки был другой - что то типа курсор изменился после объявления, но там конечно были обычные selectы, а не reseach.
При этом, как правило отваливались только, те запросы, которые выполнялись уже на финальной стадии rebuildа, те если запрос стартовал и успевал закончиться пока работает ребилд, то ошибок не было, а вот если он стартовал в момент работы, и к моменту окончания выполнения запроса rebuild был завершен, то выпадала ошибка про курсор.
__________________
Sergey Nefedov Последний раз редактировалось SRF; 19.10.2023 в 09:52. |
|
|
За это сообщение автора поблагодарили: sukhanchik (4), Logger (1). |
19.10.2023, 12:14 | #9 |
Administrator
|
Цитата:
Сообщение от SRF
При реиндексации насколько я помню, у нас текст ошибки был другой - что то типа курсор изменился после объявления, но там конечно были обычные selectы, а не reseach.
При этом, как правило отваливались только, те запросы, которые выполнялись уже на финальной стадии rebuildа, те если запрос стартовал и успевал закончиться пока работает ребилд, то ошибок не было, а вот если он стартовал в момент работы, и к моменту окончания выполнения запроса rebuild был завершен, то выпадала ошибка про курсор.
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
2009, не удается выполнить подкачку по значению, ошибка |
|
|