v7: Обрезание регистров. Удаление документов: что быстрей ? #604082


#0 by buhkiller
За четыре года надо почистить дбф - базу. Остатки готовы, теперь думаю как быстрей удалить проведенные документы.
#1 by viktor_vv
Сколько их там примерно ?
#2 by viktor_vv
Откатить ТА назад, до первого документа.
#3 by МихаилМ
если пересчета итогов не будет то всеравно. иначе 2
#4 by buhkiller
80 тысяч
#5 by Ёпрст
быстрее прямым запросом
#6 by Злой Бобр
Откатываем ТА в самое начало. Дальше в транзакциях удаляем порциями по 100+ документов, в зависимости от железа. Дальше восстанавливаем ТА со всеми вытекающими.
#7 by Злопчинский
Если остатки готовы - ВВЕСТИ ДОКУМЕНТЫ ОСТАТКОВ. потом тупо прибить файлы документов и регитсров. ТИИ с правильными действиями по неразрешенным ссылкам. провести документы ввода остатков.
#8 by Ёпрст
какой ты наивный, шо  п..ц. Во первых, большинство режет базу за какие-то определенные периоды, это раз при этом нужна аналитика в прошлых периодах, это два.
#9 by Злой Бобр
Замечательно. Человечек режет на 1 января наверное, а ты предлагаешь тупо убить все и вся. Тогда уж сразу предлагай сапасаться вазелином. Ну а что б вазелин зря непропал, перед тем как убить все - неделать бекапов.
#10 by Он
Гы. Присоединяюсь к Мне надо > 800 000 удалить 1. Прямым запросом update ISMARK = 1 в Журнал 2. Delete движения в регистрах 3. Delete в DT, DH Что упустил?
#11 by dk
в журнале значится ismark, а в dt и dh delete? )
#12 by Boroda
Кроме остатков, надо бы еще посмотреть, нет ли документов формирующих периодические значения, и если есть, то м.б. надо будет создавать документ аналогичный остаткам.
#13 by Он
А он там есть? )
#14 by Он
Замётанно
#15 by viktor_vv
Ну периодику можно не документом. Из Wrap.ert можно взять кусок переноса периодики на дату.
#16 by Ёпрст
делете в  в DT, DH не надо, раз ты просто помечаешь документ на удаление.. + должен занулить все флаги по регистрам + аппкоде + счетчик движений.. + прибить периодику, установленную этим документом + прибить проводки нет
#17 by viktor_vv
Ну табличные части таки можно и прибить, особенно у тех документов, где они могут быть здоровые. Если потом стандартным удалением помеченных воспользоваться, пошустрее будет.
#18 by expertus
Сначала ввод остатков, потом . Более скоростного варианта не бывает.
#19 by Он
Что - записи в DT, DH останутся? Или ТИИ их чикнет?
#20 by Он
?
#21 by Ёпрст
останутся
#22 by Ёпрст
какая детская наивность
#23 by Ёпрст
+ флаг последовательности еще в 0
#24 by Он
Дык чикнуть надо. Нафига они? Ещё видимо 1SBLOB прошерстить надо.
#25 by Ёпрст
смысл тогда в пустышках какой? порежь тогда хотя бв табличную часть тока
#26 by Он
Что штатно делает 1С с DT, DH: 1. При пометке на удаления дока 2. При удалении помеченных ?
#27 by Ёпрст
1.ничего 2.удаляет
#28 by Азат
разве в ДБФ удаляет?
#29 by Он
Вопрос с DT, DH снят. Ступил малешко.
#30 by viktor_vv
Ну физически нет. Ставит признак в служебное поле. Удаляет физически при сжатии таблиц.
#31 by Magistr001
все равно часть документов останется: потому что были выписки по расчетному счету на основании доков, удаленных в прошлом периоде, а если урежешь прямым запросом, то в выписках повиснут "дыры"
#32 by Magistr001
например: режем на 31-12-2011 док отгрузка товаров был 25-12-2011 а выписка по нему 20-01-2012 и на что будет ссылаться выписка?
#33 by Magistr001
кстати, у меня еще есть связанные между собой доки например Акт на слив ГСМ и Приходная в пути - приходные в пути сидят в декабре, а акты приняли в феврале, и те и те сделали движения и по регистрам и по счетам - делаю на последнем дне дока приходные в пути сторнирующие доки ввода остатков по счету и по регистру. ну и оставляю все доки протоколов цен аж с сентября чтоб периодику не трогать, а в последнюю резку ваще выкинул модуль  удаления периодики - меньше мороки.
#34 by Ёпрст
читай внимательнее - документы метятся на удаление, не удаляются
#35 by Magistr001
Я к чему: прямые запросы это конечно быстро - только потом гимора больше.
#36 by Он
На док, помеченный на удаление. Ещё вопрос к гуру Скуля: 2005-й База сначала упала в Suspect. После перезагрузки оказалась In Recovery. Что делать, кроме как убить её и восстановить с бекапа?
#37 by Magistr001
проще действительно транзакциями по сотке доков.
#38 by Он
Сколько времени штатно будет удалятся под лям доков:?
#39 by Ёпрст
#40 by viktor_vv
Да не, на его объеме застрелится ждать. Лучше как и планирует. Пометить доки прямыми запросами плюс по максимуму удалить некритические данные, а потом штатное удаление помеченных. Правда тут тоже вопрос сколько будет идти.
#41 by Magistr001
бери железо пошустрее и ...вперед. Я каждый год режу с 2006, так что нет таких проблем - вся резка занимает с отладкой и выверкой максимум выходной.
#42 by Mikeware
Мозг включать не пробовал?
#43 by Mikeware
подождать, пока восстановится.
#44 by Он
Я на копии ждать не стал. Вопрос был на будущую соломку. Вдруг на рабочей будет тоже. Сисы не в курсах.
#45 by Он
И так: 1. Прямым запросом update ISMARK = 1 APPCODE, ACTCNT, DS4302, RF* = 0 в  Журнал 2. Delete движения в регистрах Что сделать с 1SCONST ? DOCID = "" ?
#46 by Ёпрст
база какая у тебя ? Тис ? Комплексная? Бухня ? Пуб ? ЗЫ:еще флаг последовательности надо занулять
#47 by 0xFFFFFF
Тогда уж проще создать пустую базу и занести остатки. Только историю откуда взять?
#48 by Злой Бобр
На самом деле тема обрезания возникает постоянно, с обострениями под конец и начало года. Воспользоваться поиском и найти 99% ответов на еще непоставленные глупые вопросы. Потом определится с религией - резать самому или найти денег и пусть кто-то сделает. Все. Больше ничего придумать нельзя.
#49 by Он
ТиС обезображенная до неузнаваемости. F=DS4302    |DocStream flag      |N   |1     |0     Оно?
#50 by Ёпрст
для периодики так будетс |delete
#51 by Ёпрст
ага.. тока это, проще об этом не думать - писать запрос из 1с с использованием 1cpp, там есть метапарсер имён
#52 by Он
ТА на первый док и удаление с конца дало прирост скорости на порядок. С моими куцыми знаниями прямых на написание потрачу гораздо больше времени. Поизучаю прямые на других задачах.
#53 by Ёпрст
зря ты так думаешь За то время что будет штатно удалять, можно написать всё, тем более, что готовых примеров пруд пруди
#54 by Mikeware
1.формируещь ввод остатков. 1.1 попутно формируешь список документов, которые в этих остаках фигурируют 2. формируешь список документов, устанавливающих значения периодики на дату обрезки. 2.1. если есть документы рагьше даты обрезки - добавляешь их в список 1.1 3. проверяешь ссылкидокументов после даты обрезки - если есть ссылки на документыы раньше даты - добавляешь их в список 1.1 4. удаляешь движения всех документов до даты обрезки, и итоги регистров до этой даты. 5. документы раньше датыобрезки - удаляешь, если они не входят в список  1.1. если входят - снимаешь флаг проведенности, но устанавливаешь признак архивности (чтоб не провели). все это не требует ни монопольной работы, ни каких-то особых решений. вставил в шедулер, и пусть пыхтит в часы наименьшей нагрузки базы... впрочем, даже это можно распределить во времени (чтоб еще больше снизить текущую нагрузку), только мне было лениво... И так работает...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям