Создание новой информационной базы с частичным переносом информации

Предисловие

Допустим, у вас есть информационная база, которой вы давно и активно пользуетесь. И теперь наступило время, когда ее дальнейшее использование становится все более затруднительным из-за СИЛЬНО выросших размеров. Или база пока не выросла, но в вашей компании принято каждый год начинать с новой базы.

Удалить всю информацию не трудно, вопрос в том, как часть информации оставить, вот об этом и рассказывается ниже.

Все нижеизложенное применимо к информационным базам, хранящим информацию в формате dbf. Если формат вашей базы SQL, то ее предварительно необходимо конвертировать в dbf.

Все эксперименты с базами ВСЕГДА ставьте ТОЛЬКО с копиями!

Создание совершенно пустой базы

Сначала надо создать совсем пустую базу, в которой не будет никакой информации, но конфигурация будет идентична существующей. Для этого достаточно создать новую папку на диске, скопировать в нее файлы 1cv7.md, 1cv7.dd. Если необходимо сохранить список пользователей, то скопируйте еще каталог usrdef со всем содержимым. Возможно, конфигурация использует внешние формы, которые обычно находятся в папке ExtForms. При необходимости ее также надо скопировать в каталог новой базы.

Структура информационной базы

Описание структуры таблиц, входящих в информационную базу хранится в файле 1cv7.dd. Полезной информации там много, но нас интересует только соответствие названий объектов конфигурации именам файлов. Допустим, что в конфигурации есть справочник «номенклатура». Открываем любым текстовым редактором 1cv7.dd и запускаем поиск строки «справочник номенклатура». Он нам найдет строку вида: «#==TABLE no 25 : Справочник Номенклатура», это именно то, что мы искали. В следующей строке написано: «Name=SC84», это означает, что элементы справочника номенклатура хранятся в файле с именем «SC84.dbf». Аналогично можно найти место хранения всех остальных объектов базы.

Копирование справочников

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