Показать сообщение отдельно
Старый 29.05.2004, 15:29   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Кирилл. Дело в том, что вы совсем не следуете рекомендациям для разработчиков.
См. руководство разработчика. Глава "To access and modify a system generated query"
А также все что есть в хелпе по ключевому слову executeQuery.

Ваши проблемы возникают из-за того, что вы пытаетесь в executeQuery пересоздать query. А на самом деле executeQuery предназначен только для того, чтобы изменить параметры текущего query

Создавать query надо в init-методе. В excecuteQuery только изменять range.value.
Если вы будете следовать рекомендациям, то вы избежите ваших проблем.

Обратите внимание, что добавленный в init'е range можно сделать hidden или locked.
Тогда ваш range пользователь не сможет увидеть или не сможет изменить.

Чистый и очень наглядный пример правильного использования этой методики в Аксапте - форма KMKnowledgeCollectorCollection. См. datasource KMCollection

обратите также внимание, что rangeCriteria можно и не запоминать в форме, а пользоваться методом Datasource.findValue().