суббота, 2 мая 2009 г.

Быстрая свертка информационных баз 1C

Быстрая свертка информационных баз и быстрый пересчет регистров.
Возможно описанная здесь процедура не блещет оригинальностью, но у автора есть надежда, что кому-то она будет полезна.
Наверняка многие сталкивались с необходимость свернуть ИБ. В большистве типовых конфигураций для этого есть специальные обработки.
Но есть одна проблема. На финальной стадии (пометка документов) вся обработка сильно тормозит и один документ может помечаться несколько минут.
Связано это естественно с тем, что при удалении документа пересчитываются все итоги вперед, поскольку удаление движений документа происходит достаточно быстро.
Как решить проблему.

Собственно все просто. Разбиваем процедуру архивирования на два этапа:
2.Перенос остатков.
3.Удаление документов.

После того, как остатки на конец архивируемого периода перенесены, закрываем 1С, и удаляем файлы бухгалтерских и оперативных итогов. Т.е.
RG*.*
1SBKTTL.*
1SBKTTLC.*.

Заходим в базу монопольно. Задвигаем бухгалтерские и оперативные итоги далеко назад.
Выполняем пометку на удаление документов (можно написать свою обработку). Главное не удалить те документы и операции, которыми сделан перенос остатков.
Выполняем удаление помеченных объектов.
Заходим в конфигуратор, выполняем упаковку базы.
Заходим в 1С и передвигаем бухгалтерские итоги и ТА вперед на нужную нам дату.
Проводим документы, которые выполнили ввод остатков.

В принципе можно удалить еще и файлы проводок и движений по регистрам, но в этом случае придется перепроводить все документы после даты архивирования. А это не всегда приемлемо.

И еще один момент. Наверняка это уже давно было замечено, но если предварительно удалить файлы итогов по регистрам, то пересчет регистров при тестировании и исправлении в конфигураторе происходит гораздо быстрее.

Комментариев нет: