Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Оптимизация списка справочника (число прочтений - 1814 )
g00d
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 68
Зарегистрирован: 13. Ноября 2006
Оптимизация списка справочника
18. Апреля 2007 :: 05:18
Печать  
суть конфа самописная
есть справочник товаров
в списке пользователи должны оперативно видеть остатки на 3-х основных складах и в браке, товар в резерве, долге, в перемещении
в итоге имеем в справочнике товаров 9 вычисляемых колонок
данные беруться из регистра остатков
сделано - у пользователей настраиваемое отображение колонок, т.е. они видят только те колонки которые им нужны... как минимум 5 колонок
но проблему не решает в случаях  когда в группе очень много элементов, открытие формы затягивается
есть идея как решить эту проблему...
- в справочнике товаров добавить 9 новых реквизитов
в момент открытия прямым запросом вычислять значения колонок
и в самой форме тупа их отображать....
или может быть я слишком замарачиваюсь? есть более простые решения?
п.с.  в конфе бываю редко, да и то в основном читаю
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация списка справочника
Ответ #1 - 18. Апреля 2007 :: 05:52
Печать  
Реквизиты, я считаю, - это лишнее. Просто в этих колонках и делай вычесления остатков прямыми запросами. И в функции, которая вычесляет данные для данной колонке поставь примерно такой код:
Код
Выбрать все
Если ТекущаяКолонка.Видимость()=0 Тогда
Возврат "";
КонецЕсли;

//и дальше шпарь вычисления итогов 

  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Оптимизация списка справочника
Ответ #2 - 18. Апреля 2007 :: 06:51
Печать  
Сделано так. При открытии вычисляются остатки прямым запросом и заносятся в индекс. таблицу. Индекс по товару. Вычисляемые колонки остаются, только данные берут из таблицы.
Пересчет таблицы - раз в 60 сек.

Ранее было вычисление остатков в функции - но это постоянная "бомбардировка" базы запросами,
причем по нескольку раз к одному и тому же товару, причем замедляет работу не только
этого пользователя, но и остальных , причем в некоторых случаях появлялся глюк -
не успевал отрабатывать быстрый поиск по буквам.
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Оптимизация списка справочника
Ответ #3 - 18. Апреля 2007 :: 08:40
Печать  
>>должны оперативно видеть остатки
Смотри остатки на ТА
Никаких тормозов даже в штатном режиме
Зачем усложнять себе жизнь, тем более таким калечным способом (перезаписывая элементы постоянно)?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация списка справочника
Ответ #4 - 18. Апреля 2007 :: 08:49
Печать  
Цитата:
>>должны оперативно видеть остатки
Смотри остатки на ТА
Никаких тормозов даже в штатном режиме
Зачем усложнять себе жизнь, тем более таким калечным способом (перезаписывая элементы постоянно)?

а кто сказал, что нужны итоги на ТА?
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Оптимизация списка справочника
Ответ #5 - 18. Апреля 2007 :: 09:21
Печать  
>>а кто сказал, что нужны итоги на ТА?
Потому что это и есть оперативно (имхо)  Подмигивание
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать