|
В процессе обновления информационной базы произошла критическая что это? | ☑ | ||
---|---|---|---|---|
0
Cerera
21.08.13
✎
17:03
|
Это когда я из рабочей базы выгрузил CF файл потом создал чистую базу и сделал "загрузить конфигурацию".
В процессе обновления информационной базы произошла критическая ошибка. по причине: Ошибка СУБД: Длина ключа индекса превышает максимально допустимую '_InfoR12141_ByDims_SSSSSSRSST (_Fld12142, _Fld12143, _Fld12144, _Fld12145, _Fld12146, _Fld12147, _Fld12148_TYPE, _Fld12148_RTRef, _Fld12148_RRRef, _Fld12149, _Fld12150, _Fld12151)' по причине: Длина ключа индекса превышает максимально допустимую '_InfoR12141_ByDims_SSSSSSRSST (_Fld12142, _Fld12143, _Fld12144, _Fld12145, _Fld12146, _Fld12147, _Fld12148_TYPE, _Fld12148_RTRef, _Fld12148_RRRef, _Fld12149, _Fld12150, _Fld12151)' |
|||
1
shuhard
21.08.13
✎
17:03
|
(0)[Длина ключа индекса превышает максимально допустимую]
какая буква не понятна ? |
|||
2
Cerera
22.08.13
✎
08:00
|
(1)Мне не понятно какая такая длина индекса и по какой причине это происходит вообще?
|
|||
3
skunk
22.08.13
✎
08:01
|
у регистра сведений - InfoR12141 ... слишком докуя полей
|
|||
4
Cerera
22.08.13
✎
08:05
|
(3)а как определить чтоэто за регистр?
|
|||
5
Olmer
22.08.13
✎
08:07
|
ПолучитьСтруктуруХраненияБазыДанных()
|
|||
6
shuhard
22.08.13
✎
08:09
|
(3) всё проще
ТС выгрузил cf с сиквела и сует в файловую, а там в Рг сведений текстовое измерение |
|||
7
Cerera
22.08.13
✎
08:10
|
(6)да. есть такое. а как же быть?
|
|||
8
shuhard
22.08.13
✎
08:12
|
(7) включить мозг
|
|||
9
Cerera
22.08.13
✎
08:15
|
(8)А что в файловой версии нельзя индексированные текстовые поля делать?
|
|||
10
Olmer
22.08.13
✎
08:17
|
(9) Насколько помню, ограничение на размер индекса есть в файловой.
|
|||
11
Defender aka LINN
22.08.13
✎
08:19
|
(9) Я бы вообще задумался - нахрена такое поле впилось?
|
|||
12
shuhard
22.08.13
✎
08:25
|
(9) ну 2-3 символа можно, ну не твои 128
|
|||
13
Cerera
22.08.13
✎
08:37
|
(5)благодаря тебе родился этот гениальный код:
Процедура КнопкаВыполнитьНажатие(Кнопка) МассивИменМетаданных = Новый Массив(); Для Каждого Эл Из Метаданные.РегистрыСведений Цикл МассивИменМетаданных.Добавить(Эл) КонецЦикла; ЭлементыФормы.ТаблицаСтруктуры.Значение=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных); ЭлементыФормы.ТаблицаСтруктуры.СоздатьКолонки(); КонецПроцедуры |
|||
14
Cerera
22.08.13
✎
08:48
|
там нет в базе такого
InfoR12141 - этой таблицы. |
|||
15
shuhard
22.08.13
✎
08:57
|
(14) а кто тебе сказал, что в сиквельной и файловой базах имена таблиц совпадают ?
|
|||
16
Cerera
22.08.13
✎
09:01
|
(15)А где мне искать лучше? на SQL ?
|
|||
17
Cerera
22.08.13
✎
09:01
|
(15)мне надо узнать что это за регистр. как это сделать?
|
|||
18
shuhard
22.08.13
✎
09:04
|
(17) ну это же типовая конфа, сравни с конфигурацией поставщика и найди Рг сведений с херовыми измерениями
|
|||
19
Serg_1960
22.08.13
✎
09:05
|
(15) Эээ...вообще-то - совпадают. Даже в различных базах они, как правило, совпадают - конфигурация поставщика определяющий фактор. Если, конечно, изменения были не настолько глубоки, что от конфигурации поставщика осталось рожки да ножки.
|
|||
20
Cerera
22.08.13
✎
09:07
|
(17)ну почему же типовая конфа. в этой конфе море самодельных регистров сведений.
|
|||
21
Serg_1960
22.08.13
✎
09:08
|
Короткое замечание: не исключено, что это новый регистр - из обновления. Тогда, пока тс обновление не накатит, - ФигВам его найдёт в своей конфе :)
|
|||
22
shuhard
22.08.13
✎
09:09
|
(21) то, что это самопальный регистр, очевидно
|
|||
23
Cerera
22.08.13
✎
09:09
|
(21)ну а мне что делать? запустить конфу из которой я выгрузил CF ?
|
|||
24
Cerera
22.08.13
✎
09:13
|
нашел регистр сведений у которого одно измерение имеет тип "Строка 500"
|
|||
25
Starhan
22.08.13
✎
09:14
|
(24) сними индесирование
|
|||
26
Cerera
22.08.13
✎
09:14
|
(25)индексирования там нет. но есть полнотекстовый поиск
|
|||
27
Starhan
22.08.13
✎
09:17
|
ну тож убирай :)
|
|||
28
Cerera
22.08.13
✎
09:18
|
Но это не решение проблемы. Мне нужно реально определить что за регистр это на который ругается программа.
|
|||
29
Serg_1960
22.08.13
✎
09:25
|
Попробуй вот это:
СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина); Для Каждого Таблица Из СтруктураХранения Цикл Для Каждого Индекс Из Таблица.Индексы Цикл Если Найти(Индекс.ИмяИндексаХранения, "_InfoR12141_ByDims_SSSSSSRSST") > 0 Тогда Сообщить(Таблица.Метаданные + " " + Таблица.Назначение); Сообщить(" " + Индекс.ИмяИндексаХранения); Для Каждого Поле Из Индекс.Поля Цикл Сообщить(" " + Поле.ИмяПоля + " " + Поле.ИмяПоляХранения + " " + Поле.Метаданные); КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
30
MSII
22.08.13
✎
09:26
|
Радченко:
"В файловом варианте 1С:Предприятия длина индекса ограничена 1920 байт. Для составного индекса его длина рассчитывается как сумма длин полей, входящих в индекс. Для различных типов данных 1С:Предприятия длина поля в байтах может быть вычислена по следующим формулам: Число: (Длина + 1) / 2 + (Длина + 1) % 2 Строка: Длина * 3 + 2 Дата: 8 Булево: 1 Ссылка: 16 Кроме этого, существует ограничение на количество полей, входящих в составной индекс. Для СУБД, отличных от файловой, максимальное количество полей в составном индексе – 16. Для файловой СУБД – 256. Если индекс содержит большее количество полей – они автоматически отбрасываются. Так работает модель информационной базы 1С:Предприятия." |
|||
31
Cerera
22.08.13
✎
09:45
|
(29)в рабочей базе нет ничего что содержит "12141"
|
|||
32
Cerera
22.08.13
✎
09:55
|
Вот попадос. что мне теперь последовательно один за другим регистры сведений грохать в базе чтоб проверить изза какого регистра вся эта канитель?
|
|||
33
arsik
гуру
22.08.13
✎
11:04
|
(32) Ты сортировки-выборки не учил что ли? Сначала грохни половину, потом половину половины.
|
|||
34
ptiz
22.08.13
✎
11:11
|
(32) У вас много регистров со строковыми измерениями или с большим числом измерений????
|
|||
35
shuhard
22.08.13
✎
11:15
|
(32) ну если слабо перебрать через метаданные измерения Рг сведений, то удаляй по одному
|
|||
36
Cerera
22.08.13
✎
11:23
|
(35)не находит по ID измерение
(34)как выяснилось что немало )) (33)знаю я это. |
|||
37
shuhard
22.08.13
✎
11:55
|
(36)[)не находит по ID измерение ]
чё ? |
|||
38
Cerera
22.08.13
✎
12:08
|
(37)ну код из (29) не помог мне найти интересующее поле регистра. методом удаления приходится решать.
|
|||
39
shuhard
22.08.13
✎
12:11
|
(38) ну если слабо перебрать через метаданные измерения Рг сведений, то удаляй по одному
|
|||
40
Cerera
22.08.13
✎
13:49
|
(39)вы бы хоть пояснили что значит перебрать. перебирал я их. но нет там с таким ID
|
|||
41
shuhard
22.08.13
✎
14:43
|
(40) какой нах ID,
нужно искать измерения с типом строка |
|||
42
Cerera
22.08.13
✎
14:48
|
(41)ну так я нашел их всех. они по 500-750 символов длиной. сейчас несчадно меняем базу.
|
|||
43
NcSteel
22.08.13
✎
14:51
|
(42) Одного измерения с длинной в 500 символов достаточно.... а их у тебя много.
Руки следует оторвать тому кто их создавал. |
|||
44
Cerera
22.08.13
✎
14:56
|
(43)ну молодой программист не знал как правильно делать. он из армии только пришел и сразу на боевую площадку его выпустили с нулём знаний по 1с он уже через месяц научился писать обработки и документы. ну а регистры проектировал не совсем правильно но теперь зато знает что к чему.
|
|||
45
Starhan
22.08.13
✎
15:03
|
все таки уникальная профессия у нас :).
|
|||
46
shuhard
22.08.13
✎
15:13
|
(42) топик закрыт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |