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