|
как правильно удалить много элементов справочника | ☑ | ||
---|---|---|---|---|
0
бегинер
31.05.18
✎
15:08
|
есть справочник, порядка 500 тыс элементов, справочник только читается, ссылки на его элементы не используется.
если делать через пометить на удаление и стандартно удаление помеченных -не видно прогресса хочу заюзать прогресс бар + запрос - выборка - в цикле уже через Объект.Удалить() удалять верный ли подход? хочу индикацию прогресса и скорость подскажите как правильно это сделать? |
|||
1
Cool_Profi
31.05.18
✎
15:09
|
Запусти в толстых формах и веди прогресс, ка хочешь.
|
|||
2
бегинер
31.05.18
✎
15:15
|
а в 1с нет возможности запросом удалять?
типа delete * from table where id in ... ? |
|||
3
Cool_Profi
31.05.18
✎
15:18
|
(2) Нет. Если только лезьть в скуль. Но это нарушение лицензии.
И как ты при этом отработаешь все подписки на? |
|||
4
бегинер
31.05.18
✎
15:20
|
(3) ясно, обычная файловая у меня без скуль
|
|||
5
иубиповец
31.05.18
✎
15:25
|
Удалите справочник из конфигуратора, рестуктуризируйся. Создать с такими же параметрами - залить нужные данные из копии с те ми же УИД-ами:)
|
|||
6
бегинер
31.05.18
✎
15:30
|
(5) мне надо много удалить, но не все :)
|
|||
7
МихаилМ
31.05.18
✎
15:32
|
удаляйте в транзакции с адаптивным расчетом количества элементов в транзакции.
|
|||
8
бегинер
31.05.18
✎
15:44
|
(7) спасибо почитаю, на такое и рассчитывал - на извращенные способы
|
|||
9
singlych
31.05.18
✎
16:03
|
(6) выгрузи в XML то, что нужно, потом (5) и загрузи то, что выгрузил
|
|||
10
Вафель
31.05.18
✎
16:05
|
(7) в 8 это не особо работает
|
|||
11
бегинер
31.05.18
✎
20:59
|
вдогонку подскажите есть doevents в 1с?
в цикле удаляю - хочу чтоб в это время можно что-то было делать, а то сейчас в долгом цикле фризы |
|||
12
Злопчинский
31.05.18
✎
21:37
|
(7) а что такое "адаптивный ...в транзакции", смутно соображаю, но не уверен...
|
|||
13
d4rkmesa
31.05.18
✎
21:40
|
(11) ДлительныеОперации посмотрите в БСП 2.4.x. Но это не то что всякие async/await в других ЯП - костыли по большому счету. Но управляемый интерфейс не фризится. При желании можно многопоточную обработку забабашить - судя по последним обновлениям что-то подобное используется. Но нужно поковырять изрядно интерфейсы БСП или в типовых последних смотреть, чтобы разобраться.
|
|||
14
МихаилМ
01.06.18
✎
06:30
|
(12)
подбор оптимального размера количесва удаляемых элементов в транзакции . методом дихотомии. |
|||
15
МихаилМ
01.06.18
✎
06:30
|
(0)
вроде для большого колва данных быстрый результат продемонстрировал метод создания обмена с добавлением в него удаляемых элементов. |
|||
16
VladZ
01.06.18
✎
06:51
|
"500 тыс элементов" - я бы средствами SQL удалял. Но там не будет индикации прогресса.
|
|||
17
hhhh
01.06.18
✎
07:50
|
(11) в принципе можно обычным удалением. Разбить на порции по 10 тыс элементов, например, сначала все на букву "А", потом на букву "б" и так далее. и так 50 раз. Часа за 3 всё удалишь.Без всяких sql.
|
|||
18
бегинер
01.06.18
✎
09:04
|
(17) всем спасибо, за ночь все удалил порциями :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |