При переходе с конфигурации «1С:Бухгалтерия предприятия 2.0» на версию 3.0 специалисты часто сталкиваются с критической ошибкой в режиме Конфигуратора: «Записи регистра сведений стали неуникальными: ФИОФизическихЛиц». Эта проблема блокирует процесс реструктуризации базы данных и не позволяет завершить обновление. Давайте подробно разберем, почему возникает эта ситуация, и какими методами ее можно решить.
Прежде всего, проанализируем природу данной ошибки. Регистр сведений ФИОФизическихЛиц является периодическим и служит для хранения истории изменения имен, фамилий и отчеств физических лиц. В версии 2.0 и 3.0 структура этого регистра может иметь незначительные, но критичные для платформы различия в индексации или составе измерений.
Рассмотрим основные причины, по которым записи, казавшиеся уникальными в старой версии, становятся «дублями» в новой:
ФизЛицо + Период, а в 3.0 к ним добавляются дополнительные разрезы (например, признак типа записи), система может обнаружить конфликты.ФизическиеЛица, при обновлении они могут быть интерпретированы как пустые значения. Несколько таких «пустых» записей на одну дату гарантированно вызовут ошибку.Для того чтобы не удалять весь регистр целиком и не терять историю изменений ФИО, мы рекомендуем воспользоваться точечным поиском виновников. Разберем, как найти записи, которые имеют одинаковые ключевые поля (измерения).
Воспользуемся консолью запросов и проанализируем ситуацию с помощью следующего кода:
ВЫБРАТЬ
ФИО.ФизЛицо КАК ФизЛицо,
ФИО.Период КАК Период,
КОЛИЧЕСТВО(*) КАК КоличествоДублей
ИЗ
РегистрСведений.ФИОФизическихЛиц КАК ФИО
СГРУППИРОВАТЬ ПО
ФИО.ФизЛицо,
ФИО.Период
ИМЕЮЩИЕ
КОЛИЧЕСТВО(*) > 1
Этот запрос выведет список всех физических лиц, у которых на одну и ту же дату введено более одной записи. После получения списка необходимо зайти в регистр в режиме «1С:Предприятие» и вручную (или программно) удалить лишние записи. Как показывает практика, иногда автоматизированное удаление через обработки может пропускать записи из-за объектных блокировок, поэтому ручное удаление в списке часто оказывается более эффективным.
Если история изменений ФИО не является критически важной для учета (например, у сотрудников редко менялись фамилии), или если записей-дублей слишком много, можно рассмотреть вариант полной очистки регистра перед обновлением. Выясним, как это сделать правильно.
Важно: Перед выполнением данной операции обязательно создайте резервную копию базы данных!
Для очистки регистра можно использовать простую обработку с кодом:
НаборЗаписей = РегистрыСведений.ФИОФизическихЛиц.СоздатьНаборЗаписей();
НаборЗаписей.Записать();
После очистки данных повторите попытку обновления в Конфигураторе. Если ошибка сохраняется, это может свидетельствовать о кэшировании данных. В таком случае закройте Конфигуратор, почистите локальный кэш пользователя и запустите процесс заново.
Иногда проблема кроется в нарушении логической целостности базы данных на уровне СУБД. Перед тем как приступать к обновлению с 2.0 на 3.0, крайне важно выполнить регламентные операции тестирования.
Рассмотрим шаги по настройке ТиИ:
Процесс ТиИ позволит автоматически вычистить те самые «битые ссылки» (Объект не найден), которые часто становятся причиной неуникальности при реструктуризации таблицы регистра.
В старых версиях 1С:Бухгалтерии (2.0) программные ошибки или некорректные переносы данных могли приводить к появлению записей с датой 01.01.0001. Если для одного физического лица существует несколько записей с такой «нулевой» датой, платформа 8.3 при переходе на новый формат хранения данных может выдать ошибку уникальности.
Проанализируем ситуацию: проверьте регистр ФИОФизическихЛиц на наличие записей с пустым периодом. Если они найдены, установите им корректную дату (например, дату рождения физлица или дату начала учета в базе) либо удалите дублирующиеся записи с пустой датой.
Подводя итог, можно составить четкий алгоритм действий для успешного перехода на БП 3.0 без ошибки неуникальности:
ФизическиеЛица нет дублирующихся элементов, которые ссылаются на одни и те же записи в регистре ФИО.ПОДОБНО или выгрузкой в Excel для визуального анализа.ФИОФизическихЛиц в версии 2.0 (добавляли свои измерения), перед обновлением необходимо вернуть структуру регистра к полностью типовому виду.Соблюдение этих шагов позволит вам избежать остановки процесса обновления и успешно перевести учет в актуальную редакцию 1С:Бухгалтерия 3.0.