Недавно столкнулся с ошибкой
во время создания файлового варианта базы. CF-файл был получен из хранилища, доступ к базе в режиме предприятия был, но при этом отсутствовал доступа к СУБД. Чтобы не тратить время на настройку клиент-серверного варианта и последующего поиска ошибки с помощью СУБД можно воспользоваться следующим вариантом:
1. по описанию ошибки определить проблемный тип метаданных ("_InfoR24290" - регистр сведений), наименование индекса ("ByPeriod"), количество полей индекса ("(_Period, _Fld24288, ... , _Fld24298)'" - 12 штук), типы полей, входящих в индекс ("TSSSSSSSSRSN" - подробнее по ссылке, в данном случае было достаточно наличия подряд 8-ми строковых реквизитов);
2. выполнить код вида
ТаблицаСтруктурыИБ = ПолучитьСтруктуруХраненияБазыДанных(); Для Каждого ТекСтрока ИЗ ТаблицаСтруктурыИБ Цикл Если Найти(ТекСтрока.ИмяТаблицы, "РегистрСведений") > 0 Тогда ТаблицаИндексов = ТекСтрока.Индексы; Для Каждого ТекИндекс ИЗ ТаблицаИндексов Цикл Если ТекИндекс.ИмяИндексаХранения = "ByPeriod" И ТекИндекс.Поля.Количество() = 12 Тогда Сообщить("> " + ТекСтрока.ИмяТаблицы); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла;
3. проверить метаданные, которые были выведены в сообщении (в моём случае достаточно было уменьшить длину одного строкового реквизита).
Комментариев нет:
Отправить комментарий