При конвертации базы:
до версии 4.2 - выдается сообщение одного из следующих видов (после этого конвертация откатывается):
"Нарушение уникальности значений ключа 'Владелец,РольКолонки' класса 'База.КолонкаОбъекта'. Удалите записи, нарушающие уникальность ключа."
"Нарушение уникальности значений ключа 'Владелец,Наименование' класса 'База.ПараметрИмпорта'. Удалите записи, нарушающие уникальность ключа."
"Нарушение уникальности значений ключа 'User,КатегорияПрав' класса 'База.ПраваПользователя'. Удалите записи, нарушающие уникальность ключа."
до версии 5 или 5.1 - выдается сообщение одного из следующих видов (после этого конвертация прерывается):
"Нарушение уникальности значений ключа 'User,Меню' класса 'База.ПраваНаМеню'. Удалите записи, нарушающие уникальность ключа."
"Нарушение уникальности значений ключа 'Владелец,ТипКонтакта' класса 'БизнесМодель.КонтактыФизЛиц'. Удалите записи, нарушающие уникальность ключа."
"Нарушение уникальности значений ключа 'ПереченьПараметровКлюча' класса 'НазваниеКласса'. Удалите записи, нарушающие уникальность ключа.", где ПереченьПараметровКлюча и НазваниеКласса - любые, кроме перечисленных выше.
до версии 6.0 и выше - выдается сообщение одного из следующих видов (после этого конвертация прерывается):
"Нарушение уникальности значений ключа 'Person' класса 'BizArch.UsersSettings'. Удалите записи, нарушающие уникальность ключа" или "Нарушение уникальности значений ключа 'Физическое лицо' класса 'Настройки пользователей Business Studio'. Удалите записи, нарушающие уникальность ключа".
"Нарушение уникальности значений ключа 'ПереченьПараметровКлюча' класса 'НазваниеКласса'. Удалите записи, нарушающие уникальность ключа.", где ПереченьПараметровКлюча и НазваниеКласса - любые, кроме перечисленных выше.
Вероятно, в исходной базе (в той, что была до конвертирования) имеется дублирование значений тех параметров, для которых ранее не существовало требований уникальности, а теперь (в новой версии программы) эти требования появились.
Ссылки на статьи по решения каждой из указанных проблем приведены в таблице ниже.
№ | Текст сообщения об ошибке | Рекомендации по решению проблемы |
1 | Нарушение уникальности значений ключа 'Владелец,РольКолонки' класса 'База.КолонкаОбъекта'. Удалите записи, нарушающие уникальность ключа. | См. раздел Решение проблемы с уникальностью значений ключа в классах "База.КолонкаОбъекта" и "База.ПараметрИмпорта" ниже. |
2 | Нарушение уникальности значений ключа 'Владелец,Наименование' класса 'База.ПараметрИмпорта'. Удалите записи, нарушающие уникальность ключа. |
3 | Нарушение уникальности значений ключа 'User,КатегорияПрав' класса 'База.ПраваПользователя'. Удалите записи, нарушающие уникальность ключа. | См. раздел Решение проблемы с уникальностью значений ключа в классе "База.ПраваПользователя" ниже. |
4 | Нарушение уникальности значений ключа 'User,Меню' класса 'База.ПраваНаМеню'. Удалите записи, нарушающие уникальность ключа. | См. раздел Решение проблемы с уникальностью значений ключа в классе "База.ПраваПользователяНаМеню" ниже. |
5 | Нарушение уникальности значений ключа 'Владелец,ТипКонтакта' класса 'БизнесМодель.КонтактыФизЛиц'. Удалите записи, нарушающие уникальность ключа. | См. раздел Решение проблемы с уникальностью значений ключа в классе "БизнесМодель.КонтактыФизЛиц" ниже. |
6 | Нарушение уникальности значений ключа 'Person' класса 'BizArch.UsersSettings'. Удалите записи, нарушающие уникальность ключа. | См. раздел Решение проблемы с уникальностью значений ключа в классе "Настройки пользователей Business Studio" (BizArch.UsersSettings) ниже. |
Нарушение уникальности значений ключа 'Физическое лицо' класса 'Настройки пользователей Business Studio'. Удалите записи, нарушающие уникальность ключа. |
7 | Текст "Нарушение уникальности значений ключа 'ПереченьПараметровКлюча' класса 'НазваниеКласса'. Удалите записи, нарушающие уникальность ключа.", где ПереченьПараметровКлюча и НазваниеКласса - любые, кроме перечисленных выше. | Проблему можно решать по аналогии с описанием решения для проблемы Решение проблемы с уникальностью значений ключа в классе "База.ПраваПользователяНаМеню". Если при этом возникнут вопросы или сложности, для решения проблемы можно обратиться на техподдержку со страницы Системы интерактивной поддержки Ошибки при операциях с базой данных. |
Таблица 1. Перечень известных ошибок, возникающих при конвертации, и рекомендаций по их решению
Описываемый ниже способ исправления проблемы включает в себя удаление записей, что может нарушить логику работы пакетов импорта: ранее для таких ситуаций происходил импорт в одно поле из разных параметров файла (что в целом не совсем верно, но так пакеты ранее настроить было можно), теперь же, начиная с версии 4.2, такую загрузку, если в ней действительно есть необходимость, надо делать через отдельные этапы импорта. Используя приведённую ниже инструкцию, Вы не переделываете пакет импорта под новые требования, а просто исправляете препятствие для конвертации, удаляя дублирующие записи из списков соответствий параметров пакетов импорта. В связи с этим в дальнейшем может потребоваться доработка соответствующего пакета импорта.
Для решения проблемы сделайте следующее:
-
Откройте эту базу данных в Business Studio той версии, в которой Вы работали до конвертации.
Скачайте архив по ссылке под текстом данной статьи, распакуйте его содержимое в отдельную папку. В папке будет 5 файлов, название каждого из них будет содержать версию базы данных.
Импортируйте в Вашу базу данных информацию из файла, номер версии в названии которого соответствует номеру версии базы, использующейся в Вашей версии Business Studio (соответствия номеров версий Business Studio можно посмотреть в
Истории версий).
Далее откройте справочник "Хранимые фильтры" (в Главном меню программы команда "Отчёты - Хранимые фильтры") и:
Выполните фильтр "База.КолонкаОбъекта - дубли" (фильтр находится по пути Хранимые фильтры\Пользовательские фильтры\Поиск дублей в справочниках импорта). В окне с результатами фильтра записи будут отсортированы по убыванию значения в колонке "Количество(Владелец)". Для каждой из строк со значением > 1 необходимо:
Вызвать от ячейки колонки "Владелец" правой кнопкой мыши контекстное меню и выбрать там пункт "Открыть свойства параметра".
Сделать скриншот открывшегося окна, сохранить его (он может понадобиться потом для изучения требуемой логики работы этого пакета импорта, в соответствии с которой надо будет внести правки в пакет в версии 4.2).
Удалить строки с одинаковыми значениями параметра "Параметр класса" (оставить только одну строку с таким значением).
Выполните фильтр "База.ПараметрИмпорта - дубли" (фильтр находится по пути Хранимые фильтры\Пользовательские фильтры\Поиск дублей в справочниках импорта). В окне с результатами фильтра записи будут отсортированы по убыванию значения в колонке "Количество(Владелец)". Для каждой из строк со значением > 1 необходимо:
Вызвать от ячейки колонки "Владелец" правой кнопкой мыши контекстное меню и выбрать там пункт "Копировать текст ячейки".
Открыть справочник "Объект импорта".
Вызвать от заголовка колонки "Название" окно быстрого фильтра, вставить туда строку, скопированную в предыдущем пункте в буфер обмена (Ctrl+V), провести поиск.
От оставшейся единственной строки вызвать правой кнопкой мыши контекстное меню и выбрать там команду "Дополнительно - Поиск ссылок на объект". На этом этапе возможно 2 результата, для каждого из которых дальнейшие действия будут свои:
Если в окне поиска ссылок пусто, закройте его и удалите строку справочника "Объект импорта", от которой вызывали поиск ссылок на объект.
Если в окне поиска ссылок есть строка:
Откройте её свойства по кнопке на верхней панели окна поиска ссылок.
В открывшемся окне с помощью команды меню "Действия - Настройка колонок" выведите на показ колонку "Владелец" (выделите в открывшемся окне галочкой и нажмите кнопку "Применить").
Вызовите от заголовка выведенной на показ колонки "Владелец" правой кнопкой мыши контекстное меню и выберите в нём пункт "Открыть свойства параметра" - откроется окно настройки пакета импорта.
В окне настройки пакета импорта откройте вкладку "Параметры" и сделать скриншот всего окна настройки пакета импорта при открытой этой вкладке (он может понадобиться потом для изучения требуемой логики работы этого пакета импорта, в соответствии с которой надо будет внести правки в пакет в версии 4.2)
Удалите со вкладки "Параметры" строки с одинаковыми значениями в колонке "Параметр класса" (оставить только одну строку с таким значением) и сохраните пакет нажатием соответствующей кнопки в нижней части окна его настройки.
-
Попробуйте провести конвертацию этой базы данных.
Скачать файл "search_duplicate_key_in_import_repository.zip" (16 Кб)
Для решения проблемы сделайте следующее:
-
Откройте эту базу данных в Business Studio той версии, в которой Вы работали до конвертации.
Откройте справочник "Права пользователя" (см.
здесь).
Отобразите колонки "User" и "Категория прав" (с помощью команды меню "Действия - Настройка колонок" вызовите окно настройки, отметьте эти строки флажками и нажмите кнопку "Применить") и отсортируйте справочник по колонке "User" кликом левой клавиши мыши по заголовку колонки.
Найдите записи-дубли с одинаковыми значениями в обеих этих колонках и удалите неактуальную запись с заменой ссылок на актуальную, выбирая соответствующий пункт в окне удаления.
Повторите предыдущий пункт для всех дублей.
-
Попробуйте провести конвертацию этой базы данных.
Для решения проблемы сделайте следующее:
-
Откройте эту базу данных в Business Studio той версии, в которой Вы работали до конвертации.
Откройте справочник "Права пользователя на меню" (см.
здесь) .
Отобразите колонки "Пользователь" и "Меню" (с помощью команды меню "Действия - Настройка колонок" вызовите окно настройки, отметьте эти строки флажками и нажмите кнопку "Применить") и отсортируйте справочник по колонке "User" кликом левой клавиши мыши по заголовку колонки.
Найдите записи-дубли с одинаковыми значениями в обеих этих колонках и удалите их, оставляя по 1 строке для каждой такой ситуации.
-
Попробуйте провести конвертацию этой базы данных.
Для решения проблемы сделайте следующее:
-
Откройте эту базу данных в Business Studio той версии, в которой Вы работали до конвертации.
Откройте справочник "БизнесМодель.КонтактыФизЛиц" (в Главном меню пункт "Справочники - Все справочники", в открывшемся окне вызовите окно поиска сочетанием клавиш "Ctrl+F", проведите поиск по БизнесМодель.КонтактыФизЛиц, откройте найденный справочник).
Включите возможность редактировать значения полей из окна справочника (с помощью команды меню "Действия - Редактирование значений колонок").
Отобразите колонки "Владелец" и "Тип контакта" (с помощью команды меню "Действия - Настройка колонок" вызовите окно настройки, отметьте эти строки флажками и нажмите кнопку "Применить") и отсортируйте справочник по колонке "Владелец" кликом левой клавиши мыши по заголовку колонки.
Найдите записи-дубли с одинаковыми значениями в обеих этих колонках, после этого:
-
Попробуйте провести конвертацию этой базы данных.
Для решения проблемы сделайте следующее:
-
Откройте эту базу данных в Business Studio той версии, в которой Вы работали до конвертации.
Откройте справочник "Настройки пользователей Business Studio" (Главное меню - Справочники - Все справочники - включить флажок "Показать все", Самостоятельные объекты - Настройки пользователей - Настройки пользователей Business Studio).
Отобразите колонку "Физическое лицо", если она у вас не выведена на показ (с помощью команды меню "Действия - Настройка колонок" вызовите окно настройки, отметьте эту строку флажком и нажмите кнопку "Применить"), и отсортируйте справочник по колонке "Физическое лицо" кликом левой клавиши мыши по заголовку колонки.
Найдите записи-дубли с одинаковым значением в этой колонке и решите проблему дублирования одним из следующих способов:
Удалите некорректную запись/записи (если такая/такие есть).
Смените физлицо для записи/записей на другое/другие, чтобы избежать дублирования.
Повторите предыдущий пункт для всех дублей.
-
Попробуйте провести конвертацию этой базы данных.