Определение количество строк в выборке.

1. t955938 30.05.12 10:31 Сейчас в теме
Добрый день, уважаемые Знатоки!
Я хочу получить количество элементов (строк) в выборке, до начала перебора ее элементов методом Следующий.

Выборка = Справочники.Номенклатура.Выбрать();
Если Выборка.Количество() >0 тогда
КонецЕсли;


Пишет, что метод Количество не существует.
Подскажите, пожалуйста, в чем моя ошибка. Работаю в версии 1С 8.1
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. romansun 194 30.05.12 11:21 Сейчас в теме
(1)

Фишка выборки в том, что она динамическая. Т.е. она не сразу болтается вся в памяти, а подгружается порционно по команде Следующий().

Плюсы - работает шустрее, не забивает память
Минусы - нельзя посчитать количество, нельзя посмотреть всю выборку в отладчике и т.п.

ко второму посту добавлю, что еще вариант в запросе так и указать "ВЫБРАТЬ КОЛИЧЕСТВО(Ссылка) ИЗ Справочник.Номенклатура" - такой запрос отработает быстрее
yaguarrr; +1 Ответить
9. 1CEnterprise 25.08.20 13:39 Сейчас в теме
(3) Да, но количество все-таки можно посчитать. Как во втором посте.
Получается, выборка - динамическая, но кол-во посчитать можно)
2. ИльяЕвгеньевич 30.05.12 10:40 Сейчас в теме
ну у такой выборки и не будет этого метода
делай запросом
Запрос = Новый Запрос("ВЫБРАТЬ
|	Номенклатура.Ссылка
|ИЗ
|	Справочник.Номенклатура КАК Номенклатура");
Результат = Запрос.Выполнить().Выбрать();
Количество = Результат.Количество();
8. Heckfy 06.09.18 17:55 Сейчас в теме
(2)
Так не правильно. Не нужно выбирать ссылки. Нужно сразу количество Выбирать:

Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| КОЛИЧЕСТВО(*) КАК Кол
|ИЗ
| Справочник.Номенклатура КАК Номенклатура"
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
Количество = РезультатЗапроса.Кол;
taasha25; FlyBird; Lapitskiy; 77Viktor77; +4 1 Ответить
10. ImHunter 333 26.08.20 09:09 Сейчас в теме
(8) Все правильно написано. Только не очень внятно.
Товарищ имел в виду - не использовать метод менеджера справочника Выбрать(), а переделать на использование объекта Запрос.
11. 77Viktor77 8 12.05.21 12:54 Сейчас в теме
(8) большое Спасибо то что искал!)
4. t955938 30.05.12 12:02 Сейчас в теме
Большое спасибо за ответы!!!
Все понятно.
5. stas824 12.03.13 18:55 Сейчас в теме
6. _n26__ 08.05.13 10:42 Сейчас в теме
Спасибо за объяснение и решение, помогло!
7. AlexO 136 11.05.14 15:51 Сейчас в теме
(0) если не ошибаюсь, там 25 элемента в выборке.
(3) у 1С вообще странно:
в Выборке из запроса - есть метод "Количество()", и НайтиСледующий(), а, например, в выборке у РС "РегистрСведенийВыборка" (получаемого из менеджера регистра и командой "РегистрСведений.ИмяРегистра.Выбрать()") нет ни того, ни другого.
Т.е. в случае регистра 1С не пользуется своим же механизмом запросов.
Swamt; COMPER; Светлый ум; yaguarrr; +4 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот