|
v7: как ускорить загрузку в тз формы | ☑ | ||
---|---|---|---|---|
0
zladenuw
13.09.12
✎
03:00
|
База = СоздатьОбъект("OLEDBData");
Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;User ID="+"kirill"+";Password="+"1"+";Collating Sequence=MACHINE"; Рез = База.Соединение(Соединение); Запрос = База.СоздатьКоманду(); Если Рез = 1 Тогда Сообщить(ТекущееВремя()); ТекВремя = ТекущееВремя(); //RS = СоздатьОбъект("ODBCRecordset"); ТекстЗапроса = " |SELECT | Спр.Code as Код, | Спр.Descr as Наименование |FROM | $Справочник.Контрагенты as Спр"; ТЗ.Загрузить(Запрос.ВыполнитьИнструкцию(ТекстЗапроса)); |
|||
1
КонецЦикла
13.09.12
✎
03:51
|
А табличное поле?
|
|||
2
zladenuw
13.09.12
✎
04:12
|
в обработке ?
|
|||
3
КонецЦикла
13.09.12
✎
06:10
|
(2) А что?
Основное время на загрузку всей таблицы уходит, а так при необходимости можно будет прокручивать Цель такой могучей задачи не знаю... поэтому что могу - советую |
|||
4
zladenuw
13.09.12
✎
06:13
|
по строчно добавлять и все ? загрузить тупит
|
|||
5
КонецЦикла
13.09.12
✎
06:15
|
Можно использовать классы или самому написать
Просто будет табличное поле, имитирующее форму списка справочника Выборка всех элементов вообще не нужна тут |
|||
6
zladenuw
13.09.12
✎
06:16
|
это как пример. возможны отборы, сортировки и т.д. все будет по коду
|
|||
7
zladenuw
13.09.12
✎
06:17
|
типа так.Не выходит OLEDBData , справочники(н)реквизиты(к)
но там еще без отборов. пока только мля чтение... и то траблы на каждом ходу :( |
|||
8
КонецЦикла
13.09.12
✎
06:27
|
Садись изучать документацию
Есть хороший класс прямой запрос, искать на 1cpp.ru |
|||
9
zladenuw
13.09.12
✎
06:30
|
хм. тут вопрос по загрузке. я и так читаю и походу спрашиваю
|
|||
10
Mikeware
13.09.12
✎
07:17
|
Используй совет (8)
|
|||
11
zladenuw
13.09.12
✎
07:18
|
и что. читает то быстро. а вот отображение на форме, долговато.
|
|||
12
zladenuw
13.09.12
✎
07:19
|
100к элементов за доли секунды без отборов. а вот загрузка на форму умирает
|
|||
13
Mikeware
13.09.12
✎
07:21
|
(12) похоже, главный тормоз в этом процессе - это ты....
намекну - табличное поле не грузит все в таблицу, отображаемую на форме, а показывает по мере необходимости... |
|||
14
zladenuw
13.09.12
✎
07:34
|
ну динамического чтение нету в 7. как тогда быть ? нужно всю тз загрузить.
|
|||
15
zladenuw
13.09.12
✎
07:35
|
(13) и все таки закономерность. чем синее полоска. тем больше критики к ТС
|
|||
16
Светлый Гений
13.09.12
✎
08:06
|
(0) Попробуй Запрос.ВыполнитьИнструкцию(ТекстЗапроса,ТЗ)
|
|||
17
zladenuw
13.09.12
✎
08:08
|
(16) спс
|
|||
18
Светлый Гений
13.09.12
✎
08:08
|
(17)помогло?
|
|||
19
zladenuw
13.09.12
✎
08:08
|
хотя читал ....
ВыполнитьИнструкцию(Текст, ТЗ = "", ОчищатьТЗ = ""), которая возвращает результат работы запроса, переданного в параметре Текст в таблицу значений |
|||
20
Светлый Гений
13.09.12
✎
08:09
|
(19) когда передаешь параметром, работает быстрее
|
|||
21
zladenuw
13.09.12
✎
08:09
|
вроде да. сейчас не до этого. тут проблема (7)
|
|||
22
Ёпрст
13.09.12
✎
08:55
|
(14) как это нету ?
:)) используй табличное поле и поставщиком для него - прямой запрос. |
|||
23
Ёпрст
13.09.12
✎
08:56
|
и если что, ТЗ.Загрузить - это самый медленный штатный способ при работе с ТЗ.
|
|||
24
Nirvana
13.09.12
✎
09:43
|
(11) Таблица значений на форме видимая?
|
|||
25
МуМу
13.09.12
✎
10:38
|
(24) +1
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |