Одной из наиболее неприятных ситуаций, с которой сталкиваются специалисты при обновлении типовых конфигураций 1С, является остановка процесса из-за ошибки «Имеются записи с одинаковыми измерениями». Эта ошибка сигнализирует о том, что в регистре сведений возникло нарушение уникальности данных: в системе присутствуют две или более записей, которые имеют идентичный набор ключевых измерений. Платформа 1С не может корректно перестроить структуру базы данных при изменении конфигурации, пока этот конфликт не будет устранен.
Первым и самым доступным методом решения является стандартная процедура Тестирования и Исправления (ТиИ). Этот инструмент позволяет платформе самостоятельно найти логические нарушения и попытаться их устранить.
Часто после выполнения данной процедуры платформа автоматически удаляет «мусорные» записи, такие как записи регистров по битым документам, и ошибка исчезает, позволяя продолжить обновление конфигурации.
Если автоматическое исправление не принесло результатов, нам необходимо локализовать проблемный регистр и удалить дублирующиеся записи вручную или через групповую корректировку записей регистров. Рассмотрим, как это сделать:
СоответствиеОбъектовДляОбмена, ПрисоединенныеФайлы или Ключи реестра документов).> 1.Иногда причина кроется не в данных пользователя, а в повреждении метаданных самой конфигурации, особенно если в них вносились изменения вручную (доработки). Как показала практика, некорректные правки форм или объектов могут приводить к ошибкам при обновлении.
Попробуйте восстановить измененные объекты из «чистого» файла поставщика или из архивной копии конфигурации до момента внесения правок. Используйте функцию Сравнить, объединить с конфигурацией из файла, чтобы вернуть работоспособную версию проблемной формы или регистра.
Для продвинутых пользователей в клиент-серверном варианте 1С доступен прямой анализ таблиц БД. Это «самый надежный» путь, если другие не помогли:
InformationRegister_ХХХ).
SELECT Измерение1, Измерение2, COUNT(*)
FROM [ИмяТаблицы]
GROUP BY Измерение1, Измерение2
HAVING COUNT(*) > 1;
DELETE, оставив только одну актуальную запись.Важное напоминание: Никогда не приступайте к редактированию структуры данных без актуального бэкапа! Очистка регистра целиком — это крайняя мера, к которой стоит прибегать только при невозможности восстановления данных, так как это может привести к потере присоединенных файлов или связей между объектами учета.