23.04.2016 18:39
КЛАДР постепенно отживает своё, ему на смену приходит , да и сама 1с всё больше и больше выходит в интернет за разными данными.
В общем - посмотрел я, и увидел в одной из своих баз полностью загруженный ранее в БП 3.0 КЛАДР (все регионы). Данные из него находятся в регистре сведений "УдалитьАдресныйКлассифиркатор".
И решил я его очистить.
Стандартные методы не сработали (Администрирование - Поддержка и Обслуживание - Адресный классификатор - Очистить адресные сведения). Говорю - "загружать классификатор в программу" (иначе - при "Использовать веб-сервис 1С для ввода и проверки адресов" - кнопка "Очистить" неактивна), нажимаю "Очистить адресные сведения", выбираю любой регион (или все - без разницы), ОК, смотрю на регистр - а он как был, так и остался полон данными.
Ладно, вернул "Использовать веб-сервис 1С для ввода и проверки адресов", попробовал руками поудалять. В общем - так себе занятие.
Ладно, написал обработку, которая считает - сколько записей в этом регистре (у меня получилось более 3.5 миллионов), и очищает его указанными порциями.

Собственно, весь текст обработки - вот он:
скрытое
Время работы - примерно 2 часа при удаляемой порции в 20'000 записей.
После этого - в конфигураторе обязательно тестирование и исправление с флажком "Сжатие таблиц информационной базы" (я так же ставил "Проверка логической целостоности" и "Проверка ссылочной целостности", что бы убедиться, что не удалил лишнего).
Результат - база "похудела" на 2.3Гб

Сама обработка - во вложении.
И да, я знаю, что здесь, скорее всего надо было использовать механизм "Длительных операций" - но я с ним пока не разбирался.
Вложения
Тип файла: zip УдалениеЗаписейАдреса.zip (5.0 Кб, 370 просмотров)
23.04.2016 20:52
Цитата:
KirillHome Время работы - примерно 2 часа
Вот... А в семерке достаточно было просто файлы из папки ExtDB удалить, если это бухгалтерия, или в случае ЗиК в dd-шнике найти имя dbf-ок, и грохнуть их... Классификатор, тем и отличается от просто справочника, что ссылок на него нет. Данные адресов хранятся просто в строковых полях, а классификаторы используются только для их заполнеия. Потом, можнохоть удалять его, хоть перезаполнять, ссылочная целостность не нарушается.
Конечно, удобно когда вся база в виде одного файла, но, возможностей работы "ломом" значительно меньше... Хотя, есть альтернативные утилиты распаковки/упаковки файла 1CD, но, как-то стремно...
23.04.2016 21:37
Цитата:
MWWRuza Вот... А в семерке достаточно было просто файлы из папки ExtDB удалить, если это бухгалтерия, или в случае ЗиК в dd-шнике найти имя dbf-ок, и грохнуть их... Классификатор, тем и отличается от просто справочника, что ссылок на него нет. Данные адресов хранятся просто в строковых полях, а классификаторы используются только для их заполнеия. Потом, можнохоть удалять его, хоть перезаполнять, ссылочная целостность не нарушается.
Конечно, удобно когда вся база в виде одного файла, но, возможностей работы "ломом" значительно меньше... Хотя, есть альтернативные утилиты распаковки/упаковки файла 1CD, но, как-то стремно...
Ну да, в SQL-базе тоже всё было бы проще.
Вероятно, можно было бы использовать .

Спасибо за подсказку о сохранении индексной целостности при удалении классификаторов!
30.04.2016 12:04
Сейчас ещё раз проверил, и увидел такую забавную вещь - да, конечно, база сократилась, но практически и на столько же вырос журнал регистрации (журнал регистрации переведён на новый формат - SQLLite, регистрируется всё - "ошибки, предупреждения, информация, примечания").
Часовой пояс GMT +3, время: 13:44.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.