Ошибка при обновлении "Для одного ссылочного кода существует более одной таблицы в базе данных"


После перехода на новую платформу поменялась (появилась) проверка на дублирование внутренних идентификаторов объектов метаданных. Возможная ошибка при обновлении «Для одного ссылочного кода существует более одной таблицы в базе данных». Лечится изменением идентификатора объекта метаданных.

После перехода на новую платформу поменялась (появилась) проверка на дублирование внутренних идентификаторов объектов метаданных. Возможная ошибка при обновлении "Для одного ссылочного кода существует более одной таблицы в базе данных". Лечится изменением идентификатора объекта метаданных.

Отказ от ответственности: автор не несет ответственность за использование приведенного алгоритма действий

Для изменения UUID объекта

  1. Ищем объекты метаданных UUID которых дублируется.
    Используем функцию "ПолучитьСтруктуруХраненияБазыДанных()"
    Обработка приложена, кнопка "Заполнить" формирует структуру метаданных. С ошибки копируем коды таблиц. В колонке "Имя таблицы хранения" поиском ищем таблицы. В примере это "Document32786" и "ConstChngR32786". Соответственно "Документ.УведомлениеОПолучателеДокументов" и "РегистрацияИзмененийКонстанты".
  2. Выгружаем конфигурацию в XML-файлы ("Конфигурация" / "Выгрузить конфигурацию в файлы…"). В папке с выгруженной конфигурацией заходим в соответствующий раздел "Documents". Ищем нужный xml, в примере "УведомлениеОПолучателеДокументов", тег "Document uuid", корректируем значение тега, в примере с "4cca52c2-3327-443c-b50a-654acdb704bf" измен на "4cca52c2-3327-443c-b50a-777acdb704bf". В файле "ConfigDumpInfo" UUID объекта можно не менять.
  3. Загружаем конфигурацию из файлов ("Конфигурация" / "Загрузить конфигурацию из файлов…").
  4. Обновляем базу.

 

3 Comments

  1. Дмитрий74Чел

    На мой взгляд не совсем корректное решение. Правильное: https://infostart.ru/public/1126277/

    Reply
  2. user646807_kazako.a911

    (1)

    Чем же решение по ссылке корректней (правильней) ?

    Reply
  3. Дмитрий74Чел

    (2) В данном решение предложено поменять UUID на произвольный. Не на правильный (которого -то и нет, т.к. проблема не в UUID), а на какой-то там любой.

    Тем более сомнительна рекомендация «В файле «ConfigDumpInfo» UUID объекта можно не менять.». Т.е. в одном месте конфигурации у документа будет один идентификатор, а в другом — другой. На мой взгляд так получаем битую конфигурацию. То, что метод сработал на одной базе скорее всего является следствием лишь того, что в ней указанный документ не использовался.

    В указанной ссылке приведены несколько решений, как сложных (с заменой номеров объектов), так и простых и 100% безопасных (временное добавление объекту реквизита).

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *