|
СКД. Миллион строк в отчете. Как выводить? | ☑ | ||
---|---|---|---|---|
0
IamAlexy
20.02.10
✎
20:04
|
Соответственно интересует вопрос: есть некий отчет на СКД итог которого - допустим миллион строк.
вопрос - как такое выводить? где то решения с "постраничным" выводом есть чтобы подсмотреть ? |
|||
1
Джинн
20.02.10
✎
20:12
|
А его не нужно выводить. Нужно просто уволить заказчиков такого отчета. Ибо проанализировать лям строк и сделать какие-либо выводы на основании анализа просто невозможно.
|
|||
2
IamAlexy
20.02.10
✎
20:13
|
(1) ну хорошо..
300 строк в отчете.. то же ведь неудобно а как выводить ? |
|||
3
Jolly Roger
20.02.10
✎
20:16
|
(0) на рулонное АЦПУ...
|
|||
4
AlexSSSS
20.02.10
✎
20:17
|
(2) не понял проблему. Прокрутку отменили?
|
|||
5
IamAlexy
20.02.10
✎
20:17
|
(3) шестым шрифтом :)
|
|||
6
IamAlexy
20.02.10
✎
20:18
|
(4) допустим "нет прокрутки" :)
чисто теоретически - как организовать "постраничный" вывод результатов запроса ? |
|||
7
IamAlexy
20.02.10
✎
20:18
|
кстати вопрос:
первые 100 можно выбрать, а как выбрать результаты с 101 по 200 ? |
|||
8
Джинн
20.02.10
✎
20:21
|
(2) На прежней работе у директора было требование, чтобы любой отчет, попадающий к нему на стол занимал не более трех страниц. Вместе с пояснениями к отчету. Все остальное сходу выбрасывалось в корзину.
И в этом есть логика - нужно уметь выделять главное, классифицировать информацию, агрегировать ее и т.п. |
|||
9
AlexSSSS
20.02.10
✎
20:23
|
(6) предварительный просмотр печати?
|
|||
10
IamAlexy
20.02.10
✎
20:23
|
(8) в этом есть логика.
но тем не менее задачу не отменяет. отчет с большим количеством строк. нужно вывести его на экран пользователю "постранично" |
|||
11
IamAlexy
20.02.10
✎
20:23
|
(6) хм.. программно ? то есть результат запроса в поле табличного документа не показывать а сразу программно открывать предпросмотр ?
|
|||
12
AlexSSSS
20.02.10
✎
20:25
|
(11) зачем такой изврат то нужен???
|
|||
13
AlexSSSS
20.02.10
✎
20:25
|
(11) + и что такое "постранично" применительно к выводу в экранное окно
|
|||
14
ERWINS
20.02.10
✎
20:30
|
давно бесил этот момент
|
|||
15
IamAlexy
20.02.10
✎
20:30
|
(13) OFF: Почему городские библиотеки уничтожают книги
вот что такое постранично применительно к выводу в экранное окно. |
|||
16
IamAlexy
20.02.10
✎
20:31
|
просто если СКД выводит большое количество строк зараз - оно жутко клиентскую машину завешивает...
а вот если разделить - то было бы клева. |
|||
17
IamAlexy
20.02.10
✎
20:32
|
причем 2 направления поиска решений:
1. получать массив данных сразу и только выводить его постранично 2. получать данные порциями |
|||
18
IamAlexy
20.02.10
✎
20:32
|
+(16) причем тормозит именно вывод на экран..
|
|||
19
supremum
20.02.10
✎
20:47
|
(0) Сколько строк занимает один лист а4?
(17) Порциями более правильный вариант, но скорости это не прибавит в выводе. |
|||
20
IamAlexy
20.02.10
✎
21:19
|
вопрос в том как выбрать в запросе записи с 101ой по 200ую
|
|||
21
IamAlexy
20.02.10
✎
21:23
|
на предприятии 10000 человек и одно подразделение.
бухи хотят иметь возможность видеть отчет, ну например тот который по отпускам в СКД сделан - по 100 человек на странице. вопрос - почему они должны быть лишены такого права ? |
|||
22
IamAlexy
20.02.10
✎
21:25
|
в MySQL была конструкция типа:
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 вопрос- в 1С можно нечто подобное изобразить ? |
|||
23
ERWINS
20.02.10
✎
21:31
|
(22) в мс есть только первые
за предлами транзакции нет гарантированного выбора следующих |
|||
24
IamAlexy
20.02.10
✎
21:31
|
(23) про транзакцию речи не ведется
см. пример (21) количество сотрудников меняется редко. необходимо результат вывести "порциями" |
|||
25
ERWINS
20.02.10
✎
21:43
|
(24) как раз проблема в незакрытии транзакции
|
|||
26
Lama12
20.02.10
✎
22:26
|
(0)Вроде не видел такого предложения, но есть волшебные кнопки "PgUp" и "PgDn". Как раз постранично...
(21)Ответ на вопрос- потому что бухи не понимаю как 100 строк на экране будут выглядеть на принтере. В принципе можно и миллион строк на один экран поместить, и 10 не поместить на лист бумаги. В (15) нет ни одного упоминания про "постранично". А если имелось ввиду, как скан страницы книги, то тоже не понятно - что, через СКД выводить сканы книг из базы? (19)+100 |
|||
27
IamAlexy
20.02.10
✎
22:27
|
(26) еп.. в (15)ссылка на ветку где есть страницы по 100 постов чтобы было видно что такое "постранично"
|
|||
28
МихаилМ
20.02.10
✎
22:48
|
если известно правило упорядочивания (а оно всегда известно, но не всегда очевидно), выгрузите результат запроса в ТЗ с индексом по этому правилу и выбирайте порциями.
а скд тут не причем, тк не расчитан на "крайние" случаи, как и все технологии рапид девелопмент. |
|||
29
Stim
20.02.10
✎
23:28
|
(28) хмм...СКД возвращает результат выполнения запроса + номера строк. Если сделать так: В одном отчете с СКД создать основной текст запроса, а со второго(рабочего) отчета обращаться в результату запроса первого с отбором по количеству?
|
|||
30
IamAlexy
21.02.10
✎
01:10
|
сделал.
2 процедуры: 1 процедура заполняет внешний источник данных. В таблицу значений попадают все строки запроса - например миллион строк. 2 прцедура выводит программно СКД с внешним источником данных "Объект" по сформированной таблице. соответственно во вторую процедуру передаются номера крайних строк и соответственно из созданной в первой процедуре таблицы формируется источник данных для СКД включающий только строки заданного интервала. |
|||
31
IamAlexy
21.02.10
✎
01:11
|
осталось сделать программный расчет количества страниц, формирование ссылок на страницы и вставку всего этого в каждую отображаемую страницу
|
|||
32
IamAlexy
21.02.10
✎
02:07
|
||||
33
Злопчинский
21.02.10
✎
02:12
|
(32) АБАЛДЕТЬ!!!
|
|||
34
Masquerade
21.02.10
✎
02:29
|
(32)
Круто. Но сама идея "10 000 человек и одно подразделение "- нездорова, ИМХО. |
|||
35
IronDemon
21.02.10
✎
02:42
|
(32) Думаешь отбор по н/пп будет быстр на таких объемах?
|
|||
36
IronDemon
21.02.10
✎
02:44
|
Упс, не прочитал (30)
|
|||
37
syktyk
21.02.10
✎
04:28
|
Вообще не могу понять таких отчетов. Это наверное очень круто? Может лучше pivot, или диаграмму красивую нарисовать?
|
|||
38
i_rodionov
21.02.10
✎
04:35
|
(37) Сергей, не глумитесь над человеком, действительно бывает такое, я сочувствую автору
|
|||
39
IamAlexy
21.02.10
✎
08:33
|
(34) ну а куда деваться...
опять же "10 000 человек и одно подразделение" это так - для примера было. реальная задача - немного другая. |
|||
40
IamAlexy
21.02.10
✎
08:35
|
(38) кстати сразу приходит на ум из какой то книги по 8.2 пример со списками. где объяснялось что и для чего нужны списки и что в ряде ситуаций нужно пользователю давать кнопки создания (например нового документа) дабы отучать от старой логики "открыл список - добавил новое значение - убедился что попало в список"
некоторые пользователи хотят сформировать огромную портянку чтобы убедится что из работа "не пропала" |
|||
41
МихаилМ
21.02.10
✎
09:10
|
то (40)
и все-таки, задача для миллиона строк Вами не решена. |
|||
42
IamAlexy
21.02.10
✎
09:25
|
(41) гы.
на реальной базе щас пыхтит собирается первая табличка... долго зараза собирается.. уже 500 мегов оперативы сожрано а данные все еще собираются |
|||
43
МихаилМ
21.02.10
✎
09:28
|
(42)
ну слава богу, 1с8 умеет возвращять захваченную опер. память. главное - уложиться в 3 гига для тз и дискового пространства для mxl. |
|||
44
Masquerade
21.02.10
✎
10:19
|
(42) так вывод ли на экран тормозит? )))
|
|||
45
IamAlexy
21.02.10
✎
10:22
|
кстати прикольно
1 600 000 строк уложилось в 600 мегов в ТЗ сохраненной в оперативе а далее все довольно таки шустро листается... |
|||
46
МихаилМ
21.02.10
✎
10:34
|
(45)
Ну значит я был не прав. Зачет. |
|||
47
IamAlexy
21.02.10
✎
10:35
|
(46) ща сделаю чтобы красиво выводились ссылки на страницу и скину гифку...
реально получается... только почемуто с шириной колонок неполучается :( |
|||
48
ERWINS
21.02.10
✎
10:44
|
лучше обработку кидай....
|
|||
49
IamAlexy
21.02.10
✎
11:43
|
||||
50
IamAlexy
22.02.10
✎
17:24
|
а вот пример с результатом в 1 600 000 строк
http://xmage.ru/images/ckdscreen3.gif правда накосячил с шириной ссылки на страницу :) нужно будет поправить. 16 000 страниц по 100 записей на странице сложно сказать - будет ли это удобнее пользователю но фак что отчет можно вообще в принципе вывести пользователю - это факт. |
|||
51
МихаилМ
22.02.10
✎
17:52
|
а как такой отчет сохранять.
или хотябы результат. ЗначениеВФайл(). |
|||
52
IamAlexy
22.02.10
✎
17:55
|
(41) как как - постранично.. ради этого все и делалось :)
|
|||
53
МихаилМ
22.02.10
✎
18:04
|
(41)
ну вобщем сохранить в частности нужно, чтобы проверить результат. Как в Вашем случае проверить результат? Глазиками? |
|||
54
IamAlexy
22.02.10
✎
18:21
|
(53) есть кнопка "все записи" :)
показывающая все записи попадающие в отчет |
|||
55
Холст
22.02.10
✎
19:40
|
еще можно компонентой йоксель (http://yoksel.net.ru) покрутить
йоксель, по крайней мере в сравнении с 7.7, шустрее управляется с большими таблицами 100тыс строк в нем, например, можно вывести за 3-5 секунд на современном C2D процессоре |
|||
56
kitt
06.03.10
✎
14:10
|
на SQLite конструкции типа
select * from table limit 100 offset 300 и select * from table where id > 300 limit 100 работают с одинаковой скоростью, при условии что id это первичный ключ в 1С8 так не прокатит? |
|||
57
kitt
06.03.10
✎
14:30
|
(56) единственный косяк, как определить id смещения, если листать не сначала
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |