Подмена главного файла конфигурации 1cv7.md на файл из другой базы — одна из наиболее опасных ошибок при обслуживании 1С 7.7. В платформе версии 7.7 каждому объекту метаданных (справочнику, документу, реквизиту) назначается уникальный внутренний идентификатор. При прямом копировании MD-файла внутренние идентификаторы метаданных перестают совпадать с реальными названиями колонок и таблиц в файлах данных DBF (или в таблицах MS SQL), из-за чего система выдает критические ошибки вида "Таблица - DT2414. Не сошлось наименование поля номер 19 - SP10470" и блокирует работу.
Рассмотрим по шагам, как проанализировать проблему и восстановить работу информационной базы, если резервная копия отсутствует.
Прежде чем выполнять любые действия по восстановлению, в обязательном порядке создадим полную копию каталога базы данных. Любые неудачные попытки сохранения изменений в Конфигураторе или запуск реструктуризации могут привести к безвозвратной очистке данных в несоответствующих полях.
Выясним, сохранила ли платформа 1С 7.7 копию оригинального файла перед последним сохранением или объединением конфигураций.
NewStru. При проведении реструктуризации платформа 1С создаёт этот каталог и сохраняет в нем файл 1cv7.md, который существовал до начала изменений. Если этот файл сохранился, скопируем его с заменой обратно в корень базы.Temp операционной системы). При сохранении конфигурации платформа также может оставлять временные файлы с исходной структурой метаданных.1cv7.md откроем вкладку "Предыдущие версии" и проверим, есть ли точка восстановления, созданная до момента подмены.Если оригинальный файл 1cv7.md найти не удалось, но в каталоге базы сохранился старый файл словаря данных 1cv7.dd (или 1cv7.dds для версии SQL), мы можем восстановить соответствие идентификаторов.
Разберем логику работы словаря данных:
Файл 1cv7.dd содержит текстовое описание структуры данных. В нем зафиксированы физические имена таблиц и полей (например, таблица DT2414 и реквизит SP10470) и их связь с объектами метаданных. При наличии старого файла 1cv7.dd и нового словаря, сформированного подмененным MD, проанализируем различия:
1cv7.dd текстовым редактором и найдем проблемную таблицу, указанную в ошибке (например, DT2414).SP10470 в исходной базе.gcomp для разобранного представления MD-файла. Распакуем подмененный файл 1cv7.md в текстовый формат.1cv7.dd.gcomp и поместим его в каталог базы.В ситуациях, когда изменения в подмененном MD незначительны (например, были удалены или добавлены отдельные реквизиты), можно заставить Конфигуратор корректно обновить физическую структуру конкретных таблиц.
Проанализируем алгоритм безопасной реструктуризации:
DT2414 отвечает за табличную часть конкретного документа).Важное предупреждение: данный метод подходит только если наименования полей не менялись местами. Если идентификаторы полей в новом MD перепутаны, платформа при реструктуризации очистит содержимого несошедшихся колонок. Поэтому выполним этот шаг строго на копии базы данных и обязательно проверим сохранность занесённых сведений в отчетах.