gifts2017

Быстрый подсчет элементов справочника

Опубликовал Brr (brr) в раздел Программирование - Практика программирования

Частенько бывает нужно подсчитать количество элементов в справочнике, чтобы показать пользователю прогресс выполнения обработки. Быстро это сделать позволяет следующая функция.

Частенько бывает нужно подсчитать количество элементов в справочнике, чтобы показать пользователю прогресс выполнения обработки. Быстро это сделать позволяет следующая функция.

На оригинальность не претендую.

 

 

Функция РазмерСправочника(ИмяСправочника)

   
Запрос = СоздатьОбъект("Запрос");

   
Запрос.Выполнить("

    |ТекЭлемент = Справочник."
+ИмяСправочника+".ТекущийЭлемент;

    |Функция Сч = Счётчик();"
);

    Возврат
Запрос.Сч;

КонецФункции//РазмерСправочника


Внимание! При расчете количества не учиттываются группы справочника!

 

 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Jurii (jmw) 19.10.10 07:04
Как раз для маленьких справочников - не актуально, а для больших тратить несколько секунд и так затратно, а ещё и размер получать....
Вообще-то очень редко нужно получать размер всего справочника, особенно когда его размер превосходит 10К элементов.
2. Brr (brr) 19.10.10 10:21
Запустил в циклах 10-100-1000 подсчетов справочника 100к элементов, среднее время 150 миллисекунд. При обработке больших объемов принято отображать процесс выполнения задачи.
3. docent (Docent) 27.10.10 14:43
select count(0) from scxxxx (nolock)
рулит
4. Namer Worder (Paully) 24.11.10 17:40
5. Ilyas Kopishev (apollo1982@mail.ru) 10.02.12 16:05
а мне понравилось - хорошая возможность заранее оценить процесс.
6. Alex Sad (Downkey) 16.03.13 07:23
Хороший способ, мне такой способ очень помог.
7. Vladimir Gricenko (Gavroch.v) 16.03.13 23:34
8. Артем (nexochyka) 07.10.14 21:38
9. Xer shi (Xershi) 09.07.15 12:58
Для справочника товаров на 1000 элементов выдал меньше чем прошелся счетчик через
 СпрНоменклатура.ВыбратьЭлементы();
10. Brr (brr) 10.07.15 10:48
(9) Xershi, Проверил, действительно, группы почему-то не учитываются запросом.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа