При переносе данных между информационными базами 1С с помощью конфигурации "Конвертация данных 2.0" (КД 2) можно столкнуться с неприятной ситуацией: после загрузки часть объектов метаданных (документов, справочников) начинает отображаться со знаком вопроса, а при попытке их открыть система выдает ошибку "Ошибка формата потока". Часто эта проблема проявляется не сразу, а спустя некоторое время после загрузки, что еще больше запутывает диагностику. Давайте вместе разберемся в причинах такого поведения и рассмотрим пошаговый план решения проблемы.
Ситуация, когда после переноса данных по одной организации в базу, где уже есть другая, возникают дубли метаданных, является комплексной. Как правило, она вызвана не одной, а совокупностью причин, связанных как с настройками правил обмена, так и с состоянием самой информационной базы. Проанализируем основные гипотезы.
1. Конфликт внутренних идентификаторов (УИДов) метаданных
Каждый объект конфигурации (например, документ "Реализация товаров и услуг" или справочник "Номенклатура") имеет свой уникальный внутренний идентификатор — УИД. Если вы переносите данные между базами, конфигурации которых развивались независимо, то объекты с одинаковыми именами могут иметь разные внутренние УИДы. При загрузке данных система может запутаться, какой из объектов является "правильным", что приводит к созданию виртуальных дублей и нарушению внутренней структуры базы данных.
2. Некорректные настройки правил в "Конвертации данных"
Это самая распространенная причина. Неверно настроенные правила выгрузки и загрузки могут спровоцировать описанную проблему. Обратим внимание на ключевые моменты:
ПВД) установить этот флаг, то система при загрузке будет искать объекты метаданных в базе-приемнике не по их уникальному идентификатору, а по имени. Это крайне опасно при объединении баз, так как при совпадении имен, но различии УИДов, возникнет конфликт, который и приводит к появлению "объектов-призраков".
ПКО) можно и нужно настраивать поиск существующих элементов в базе-приемнике. Если поля для поиска не обеспечивают уникальную идентификацию (например, поиск только по наименованию, которое может дублироваться), система не найдет существующий объект и создаст новый, что приведет к задвоению данных.
3. Повреждение кеша или служебных таблиц базы данных
Симптомы, описанные в проблеме, также указывают на возможное повреждение данных:
Для решения проблемы необходимо действовать системно, шаг за шагом проверяя каждую из возможных причин. Перед началом любых действий обязательно сделайте резервную копию информационной базы-приемника!
Проверка и исправление информационной базы
Первым делом нужно убедиться в целостности самой базы данных. Это можно сделать двумя способами:
Полная очистка кеша
Чтобы исключить влияние поврежденных временных файлов, необходимо полностью очистить кеш 1С на компьютере, где проявляется проблема. Для этого закройте все сеансы 1С и удалите содержимое папок, расположенных по путям %AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8.
Корректировка правил конвертации
Это самый важный этап. Откройте ваши правила в конфигурации "Конвертация данных" и внимательно проверьте следующие настройки:
ПКО). Для каждого объекта (особенно для справочников) должны быть настроены поля поиска, которые однозначно идентифицируют элемент. Например, для справочников это может быть "Код" или "УникальныйИдентификатор", для документов — "Номер" и "Дата" в связке с "Организацией". В настройках поиска можно указать "Не замещать существующие объекты в приемнике, а только создавать новые", если это соответствует вашей задаче.
ПВД стоит флаг "Не выгружать".
Проверка даты запрета редактирования
Иногда ошибки при записи могут быть вызваны установленной датой запрета редактирования. Убедитесь, что в базе-приемнике она снята или установлена на дату, не мешающую загрузке ваших документов. (Администрирование -> Настройки пользователей и прав -> Даты запрета изменения).
После внесения изменений в правила конвертации и выполнения всех проверок попробуйте выполнить перенос данных заново, желательно на копии базы. Последовательное выполнение этих шагов с высокой вероятностью поможет выявить и устранить причину задвоения объектов метаданных и связанных с этим ошибок.