2014-09-25 21:42:38
Краткое описание :
Долго открывается интерфейс платежных документовОписание :
Платежное поручениеЧто измененно :
На филиальной БД, у которой есть 2-3 филиала с
большим количеством данных, заводится новый филиал и
при нахождении в этом филиале наблюдается задержка в
открытии интерфейса платежных документов.
Задержка вызвана следующим запросом:
SELECT /*+ FIRST_ROWS INDEX_ASC("OBOROT","OBOROT0")*/ ROWID FROM GAL9_4T."OBOROT" WHERE ("FATL_BRANCH"=:P1)
А т.к. по полю Atl_Branch нет индекса, то для
отбора данных по только что созданному филиалу
происходит перебор всей таблицы.
Необходимо избавиться от этого запроса.
Как измененно :
При инициализации окна отображения проводок
(нижняя панель интерфейса платежных документов),
происходит скрытие/отображение полей, в зависимости от
типа документа. В данном случае, это поле "Дата
отчета", которое располагается на экранной форме панели
проводок (Alt+S) и отображается только для авансового
отчета.
Функция скрытия данного поля вызывалась до
накладывания ограничений на таблицу Oborot, а так как
после скрытия/отображения происходит проверка
валидности таблицы Oborot, то формировался запрос с
ограничением только по без индексному полю филиала, что
и приводило к замедлению.
Исправлено. Скрытие полей производится после
наложения ограничений на таблицу.