V8: Отбор в форме справочника "ссылка в группе" #403252


#0 by Sh18
Четвертый, кажется, форум, куда обращаюсь. Но вдруг... ) Задача такая: В форме справочника надо организовать несколько иное поведение, чем по умолчанию в 1С. Надо при выборе группы в СправочникДерево в основном СправочникСписок показывать все элементы (без групп), входящие в эту группу на любом уровне. Здесь устнавливается следующее: ЭлементыФормы.СправочникСписок.ПросмотрГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы; И сам отбор несколько тормозит (при переходе к новой группе), и уж совсем неприлично (неприемлемо) тормозит при этом штатный поиск (не понятно, почему?). А задача вполне жизненная: скажем, я заню, что какой-то контрагент входит в группу Покупатели, но более точную группу не знаю (там есть еще уровни). Открываю Покупатели и ищу... ищу... и вспоминаю старый анекдот: "Windows в переводе с языка американских индейцев означает "белый человек. сидящий перед монитором и смотрящий на песочные часы" )) Разбираясь с этим делом я докопался вот до чего. У меня есть кое-какие расчеты при выводе справочника (долги), плюс, там, раскраска строк, они заложены в процедуре ПриПолученииДанных(...). Так вот, если нет отбора по ссылке, то при поиске процедура вызывается дважды (не понятно, почему дважды, а не один раз, но бог с ним, немного). А вот при наличии отбора по ссылке, похоже, поиск идет так: прога берет очередную порцию данных (20 строк), выполняет для них ПриПолученииДанных(...), потом(!) проверяет на удовлетворение условиям поиска, убеждается, что нет, берет следующие 20 строчек и далее со всеми, идет линейно сверху вниз. Если список длинный, а искомое в конце, то получается, что она вызывает процедуру сотни раз зазря! С ПриВыводеСтроки - та же бодяга. Похоже на ляп программистов, и как его обойти (и можно ли) - не знаю. Может, кто знает глубже? (Оптимизация обработчиков особо не помогает: там нужно получать остатки, это или запрос, или обращение к регистру, и то, и то штука не быстрая - но остатки нужны!)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С