Имя: Пароль:
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, это если делать ТиИ, а при запуске базы не ругается. Поэтому все равно переносить доки через конвертацию. Поэтому неважно на поддержке битая конца или нет.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший