#0
by IamAlexy
Соответственно интересует вопрос: есть некий отчет на СКД итог которого - допустим миллион строк. вопрос - как такое выводить? где то решения с "постраничным" выводом есть чтобы подсмотреть ?
#1
by Джинн
А его не нужно выводить. Нужно просто уволить заказчиков такого отчета. Ибо проанализировать лям строк и сделать какие-либо выводы на основании анализа просто невозможно.
#6
by IamAlexy
допустим "нет прокрутки" :) чисто теоретически - как организовать "постраничный" вывод результатов запроса ?
#8
by Джинн
На прежней работе у директора было требование, чтобы любой отчет, попадающий к нему на стол занимал не более трех страниц. Вместе с пояснениями к отчету. Все остальное сходу выбрасывалось в корзину. И в этом есть логика - нужно уметь выделять главное, классифицировать информацию, агрегировать ее и т.п.
#10
by IamAlexy
в этом есть логика. но тем не менее задачу не отменяет. отчет с большим количеством строк. нужно вывести его на экран пользователю "постранично"
#11
by IamAlexy
хм.. программно ? то есть результат запроса в поле табличного документа не показывать а сразу программно открывать предпросмотр ?
#16
by IamAlexy
просто если СКД выводит большое количество строк зараз - оно жутко клиентскую машину завешивает... а вот если разделить - то было бы клева.
#17
by IamAlexy
причем 2 направления поиска решений: 1. получать массив данных сразу и только выводить его постранично 2. получать данные порциями
#19
by supremum
Сколько строк занимает один лист а4? Порциями более правильный вариант, но скорости это не прибавит в выводе.
#21
by IamAlexy
на предприятии 10000 человек и одно подразделение. бухи хотят иметь возможность видеть отчет, ну например тот который по отпускам в СКД сделан - по 100 человек на странице. вопрос - почему они должны быть лишены такого права ?
#22
by IamAlexy
в MySQL была конструкция типа: SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 вопрос- в 1С можно нечто подобное изобразить ?
#24
by IamAlexy
про транзакцию речи не ведется см. пример количество сотрудников меняется редко. необходимо результат вывести "порциями"
#26
by Lama12
Вроде не видел такого предложения, но есть волшебные кнопки "PgUp" и "PgDn". Как раз постранично... Ответ на вопрос- потому что бухи не понимаю как 100 строк на экране будут выглядеть на принтере. В принципе можно и миллион строк на один экран поместить, и 10 не поместить на лист бумаги. В нет ни одного упоминания про "постранично". А если имелось ввиду, как скан страницы книги, то тоже не понятно - что, через СКД выводить сканы книг из базы? +100
#27
by IamAlexy
еп.. в ссылка на ветку где есть страницы по 100 постов чтобы было видно что такое "постранично"
#28
by МихаилМ
если известно правило упорядочивания (а оно всегда известно, но не всегда очевидно), выгрузите результат запроса в ТЗ с индексом по этому правилу и выбирайте порциями. а скд тут не причем, тк не расчитан на "крайние" случаи, как и все технологии рапид девелопмент.
#29
by Stim
хмм...СКД возвращает результат выполнения запроса + номера строк. Если сделать так: В одном отчете с СКД создать основной текст запроса, а со второго(рабочего) отчета обращаться в результату запроса первого с отбором по количеству?
#30
by IamAlexy
сделал. 2 процедуры: 1 процедура заполняет внешний источник данных. В таблицу значений попадают все строки запроса - например миллион строк. 2 прцедура выводит программно СКД с внешним источником данных "Объект" по сформированной таблице. соответственно во вторую процедуру передаются номера крайних строк и соответственно из созданной в первой процедуре таблицы формируется источник данных для СКД включающий только строки заданного интервала.
#31
by IamAlexy
осталось сделать программный расчет количества страниц, формирование ссылок на страницы и вставку всего этого в каждую отображаемую страницу
#37
by syktyk
Вообще не могу понять таких отчетов. Это наверное очень круто? Может лучше pivot, или диаграмму красивую нарисовать?
#38
by i_rodionov
Сергей, не глумитесь над человеком, действительно бывает такое, я сочувствую автору
#39
by IamAlexy
ну а куда деваться... опять же "10 000 человек и одно подразделение" это так - для примера было. реальная задача - немного другая.
#40
by IamAlexy
кстати сразу приходит на ум из какой то книги по 8.2 пример со списками. где объяснялось что и для чего нужны списки и что в ряде ситуаций нужно пользователю давать кнопки создания (например нового документа) дабы отучать от старой логики "открыл список - добавил новое значение - убедился что попало в список" некоторые пользователи хотят сформировать огромную портянку чтобы убедится что из работа "не пропала"
#42
by IamAlexy
гы. на реальной базе щас пыхтит собирается первая табличка... долго зараза собирается.. уже 500 мегов оперативы сожрано а данные все еще собираются
#43
by МихаилМ
ну слава богу, 1с8 умеет возвращять захваченную опер. память. главное - уложиться в 3 гига для тз и дискового пространства для mxl.
#45
by IamAlexy
1 600 000 строк уложилось в 600 мегов в ТЗ сохраненной в оперативе а далее все довольно таки шустро листается...
#47
by IamAlexy
ща сделаю чтобы красиво выводились ссылки на страницу и скину гифку... реально получается... только почемуто с шириной колонок неполучается :(
#50
by IamAlexy
а вот пример с результатом в 1 600 000 строк правда накосячил с шириной ссылки на страницу :) нужно будет поправить. 16 000 страниц по 100 записей на странице сложно сказать - будет ли это удобнее пользователю но фак что отчет можно вообще в принципе вывести пользователю - это факт.
#53
by МихаилМ
ну вобщем сохранить в частности нужно, чтобы проверить результат. Как в Вашем случае проверить результат? Глазиками?
#55
by Холст
еще можно компонентой йоксель ( покрутить йоксель, по крайней мере в сравнении с 7.7, шустрее управляется с большими таблицами 100тыс строк в нем, например, можно вывести за 3-5 секунд на современном C2D процессоре
#56
by kitt
на SQLite конструкции типа select * from table limit 100 offset 300 и select * from table where id > 300 limit 100 работают с одинаковой скоростью, при условии что id это первичный ключ в 1С8 так не прокатит?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД: как настроить программно различные варианты группировок в отчете?
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: как в СКД значеняи параметров по умолчанию заполнять?
- СКД: Диаграмма в СКД
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Объединение в СКД
- СКД: СКД - можно ди получить промежуточные итоги по колонкам
- СКД: Настройки СКД
- СКД: СКД: Программное обращение к полям группировки СКД
- СКД: Как выводить только поля итогов, а группировки не выводить
- СКД: СКД. Как переоределить действие кнопки "Сформировать" отчета, созданного в СКД?
- СКД: СКД: Как в отчете добавить свои строки...
В этой группе 1С
- Перемещение ТМЦ
- можно ли отменить последнее действие пользователя?
- ТиС. Распределить доп расходы по номенлатуре в себестоимость...
- Можно ли в меню, получаемом функцией "ВыбратьИзМеню" использовать разделитель?
- Мерцание свернутого окна 1С-ки
- Конвертация данных: преобразование числа в перечисление.
- строки неограниченной длины 1с DBF
- Ошибка РегистрНакопления.Продажи: Ни один из документов не является регистратором для
- 1С как подключить дополнительный словарь полнотекстового поиска
- конфы на 8.2
- Требование Налоговой к Нумерации документов
- 2IP StartGuard - есть-ли аналоги?
- Восстановление баз на Postgresql
- Зуп 8: как отразить наличие водительских прав?
- Рарус Бар-Ресторан-Кафе. Печать чека очень мелким шрифтом
- УПП Определить вид документа-основания
- Перенос данных из Паруса Бюджет (зарплатный блок) в ЗУП 8
- Где посмотреть номера текущих (и не только) типовых конфигураций 1С?
- Сортировка колонок в отчетах
- v7: Почему не работает НайтиПоРеквизиту