|
В таблице значений надо оставить только первые 50 строк. | ☑ | ||
---|---|---|---|---|
0
Deahianaianyrto
08.06.16
✎
10:41
|
Правильно ли я сделал?
Если ТЗИсторииЗапросов.Количество() > 50 Тогда Для НомерСтроки = 51 По ТЗИсторииЗапросов.Количество() Цикл ТЗИсторииЗапросов.Удалить(51); КонецЦикла; КонецЕсли; |
4 7 10 |
||
1
Deahianaianyrto
08.06.16
✎
10:41
|
8.2
А как в 8.3? |
|||
2
Зая Бусечка
08.06.16
✎
10:42
|
Вы запросе - выбрать первые 50
|
4 |
||
3
Cyberhawk
08.06.16
✎
10:43
|
Неправильно
ТЗИсторииЗапросов.Удалить(51) НомерСтроки туда передавай |
5 6 |
||
4
Nuobu
08.06.16
✎
10:44
|
13 |
|||
5
catena
08.06.16
✎
10:44
|
(3)И на середине индекс выйдет за пределы...
|
|||
6
Nuobu
08.06.16
✎
10:45
|
(3) Учи мат часть.
|
13 |
||
7
Pistol
08.06.16
✎
10:47
|
(0) Неправильно.
|
|||
8
Wern
08.06.16
✎
10:47
|
Пока тз.Количество()>50 Цикл
тз.Удалить(тз.Количество()-1); КонецЦикла; |
9 |
||
9
Pistol
08.06.16
✎
10:47
|
(8) удалить(49)
|
11 |
||
10
Borteg
08.06.16
✎
10:48
|
(0) Если перебором то надо начинать перебор с конца, чтобы индекс не ушел за границы при удалении, а вообще лучше всего запросом или 4.
|
|||
11
Wern
08.06.16
✎
10:49
|
(9) Зачем удалять 50-ю строку если ТС нужно 50-ю строку оставить.
|
18 |
||
12
Радим1987
08.06.16
✎
10:50
|
лучше запросом на эту ТЗ
|
15 |
||
13
Pistol
08.06.16
✎
10:50
|
20 |
|||
14
Радим1987
08.06.16
✎
10:51
|
выбрать первые 50
* из &ТЗ как ТЗ |
|||
15
Wern
08.06.16
✎
10:52
|
(12) Запрос сначала перекинет эту тз на сервер баз данных, потом перекинет результат обратно с созданием новой тз. Куча накладных расходов.
|
17 |
||
16
Радим1987
08.06.16
✎
10:52
|
на сервере без контекста
|
19 |
||
17
Зая Бусечка
08.06.16
✎
10:52
|
(15) А у вас на тонком клиенте уже появилась ТЗ?
|
19 |
||
18
Pistol
08.06.16
✎
10:52
|
(11) да, там строгое неравенство. Тогда (50)
|
|||
19
Радим1987
08.06.16
✎
10:54
|
||||
20
Nuobu
08.06.16
✎
10:54
|
(13) 50 итераций
|
21 |
||
21
Радим1987
08.06.16
✎
10:56
|
(20) 50 итераций начинается с "0"
|
23 |
||
22
Радим1987
08.06.16
✎
10:56
|
ребят помогите мне ОповеститьОЗаписиНового() В какой момент отлавливать
|
|||
23
Pistol
08.06.16
✎
10:58
|
(21) С 1
|
24 |
||
24
Nuobu
08.06.16
✎
10:58
|
(23) Я ошибся, будет 51 итерация.
|
26 |
||
25
Радим1987
08.06.16
✎
11:00
|
СтрокаТаблицыЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции. Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0). |
|||
26
Pistol
08.06.16
✎
11:03
|
(24) вообще идея для больших таблиц правильная. Только не так надо.
Надо набрать в массиве циклом 50 ссылок на строки и скопировать одним вызовом. И проверку на количество строк меньше 50 |
27 |
||
27
Nuobu
08.06.16
✎
11:04
|
(26) Пиши код, нечего тут разглагольствовать.)0
|
28 |
||
28
Pistol
08.06.16
✎
11:06
|
(27) мне и так на мобиле лень в кнопочки тыкать )
|
|||
29
Радим1987
08.06.16
✎
11:08
|
Запрос = Новый Запрос(
"выбрать первые 50 |* |из &ТЗ как ТЗ";) Запрос.УстановитьПараметр("ТЗ",ТЗ); Результат = Запрос.Выполнить().Выбрать(); Тз.Очистить(); Пока результат.Следующий() цикл ЗаполнитьЗначенияСвойств(Тз,Результат); КонецЦикла |
30 32 |
||
30
Nuobu
08.06.16
✎
11:09
|
(29) Результат = Запрос.Выполнить().Выбрать();
Тз.Очистить(); Пока результат.Следующий() цикл ЗаполнитьЗначенияСвойств(Тз,Результат); КонецЦикла ТЗ = Запрос.Выполнить().Выгрузить(); |
31 |
||
31
Радим1987
08.06.16
✎
11:11
|
(30) да ты прав
|
|||
32
Pistol
08.06.16
✎
11:12
|
(29) вот возьми таблицу в 100000 строк и объясни, зачем 99950 из них надо запихивать в базу данных?
|
|||
33
Pistol
08.06.16
✎
11:14
|
А потом можно еще будет всласть порассуждать какие именно 50 строк из исходных тебе вернутся при не указанной сортировке.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |