![]() |
![]() |
Незнайка на Луне 02.10.2004 - 12:40 | Простым перебором очень долго, а ОбратныйПорядок(1) тут не катит... |
Бит 1 - 02.10.2004 - 12:42 |
1Создать новую базу 2пометить все на удаление и удалить |
Незнайка на Луне 2 - 02.10.2004 - 12:45 | То есть пометить все на удаление и удалить быстрее чем просто удалить? |
Бит 3 - 02.10.2004 - 12:48 | Проще. А если сам можешь то вперед. Но оптимизировать этот процесс у меня лично не удалось, Все плачевно и долго. А сколько документов? |
Незнайка на Луне 4 - 02.10.2004 - 12:53 | 13000, удалял где-то полчаса. |
Бит 5 - 02.10.2004 - 12:56 | Я думаю быстрее врядли получится. Выложи код может только алгоритм уличшить, а так ... |
wait 6 - 02.10.2004 - 12:56 | если база dbf, тожно создать новую и скопировать туда все кроме файлов dh*.*,dt*.*,ra*.*,rg*.*,+посмотреть в dd что еще не нужно копировать в общем в зависимости от устан. компонент и потом запустить программу монопольно.Или вообще скопировать только sc*.*,это зависит от того что нужно оставить. |
Незнайка на Луне 7 - 02.10.2004 - 13:16 | Ну да можно попробовать скопировать только sc*.* и реорганизацию. Нужны только справочники |
ЧерныйПлащ 8 - 02.10.2004 - 17:28 |
А почему не катит ОбратныйПорядок(1)? Кстати, в транзакции это происходит несколько быстрее. Не забывай только ее периодически завершать и начинать опять. |
SnarkHunter 9 - 02.10.2004 - 18:54 | Кроме sc*.* еще несколько файлов нужно... |
Господин Забалуев 10 - 02.10.2004 - 20:18 | (0) создать новую базу и перекинуть туда все спр-ки с помощью Export/import.ert... |
NS 11 - 02.10.2004 - 22:22 |
УстановитьТАНа('01.01.1980'); Док=Создатьобъект("Документ"); начатьтранзакцию(); а=0; Док.ВыбратьДокументы(); Пока док.получитьдокумент()=1 Цикл а=а+1; Если а%100=0 Тогда зафиксироватьтранзакцию(); начатьтранзакцию(); состояние(Формат(док.ДатаДок,"ДДДММММГГГГ"); КонецЕсли; док.Удалить(начисто); КонецЦикла; Зафиксироватьтранзакцию(); УстановитьТАНА(ТекущаяДата()); |