Имя: Пароль:
1C
1C 7.7
v7: Как можно посмотреть количество документов?
,
0 experiment
 
19.03.14
08:13
Как в 1С 7.7 можно посмотреть количество документов каждого типа в базе? Я где-то читал, что это можно сделать стандартными средствами.
1 Mikeware
 
19.03.14
08:14
Базопузомером™ от ТОТ®а
2 Mikeware
 
19.03.14
08:14
ну, или примитивным прямым запросом
3 ЧеловекДуши
 
19.03.14
08:15
(0) Счетчик
4 ЧеловекДуши
 
19.03.14
08:16
+(3) "Счетчик()" - По гугли, или тут почитай
http://yadi.sk/d/yPX85BHLBYMEP
5 SleepyHead
 
гуру
19.03.14
08:29
Можно обычным штатным запросом или перебором. Перебирай виды докментов в метаданных и далее организуй выборку по документам, как умеешь.
6 SleepyHead
 
гуру
19.03.14
08:32
// самое примитивное стандартными средствами
Для Сч=1 По МетаДанные.Документ() Цикл
  Ид = МетаДанные.Документ(Сч).Идентификатор;
  КолВо = 0;
  Док = СоздатьОбъект("Документ."+Ид);
  Док.ВыбратьДокумент();
  Пока Док.ПолучитьДокумент()=1 Цикл
    КолВо=КолВо+1
  КонецЦикла;
  Сообщить("Документов вида "+Ид+" нашлось "+КолВо);
КонецЦикла;
7 SleepyHead
 
гуру
19.03.14
08:33
В коде маленькая опечатка, читать так:

Док.ВыбратьДокументы();
8 ЧеловекДуши
 
19.03.14
09:00
(6) Смешно, когда у тебя документов 12000 в месяц, ты с таким подходом будешь ждать долго :)
9 ЧеловекДуши
 
19.03.14
09:01
+(7) На очень больших объемах информации, твой метод упадет в "Нехватка памяти" :)
10 SleepyHead
 
гуру
19.03.14
09:04
(8) про время работы человек ничего не писал.И обрати внимание - я написал, самое примитивное. Если есть ограничения по времени - пусть дальше сам думает разбирается, перебор метаданных ему хоть как пригодится.
11 SleepyHead
 
гуру
19.03.14
09:04
(9) Обоснуй, с чего бы 1с не хватило памяти при переборе?
12 aka AMIGO
 
19.03.14
09:10
есть у меня давний отчетик - какие документы выполняют движения регистров и проводок
попробуй, может и сработает

там можно задать период просмотра, и в строке документа показывается количество документов за выбранный период
заодно увидишь, какие проводки делают доки, или движения регистров
13 aka AMIGO
 
19.03.14
09:10
14 vinogradъ
 
19.03.14
09:18
15 ДенисЧ
 
19.03.14
09:19
(10) "метод упадет в "Нехватка памяти" "

Бред не неси.
16 PLUT
 
19.03.14
09:20
(3) (4) СчЁтчик()
17 Mikeware
 
19.03.14
10:52
(6)руки за такое отрывать.....
18 Aleksey
 
19.03.14
10:53
(17) чего не так?
19 fvadim
 
19.03.14
11:06
Сначала болело лицо.
Но с другой стороны эта ветка подняла мне самооценку. Больше таких.
20 Torquader
 
19.03.14
11:13
(17) Что вам не нравится ?
Можно, конечно, перебрать общий журнал и разложить по типам документов - но будет явно дольше.
Для справочников можно получить максимальный код или максимальный ID.
Для документом можно вычислить разницу ID последнего и первого - получится общее количество всех документов в базе.
21 Aleksey
 
19.03.14
11:14
(20) максимальное ID не показатель, так как часть объектов может быть удалена
22 Torquader
 
19.03.14
11:18
(21) Обычно, объекты удаляют периодами, конечно, есть "умники", у которых каждый второй документ с пометкой на удаление.
Просто - быстро пересчитать не так просто, а "чёрный запрос" тоже не быстро будет выполняться.
23 Тихий омут
 
19.03.14
11:24
select SUM(1) as sch, iddocdef from _1SJOURN group by IDDOCDEF order by sch

зы.
-пап, а кто все эти люди?
24 Torquader
 
19.03.14
11:37
(23) В sql-версии я бы ещё COUNT сделал.
А в dbf - как ни крути - будет полное сканирование dbf-таблицы, что очень не быстро.
25 Никулин Леонид
 
19.03.14
11:44
(0). Запрос.
Выбрать
    Количество(ссылка)
...
26 Torquader
 
19.03.14
11:46
(25)
Если семёрка была бы восьмёркой,
то бы вопроса никто не задал.
Просто открыл бы конструктор запросов
И по таблице итог посчитал.
27 Никулин Леонид
 
19.03.14
11:49
в семерке не сильно специалист, но кажись запросом это можно сделать
28 Torquader
 
19.03.14
11:51
(27) Конечно можно и даже нужно.
29 Mikeware
 
19.03.14
13:40
(20) не нравится - много выборок.
лучше одна, и считать по видам.
(23)select count(*),  iddocdef [вид $ВидДокументаПредставление]
from _1SJOURN (nolock) group by IDDOCDEF
--------
для совсем ленивых http://mista.ru/download1c/bazopuzo.zip
Ошибка? Это не ошибка, это системная функция.