Имя: Пароль:
1C
1С v8
Восстановление базы 1С
0 Ivan093
 
18.07.16
09:52
Добрый день!

У клиента упала база БП 3.0, файловая, бекапа нет.
Пишет при запуске:
Ошибка СУБД:
Ошибка SQL: Таблица не найдена '_InfoRg19822'

Ясно, что какой-то регистр сведений есть в метаданных, но в физических таблицах нет.
В конфигуратор входит. Погуглил, пробовал загрузку/выгрузку конфы такой же и другие варианты -- не помогает.
Можно как-то в файловую добавить эту таблицу физически, пусть она будет пустая.
Так же не могу понять как определить синоним этой таблицы.
1 mehfk
 
18.07.16
09:53
Бэкапов вообще нет?
2 antgrom
 
18.07.16
09:53
(0) ЧекДБФЛ ?
3 Рэйв
 
18.07.16
09:53
лучше уж определеи по dd что это за объект и удали в конфе. раз она пустая
4 Ivan093
 
18.07.16
09:54
Бекапа нет. Клиента мне передали.
5 Рэйв
 
18.07.16
09:54
а вообще "файловая" и "Ошибка SQL" как то не вяжется..
6 lubitelxml
 
18.07.16
09:54
(4) chdbfl.exe пробовал?
7 mehfk
 
18.07.16
09:56
Сделай новую базу из cf этой базы. Потом берешь tool_1cd, есть малая вероятность, что можно будет сделать экспорт таблицы из новой базы и импорт в битую.
8 mehfk
 
18.07.16
09:57
Ну то есть есть малая вероятность, что заработает сразу.
9 Ivan093
 
18.07.16
09:57
Сейчас попробую chdbfl. Мне пред программист говорил, что делал. Сейчас сам попробую.
10 mehfk
 
18.07.16
09:58
Будет скучно - базу в архив, архив на обменник, ссылку в мой ник псина народ ру.
11 Ivan093
 
18.07.16
09:59
(7) У меня tool_1cd, который только чтение. Не будете ли так любезны прислать на почту вашу версию (ivan1c [собака] olympus.ru)?
12 Ivan093
 
18.07.16
09:59
А как синоним узнать этого регистра? Даже если восстановлю, то понять, какой регистр полетел.
13 Ivan093
 
18.07.16
10:03
(6) chdbfl от 8.3.8 пишет, что ошибок нет. Странно, он что, не сравнивает физическую структуру с метаданными?
14 lubitelxml
 
18.07.16
10:04
(13) ТиИ что говорит?
15 Ivan093
 
18.07.16
10:08
(14) Выдает ту же ошибкц и прекращает работу.
16 Ivan093
 
18.07.16
10:09
Хотя стоп, он уже ругается, что нет таблицы _InfoRgChngR19821 -- другая таблицы.
17 _stay true_
 
18.07.16
10:12
1. Вычислить, к какому именно регистру относится данная таблица с помощью либо тул1с, либо метода ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных)

Код будет примерно такой

Для Каждого ТекРегистр Из Метаданные.РегистрыСведений Цикл

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить(ТекРегистр);

КонецЦикла;

Не факт, что заработает копипастом, но суть ясна.


2.Скопировать из типовой того же релиза этот объект в свою конфу и подменить ссыслки во всех объектах.

3. Удалить битый регистр из конфы.
4. применить изменения, посмотреть, что будет.


По идее, должен сформировать новую таблицу, а старую кирдыкнуть. Увы, потеря данных гарантирована
18 _stay true_
 
18.07.16
10:12
Для Каждого ТекРегистр Из Метаданные.РегистрыСведений Цикл

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить(ТекРегистр);
ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных)

КонецЦикла;
19 Ivan093
 
18.07.16
10:12
(17) Про ПолучитьСтруктуруХраненияБазыДанных я знаю, но проблема в том, что база не запускается.

Если я создам из этой конфы новую базу -- имена такие же будут таблиц?
20 Ivan093
 
18.07.16
10:15
(17) Как с помощью tool1cd узнать синоним таблицы? Я что-то смотрел, смотрел, но не увидел нигде синонимов, только физические названия таблиц. Может у меня версия старая...
21 _stay true_
 
18.07.16
10:15
(19)
Попробуй засунуть код в ПередНачаломРаботыСистемы()
по идее да, имена будут такими же. Но если это косяк в метаданных - ошибка плавно перетечет.
22 Serg_1960
 
18.07.16
10:34
Ivan093, любой у кого есть БП 3.0 может тебе помочь узнать всё про _InfoRg19822. Просто они тормозят :) У тебя есть любая база, где нет этой проблемы?  Ну вот там и запускай ПолучитьСтруктуруХраненияБазыДанных()
23 Serg_1960
 
18.07.16
10:36
(19) Да.
24 kossmatiy
 
18.07.16
10:42
Загрузи cf того же релиза. Произойдет реструктаризация и регистр появится. Если не вылетит в дамп...
25 Ivan093
 
18.07.16
10:42
Каким-то чудом починил базу.
1. В ТиИ увидел, что споткнулось на РС ВерсииОбъектов
2. Снял конфу с поддержки
3. Удалил совсем этот регистр
4. Снова ТиИ с реструктуризацией, ругнулось на еще один РС
5. Снова пункт 3
6. База запускается, но выдает ошибки в коде, но это уже не страшно

Теперь, как я понимаю, ее надо объединить с типовой и вернуть на поддержку.
26 Ivan093
 
18.07.16
10:43
(24) Это первое, что я сделал -- не помогает. Конфа грузится без проблем, а при запуске то же самое.
27 Ivan093
 
18.07.16
10:43
(25) Хотя не факт, что починил, но уже легче ))
28 kossmatiy
 
18.07.16
10:47
Проверь хард, на всякий..
29 Serg_1960
 
18.07.16
10:47
Если таблицы действительно нет, то ТиИ пересоздаёт их заново. Но проблема в том, что так программа может ругаться на разрушенную таблицу.Тогда ТиИ не поможет-само рухнет.

PS: всё сказанное - имхо, разумеется. Я удалял некоторые служебные таблицы в базе на SQL - ТиИ пересоздавало их заново.
30 Ivan093
 
18.07.16
14:04
В базу зашел, но все равно она жутко глючит.
Создаю новую пустую и доки перетаскиваю из глючной, а там уж пусть бухи сводят.
31 Azverin
 
18.07.16
14:06
"6. База запускается, но выдает ошибки в коде, но это уже не страшно" - есть! ДА! )))
32 Azverin
 
18.07.16
14:07
(30) "Снял конфу с поддержки", "все равно она жутко глючит", "Создаю новую пустую и доки перетаскиваю из глючной, а там уж пусть бухи сводят" - молодца.
33 Ivan093
 
18.07.16
14:36
Там ругается еще на таблицы _InfoRg, это если делать ТиИ, а при запуске базы не ругается. Поэтому все равно переносить доки через конвертацию. Поэтому неважно на поддержке битая конца или нет.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn