|
Получить общее количество записей в регистре сведеней | ☑ | ||
---|---|---|---|---|
0
lucifer
30.07.12
✎
14:17
|
Выборка = РегистрыСведений.ФизЛицо.Выбрать();
//макс = ??? Пока Выборка.Следующий() Цикл КонецЦикла; хочу прикрутить прогрессбар к моему циклу Пока ..... для чего нужно знать общее кол-во записей в регистре, как это узнать? |
|||
1
Wobland
30.07.12
✎
14:17
|
запросом
|
|||
2
Wobland
30.07.12
✎
14:18
|
а что за регистр такой интересный?
|
|||
3
lucifer
30.07.12
✎
14:18
|
(1) а по другому не как?
|
|||
4
Wobland
30.07.12
✎
14:19
|
(3) а смысл?
|
|||
5
lucifer
30.07.12
✎
14:19
|
регистр периодический, там же нужно насколько я понимаю период указать, а мне нужно вообще все записи
|
|||
6
Wobland
30.07.12
✎
14:19
|
(5) а если не указвать?
|
|||
7
lucifer
30.07.12
✎
14:20
|
(4) в смысле?
я ж пишу, нужно прикрутить индекатор, что бы видно было что обработка работает а не весит |
|||
8
Reset
30.07.12
✎
14:23
|
индИкатор
Выбрать Количество(0) Как Количество из РегистрСведений.ФизЛицо |
|||
9
Reset
30.07.12
✎
14:23
|
+вИсит
|
|||
10
Heckfy
30.07.12
✎
14:25
|
(7) А как ты максимальное значение для индикатора получишь??? Может лучше состояние использовать?
ЗЫ: Тише, про запрос ни слова. Человек с задумкой на будущее код пишет. Что бы было что оптимизировать потом. |
|||
11
Wobland
30.07.12
✎
14:28
|
(7) сколько весит?
|
|||
12
lucifer
30.07.12
✎
14:41
|
(10) > А как ты максимальное значение для индикатора получишь???
я это и хочу сделать, запросом я и сам знал что можно, просто думал мож метод есть какой, что бы в одну строчку кода уложиться |
|||
13
lucifer
30.07.12
✎
14:43
|
(10) не совсем понятно что значит "максимальное значение для индикатора"
максимальное значение для индикатора = 100 (% естественно) а в цикле так: прогресс = текущийсчетчикинтераций / колвозаписей * 100; |
|||
14
Wobland
30.07.12
✎
14:45
|
(13) тебе самому будет удобней работать не от 0 до 100, а от 0 до СколькоТоТам. проценты сам бар посчитает
|
|||
15
Wobland
30.07.12
✎
14:45
|
сведеней, интераций, индекатор, весит.. прикольная раскладка клавиатуры
|
|||
16
hhhh
30.07.12
✎
14:46
|
(12) ну так там и есть в одну строчку, читай (8).
|
|||
17
Heckfy
30.07.12
✎
14:47
|
(13) Так не кошерно. Зная колвозаписей лучше
Индикатор.МаксимальноЗначение=Колвозаписей; Пока цикл Индикатор=Индикатор.Значение+1; КонецЦикла; ЗЫ:За синтаксис прошу прощения. СП под рукой нету. |
|||
18
lucifer
30.07.12
✎
14:47
|
(14) в смысле так:
прогресс = текущийсчетчикитераций; или я тебя не понял. (15) ну уж какая есть ))) |
|||
19
lucifer
30.07.12
✎
14:48
|
(17) ааа ок, не знал
|
|||
20
lucifer
30.07.12
✎
14:49
|
а может ответите по другому вопросу, как сделать что бы цикл не вис, а то то зависает и только в конце обработки отвисает (цикл работает в процедуре &Насервере)
|
|||
21
Vladal
30.07.12
✎
14:50
|
(10) Щто? Автор Болгеноса здесь?
|
|||
22
Wobland
30.07.12
✎
14:51
|
(20) отдавать иногда управление клиенту, чтоб он просра.... прорисовался
|
|||
23
lucifer
30.07.12
✎
14:53
|
(22) почему-то процедуру объявленную &Наклиенте 1с не видит, пишет что не найдена
|
|||
24
Wobland
30.07.12
✎
14:53
|
(23) засада прям
|
|||
25
Spieluhr
30.07.12
✎
14:57
|
(0) Открою секретный прием получения общего количества записей таблицы
ВЫБРАТЬ Количество(*) ИЗ РегистрСведений.ФизЛицо |
|||
26
lucifer
30.07.12
✎
14:59
|
(25) в следующий раз тему начиная читать сверху вниз
|
|||
27
lucifer
30.07.12
✎
14:59
|
+(25) ну или все сообщения в теме, а не выборочно
|
|||
28
hhhh
30.07.12
✎
15:00
|
(26) еще более секретный прием - без запроса:
Набор = РегистрыСведений.ФизЛицо.СоздатьНаборЗаписей(); Набор.Прочитать(); Количество = Набор.Количество(); |
|||
29
lucifer
30.07.12
✎
15:02
|
(28) ооо, это я и хотел увидеть )) сенькс
|
|||
30
cViper
30.07.12
✎
15:03
|
ВыборкаИзРезультатаЗапроса (QueryResultSelection)
Элементы коллекции: Произвольный Возможно обращение к полям выборки посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) или имя поля выборки. Свойства: <Имя поля> (<Field name>) Методы: Владелец (Owner) Выбрать (Choose) Группировка (Group) Количество (Count) НайтиСледующий (FindNext) Получить (Get) Сбросить (Reset) Следующий (Next) СледующийПоЗначениюПоля (NextByFieldValue) ТипЗаписи (RecordType) Уровень (Level) Описание: Объект этого типа возвращается методом Выбрать у объекта типа РезультатЗапроса и представляет собой специализированный способ перебора записей запроса. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: РезультатЗапроса, метод Выбрать ВыборкаИзРезультатаЗапроса, метод Выбрать |
|||
31
cViper
30.07.12
✎
15:03
|
ВыборкаИзРезультатаЗапроса (QueryResultSelection)
Количество (Count) Синтаксис: Количество() Возвращаемое значение: Тип: Число. Описание: Получает количество записей в выборке из результата запроса. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
32
dauster
30.07.12
✎
15:21
|
(25) +100000
(28) Неправильный подход. Представим ситуацию, когда в регистре миллионы записей - все они при таком коде будут грузится в память, что во-первых будет очень долго, а во-вторых память может банально кончится. |
|||
33
cViper
30.07.12
✎
15:23
|
(0) Вы вообще (0) читали?
|
|||
34
cViper
30.07.12
✎
15:23
|
(32) Вы вообще (0) читали?
|
|||
35
dauster
30.07.12
✎
15:25
|
(34) что мешает сделать запрос перед тем, как открыть выборку?
цель озвучена - получить общее количество записей в регистре, код в (25) - этому удовлетворяет. в (28) - откровенная ерунда для данной цели. |
|||
36
cViper
30.07.12
✎
15:29
|
(35) Человек в (0) может выразился не так. По факту ему надо количество строк в выборке, а не в регистре.
|
|||
37
Vladal
30.07.12
✎
15:34
|
(36) Выборка.Пустая(), Выборка.Выгрузить(ТЗ), ТЗ.Количество?
|
|||
38
dauster
30.07.12
✎
15:39
|
(36) Тогда ответ напрашивается сам собой. Человеку просто надо использовать правильный инструмент для своих задач.
В его случае изначально нужно использовать запрос, а не выборку и не мучаться. Будет и быстро и просто. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |