Побыстрее выгрузить колонку из ТЗ - результата запроса #382158


#0 by Стрелок
Справочник "Номенклатура" порядка 20000 позиций задача - вывести весь справочник без групп в список. т.е. так чтобы групп вообще видно небыло. использую прямой запрос с отсечкой групп и потом "ИспользоватьСписокЭлементов(СписокЭлементов)" пытаюсь ускорить процесс - момент выгрзки из ТЗ результата запроса в список занимает 50 % общего времени. можно как то получить результат запроса (а там одна только группировка фактически) в список уже на выходе или как можно быстрее чем "ТЗРезультата.Выгрузить(СписокЭлементов,,,"Товар");" получить список вот запрос : Текст="SELECT
#1 by rie
А не наоборот насчёт isFolder? Если мне не изменяет мой склероз, ты выбираешь как раз элементы, а не группы.
#2 by Стрелок
ну правильно. а я что сказал? я отсекаю группы
#3 by sanches2
У ToySQL в методе выгрузить есть параметр размер буфера. Вроде как-бы увеличивает скорость выгрузки большого количества данных. Может что-то похожее есть у 1с++?
#4 by Vippi
Любопытно, зачем? 1. При ИспользоватьСписокЭлементов быстрого поиска не будет. Как собираешься искать в 20000 позиций? 2. Это обязательно должна быть форма списка справочника?
#5 by Стрелок
1. что значит "не будет"? всё работает и контекстный (набор на клаве) и окошко вверху экрана на панельке 2. это форма подбора стандартная. не хотелось бы ломать всё из-за простой штучки
#6 by Vippi
1. Попробуй клавишами вверх поискать. И "окошко вверху экрана" это не быстрый поиск.
#7 by Стрелок
вверх действительно не ищет.. только вниз. но тут проще выход есть. реализована фишка - при двойном клике на группе в дереве в список выводятся только элементы входящие в эту группу ;) а их меньше чем 20000 штук
#8 by Стрелок
а по второму твоему вопросу - я так понимаю ты намекаешь на ТЗ на форме обработки? но всё равно в эту ТЗ надо выгружать ТЗРезультаты. или можно напрямую в ТЗ на форме писать ТЗНаФорме=БыстрыйЗапрос.ВыполнитьИнструкцию(Текст);
#9 by Sadovnikov
Сделай свою форму справочника на табличном поле и не мучайся.
#10 by Vippi
Кем реализована фишка? Тобой? Ты смысл вывода всего справочника без групп объясни. Не проще ИерархическийСписок?
#11 by Vippi
Именно так.
#12 by Стрелок
мной. клиент - задолбыш попался.... ну не хочет она зараза такая видить группы в списке - путается тварюка такая ;) никогда не видел примера даже табличного поля. может подкинешь чего нибудь работающее чтобы глянуть
#13 by Sadovnikov
Там есть и справочник и нормальный подбор в реквизиты с типом Справочник.
#14 by Стрелок
спасибо - гляну кстати - вопрос как к спецу ;) не могу разрулить остатки прямыми запросами на dbf - ты по скулю спец или вообще?
#15 by Sadovnikov
Не... По dbf-у я не советчик... Спока зови.
#16 by Vippi
Ты ж вроде много раз 1С++ начинал заниматься. Вот и заглядывай на соответствующий сайт почаще.
#17 by Стрелок
да заглядываю - сделал как там описано - нифига не получается. пока нет расхода - всё окей. как только пошёл расход - 1С-овский запрос нормальные цифры выдаёт, а 1С++ какую то лабуду
#18 by Vippi
Лабуду обычно не 1С++ выдает, а тот, кто ее использует.
#19 by Sadovnikov
Это ты сейчас про какой запрос говоришь?
#20 by Стрелок
по остаткам на регистрах на 1С++ в dbf базе
#21 by Стрелок
возможно... кому то 1С++ даётся легко. у меня что то пока не удаётся с этой штучкой стать на "ты"
#22 by Sadovnikov
А покажи его? Что-то мне подсказывает, что не должен кардинально отличаться от такого же запроса на скуле.
#23 by Стрелок
вот тут и проблема. трабла с момента среза остатков. щас покажу
#24 by Стрелок
#25 by Стрелок
на дату ТА - работает правильно. а вот остальные варианты - фиг вам
#26 by Vippi
Рисуй короткий, понятный, воспроизводимый тест. И не "фиг вам", а описание проблемы. А так начинает тошнить только при взгляде на такое количество букв.
#27 by Sadovnikov
Неверно задействовал таблицу движений.
#28 by Стрелок
а что to`
#29 by Sadovnikov
Дарю :) .
#30 by Стрелок
а что ещё написать? неверные остатки выдаёт - вся проблема т.е.?
#31 by Sadovnikov
+ Это для скуля. Для регистров с установленной шалкой "Быстрый отбор движений" (которую, кстати, рекомендую установить).
#32 by Стрелок
это для скуля как я понял. для dbf судя по факу другой формат момента времени получения остатков
#33 by Sadovnikov
Ну так подправь кусочек, отвечающий за считывание позиции. Делов-то.
#34 by Стрелок
так с этим кусочком у меня и проблемы блин ;(
#35 by Vippi
Коротенько так писанул ;))
#36 by Sadovnikov
Вот с этим: НачМесяца(НачМесяца(ДокВызова.ДатаДок-1)) у тебя проблемы.
#37 by Sadovnikov
:))) OFF. На рыбалку-то в этом году ходил уже?
#38 by Стрелок
нет скорее всего вот с этим AND (DTOS(jr.date)+jr.time+jr.iddoc BETWEEN :НачалоМесяца AND '"+МД.ПолучитьДатуВремяИдДок(СформироватьПозициюДокумента(ДокВызова.ТекущийДокумент,-1))+"')
#39 by Sadovnikov
Я не знаю, как такой в dbf-е отрабатывается, но НачМесяца(НачМесяца(ДокВызова.ДатаДок-1)) однозначно бред :)
#40 by Стрелок
ха спасибо. скобка не там походу стоит ;)) надо начало предыдущего месяца. зачем - х.з так написано в факе
#41 by Sadovnikov
"надо начало предыдущего месяца. зачем - х.з так написано в факе" - все правильно написано. Если периодичность хранения итогов - месяц.
#42 by Стрелок
вот этого я не понимаю. если есть остатки на начало текущего месяца - зачем брать на начало предыдущего
#43 by Sadovnikov
Потому что в таблице итогов остатки храняться не на конец начало, а на конец периода. Тоесть, с датой 01.03.08 будут лежать остатки на окончание дня 31.03.08. Или на начало дня 01.04.08. Или на ТА, если ТА в третьем месяце.
#44 by leshikkam
#45 by Стрелок
вот спасибо за разъяснение. а то голые слова и ничего примерного в факе нет ;(
#46 by Стрелок
спасибо. подсистема справочников у меня есть а вот регистров небыло. гляну
#47 by leshikkam
не за что
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С