Имя: Пароль:
1C
1С v8
Длина таблицы не кратна длине записи
0 helloman
 
09.08.18
10:39
При проведении документов файловая база вываливается с ошибкой "Файл базы данных поврежден". Начал копать, дело в регистре "Версии объектов", при запуске Tool_1CD 0.4.0 ругается на таблицу  _INFORG15292 (ВерсииОбъектов) "Длина таблицы не кратна длине записи", показывает размер таблицы и записи 2210. Написал обработку удаляющую записи до 01.01.2018 г., ошибка исчезла, но база РИБ, хотелось бы найти виновника.
Вопрос как найти "битую" запись?
1 Остап Сулейманович
 
09.08.18
10:40
(0) Виновник здесь : "файловая база".
2 helloman
 
09.08.18
10:51
(1) Догадываюсь )
3 Остап Сулейманович
 
09.08.18
11:03
(2) Ну и? Максимальный размер таблицы в файловой базе сам поищешь? Или поверишь на слово? Не может быть размер таблицы в файловой базе больше 2 гигов. Структура информации в заголовке таблицы не позволяет адресоваться к большему объему.
ЗЫ. Такая селява мой одноэсный бро.
4 Остап Сулейманович
 
09.08.18
11:09
+ (3) В твоем случае - или переходить на скуль, или уменьшать количество версионируемых объектов или отказаться от версионирования вообще.
5 helloman
 
09.08.18
11:13
(3) Согласно Tool 1cd размер таблицы - 4298746140 байт, т.е. 4,2 гб
6 Остап Сулейманович
 
09.08.18
11:19
(5) Ну в общем то - да. Подловил.
Вот здесь : http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=567351
тов. Радченко отвечают :
=============================
Что касается файловой базы данных 1С:Предприятия, то в ней все данные, относящиеся к одной таблице, собраны в три внутренних файла:

файл записей, в котором находятся все записи таблицы, за исключением полей неограниченной длины
файл индексов
файл значений неограниченной длины
Размер каждого из этих файлов не может превышать 4 гб.
=============================
ЦЫ.
7 helloman
 
09.08.18
11:33
(6) Это известный факт, не совсем пойму почему после очистки устаревших записей стандартными методами 1с, размер не сократился, система запись оставляет, хранилище чистит и меняет поле. Пробовал перезалить регистр через xml, странно что ошибка не исчезает
8 Остап Сулейманович
 
09.08.18
11:35
(7) А нужно в режиме ТИИ еще выполнить "сжатие таблиц".
Потому что просто удаление не освобождает место, занимаемое таблицей физически.
9 helloman
 
09.08.18
11:47
(8) Точно, спасибо, забыл про этот момент
10 mistеr
 
09.08.18
11:58
(6) Сам себя подловил.
Вот нафига вводить людей в заблуждение, изображая из себя "эксперта"?
11 mistеr
 
09.08.18
12:01
(0) Выгрузка-загрузка обычно решает проблемы физической структуры таблиц файловой базы. Или хотя бы выявляет их.
12 helloman
 
09.08.18
12:11
(11) Сейчас пробую следующий вариант:
1. Загрузка файловой в sql
2. Чистка старых записей с помощью обработки
3. Выгрузка регистра "Версии объектов" из sql
4. Загрузка в файловую базу
5. ТиИ - Сжатие
13 mistеr
 
09.08.18
12:18
(12) Тогда уж сначала сжатие, потом загрузка. Какой смысл делать наоборот?
14 helloman
 
09.08.18
12:23
(13) А что сжимать перед загрузкой? Как я представляю, сжать нужно таблицу после загрузки данных, которые уменьшились в объеме