Показать сообщение отдельно
Старый 19.01.2005, 21:25   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Вопрос: Что делать, если медленно открывается форма "Коммерческие соглашения"?

Ответ: Медленная работа этой формы может быть обусловленна большим количеством записей в таблице "Коммерческие соглашения". К сожалению, форма написана таким образом, что при открытии выполняется лишний запрос к БД, считывающий всю таблицу PriceDiscTable. В принципе, это не влияет на производительность, если для PriceDiscTable включено кэширование EntireTable (в стандартной версии кэширование включено). Однако, когда количество записей в этой таблице становится значительным, кэширование имеет смысл сменить на NotInTTS. Затем нужно избавиться от запроса, считывающего всю таблицу перед открытием формы. Чтобы сделать это, найдите в AOT форму PriceDiscTable, и в методе run() вызовите метод element.reSelect() до вызова super():<div class='XPPtop'>X++</div><div class='XPP'>[color=:blue]void[/color]  run()
{
   element.reSelect();
   [color=:green]// ....
[/color]    [color=:blue]super[/color]();
}</div>
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me