Имя: Пароль:
1C
1C 7.7
v7: Количество документов найденных методом ВыбратьДокументы()
0 Enlighted
 
03.05.17
23:20
День добрый, подскажите пожалуйста есть ли возможность получить число найденных документов методом выбратьДокумент, или другим более подходящим способом?
А то сейчас стоит перебор всех найденных документов в цикле с определением типа документа и подсчётом по типам.
1 runoff_runoff
 
03.05.17
23:22
ВыбратьДокументы открывает курсор.. а не получает в качестве результат набор строк..
2 Enlighted
 
03.05.17
23:26
Мне набор строк и не нужен, мне количество в выборке нужно. Тип документа я могу задать и в методе СоздатьОбъект()

ВыбратьДокументы(<?>,)
Синтаксис:
ВыбратьДокументы(<Дата1>,<Дата2>)
Назначение:
Открыть выборку документов в интервале дат.
Возвращает:
1 - если действие выполнено и в выборке есть хотя бы один документ;
0 - если действие не выполнено или в выборке нет ни одного документа.

По всей логике именно в этом методе формируется число найденных документов, так как он возвращает есть ли вообще соответствующие условиям поиска документы.
Но если это не тот метод то возможно есть другой способ?
3 Смотрящий
 
03.05.17
23:28
(2) Чорный запроs
4 GreyK
 
03.05.17
23:41
(0) Если уж процедура ВыбратьДокументы() выполнена, то сделать цикл со счетчиком документов не проблема, отработает намного быстрее.
5 Злопчинский
 
04.05.17
01:29
на клюшках все уже давно сделано - или на мисте в разделе программы "базопузомер" или вот сипатишненько, то чтон адо автору
http://catalog1c.ru/upload/iblock/b27/2.jpg
6 Злопчинский
 
04.05.17
01:29
7 Злопчинский
 
04.05.17
01:30
8 vcv
 
04.05.17
05:19
> Мне набор строк и не нужен, мне количество в выборке нужно
Что бы посчитать количество в выборке, нужно сделать выборку всех строк. Это само по себе затратная операция. Вдобавок, если выборка вам сказала, сколько в ней строк, она обязана поддерживать целостность, что бы это количество строк за время обработки выборки не изменилось от действий других пользователей. Отсюда вытекает необходимость в табличной блокировке или реализации снапшотов или еще чего-то слишком умного для 1С.
Поэтому всегда делается проще - открываем выборку и идём по таблице/индексу пока не упрёмся в конец. Не зная, сколько в выборке записей. Если вам это не подходит, используйте Запрос вместо ВыбратьДокументы, выгружайте результат запроса в таблицу значений и по ней уже хоть количество считайте, хоть ходите взад/вперёд...
9 пипец
 
04.05.17
09:11
да уж ))) уже запросом люди не пользуются по видам документов
ЗЫ в )
10 Enlighted
 
04.05.17
21:20
(8) Благодарю, реализовал циклом. Просто подумал, может уже есть где в стандартных методах, чтобы лишний раз не изобретать велосипипед.
11 vcv
 
05.05.17
05:18
(10) Конечно есть в стандартных методах.

Период с НачДата по КонДата;
ТекущийДокумент = Документ.Реализация.ТекущийДокумент;
Функция ТекущийДокументСчётчик = Счётчик(ТекущийДокумент);
2 + 2 = 3.9999999999999999999999999999999...