К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Очень медленно удаляются документы из базы 1С 7.7 на SQL2000

Гость
0 - 27.06.2013 - 18:30
Что можно оптимизировать? А то получается, что трое суток понадобится. Оно может и хорошо, но хочется улучшить алгоритм...

Процедура Сформировать()
Док=СоздатьОбъект("Документ");
Док.ВыбратьДокументы(ДатаНач,ДатаКон);
Пока (Док.ПолучитьДокумент()=1) Цикл
Сообщить(Строка(Док.НомерДок)+" "+Док.ДатаДок);
Док.СделатьНеПроведенным();
Док.Удалить(1);
КонецЦикла;
КонецПроцедуры



1 - 27.06.2013 - 18:40
Баян.
ОбратныйПорядок, либо ТА-БИ раньше самого раннего документа.
Удалять в транзакции штук по 200-500.

Да, и не страшно удалять непосредственно?
Может лучше через пометку?
2 - 27.06.2013 - 18:42
ОбратныйПорядок()
3 - 28.06.2013 - 00:58
если надо как в (0) - то проще прямым запросом делетнуть
4 - 28.06.2013 - 00:59
а, не. соврал - надо еще во всех регистрах и периодике движенияпоудалять...
5 - 28.06.2013 - 01:31
1 - выборка разве не улетит при удалениях?
2 - транзакция
3 - перенос ТА
Альтернативный вариант - прямым запросом, вот тут будет не выигрыш, а целый куш
101
6 - 28.06.2013 - 08:46
интересно а зачем сделать не проведенным ?
я за запрос , запрос в тз , обход тз в транзакции
7 - 28.06.2013 - 09:01
Сообщить(..) убери :)
8 - 28.06.2013 - 09:13
(7)верное замечание. неслабо тормозит функция.
Я бы не стал выбирать все документы сразу, а как вариант цикл по дням, а в дне выборка в таблицу значений и по ней обход в транзакции.
101
9 - 28.06.2013 - 09:14
так все таки зачем сделать не проведенным ?
Uho
10 - 28.06.2013 - 09:22
9-101 > потому что удаляет непосредственно
11 - 28.06.2013 - 09:25
(10)и что ? какой сакрвльный смысл в распроведении ?)
Может нашему коллеге быстрее будет не удалять, а оставшиеся документы перенести в чистую базу ?)
101
12 - 28.06.2013 - 09:27
(10) тоесь Удалить(1) на проведенном уже не работает ? Оо
ЗЫ ;))
101
13 - 28.06.2013 - 09:30
http://www.forum.mista.ru/topic.php?id=670912&all=1
ЗЫ продолжение банкета ;))
14 - 28.06.2013 - 09:36
там банкет круче, скоро будут танцы на столах. Там даже файлы предлагали удалять ))
Uho
15 - 28.06.2013 - 09:43
11-USSR >
12-101 >
типа вы хотите сказать, что движения проведенного документа удалятся сами?
16 - 28.06.2013 - 09:48
(15)Именно это мы и хотим торжественно заявить )
101
17 - 28.06.2013 - 09:53
ох Ух Ух ;))
Гость
18 - 28.06.2013 - 10:03
я с вас просто шизею, господа .........

лето на дворе, на пляже валяться надо, как я

Гость
19 - 28.06.2013 - 10:08
16-USSR > Вообще-то, как ни странно, разделение операций имеет смысл быть ;)
Дело в том, что удаление движений затрагивает одну группу таблиц БД, удаление же самого тела объекта вместе с табличными частями - совсем другую. Особенно, если это удаление производить правильно - с проверкой на ссылки.
Замечу еще, что удаление движений требует одних полномочий, а удаление объектов - других, более мягких.
Гость
20 - 28.06.2013 - 10:10
лежу на пляжу
и работаю с этой гадостью

Uho
21 - 28.06.2013 - 10:24
16-USSR > видимо, позабыл я совсем 7.7
101
22 - 28.06.2013 - 10:28
хотя видел , и не раз , движения у не проведенного или даже помеченного на удаление документа (бывает и движения совсем без документа встречаются), но это скорее исключение, чем правило
ЗЫ кстати посмотреть есть ли движения у не проведенного документа оч просто, открываем движения у проведенного , и не закрывая окна курсор на непроведенный, еси они тама есть то покажет ;))
ЗЫЫ чот занастальгировал об экспериментах
Uho
23 - 28.06.2013 - 10:33
Цитата:
Сообщение от 101 Посмотреть сообщение
хотя видел , и не раз , движения у не проведенного или даже помеченного на удаление документа (бывает и движения совсем без документа встречаются)
во-во и я встречал, и кажется после непосредственного удаления... если чё - база была скульная
24 - 28.06.2013 - 10:35
(19)смысл может и есть, но реально затруднительно сказать в чем. Думаю, что 1с просто сама последовательно отменяет проведение, а затем помечает на удаление документ в журнале, в таблицах DH и DT (шапка и табличная часть). Замечу, что именно помечает, то есть физического удаления на уровне таблиц нет. То есть, если ничего не делалось, то можно даже восстановить после непосредственного удаления в 1с. А при пометке документа на удаление помечается лишь поле ISMARK
25 - 28.06.2013 - 10:36
можно вообще разделить на :
1)снятие с проведения, транзакцией играть 20-100 документов
2)пометку на удаление
3)удаление помеченных штатными средствами
101
26 - 28.06.2013 - 10:36
(23) это как бэээ исключения , так как в скуле в признаке проведения может стоять и не то число которое в дбф , 5-ка например, так что это все мелочи ;)) а движения отдельно отлавливаются так же - на раз
27 - 28.06.2013 - 10:36
(22)я встречал несколько раз, но видимо это были какие то сбои. В 1С и не такое вcтретишь )
Uho
28 - 28.06.2013 - 10:38
для проводок я, помнится, вот этим пользовался
http://www.1csql.ru/materials/articl...6-308a005bbd6b
29 - 28.06.2013 - 10:40
(20)транзакция по 20 документов имеет очень мало смысла. Удаление помеченных штатными средствами тоже та еще песня, и удалить может то, что и не надо было. Хотя уже это не так критично, раз нет ссылок
Короче, эта тема уже мусолилась на 1000 раз в темах свертки базы, помню один Гуру даже целый трактат написал. Забыл я его фамилию )
101
30 - 28.06.2013 - 10:52
(27) я такое кхмм видел , когда сам скуль вальнул
ЗЫ скульная 1С , 20-ый релиз , в базе проводились документы , и одновременно по этим же документам были запросы из ентерпрайса,аксесса и екселя и самой 1С ;))
Гость
31 - 28.06.2013 - 12:06
Зачем документы так кучно удалять?
Обрезка базы или умный юзер хочет грохнуть документы в базе незаметно?
32 - 28.06.2013 - 18:27
хм, все документы удалить значит... и все движения по регистрам, видимо
есть мега извращённый способ - удалить объекты метаданных в конфигураторе (видимо кроме справочников), сохраниться и обновиться на полный мдшник.
мегаизвращённый - потому что хрен удалишь так просто.
33 - 29.06.2013 - 15:54
(19) при программном распроведении - пофиг на полномочия..?
34 - 29.06.2013 - 15:55
(22) а не было ли при этом УРБД?
35 - 01.07.2013 - 06:54
20 - какое лето, +13
http://weather.nsu.ru/


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены