Кирилл. Дело в том, что вы совсем не следуете рекомендациям для разработчиков.
См. руководство разработчика. Глава "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().
|