Добрый вечер господа, ситуация следующем....упал свет во время работы 1с 8.3.10, думал как всегда кеш чистить, но не тут-то было...ничего не помогает, есть только 1cd базы, открывается только через Hex, выручайте, уже часов 10 сижу и ничего не выходит з.ы. шутки про бекап мимо, могу залить бд в облако если кому интересно
Ну что, навскидку: Tool_1CD версии 0.4.0 база открывается, причем без сообщений об ошибках. Но эта версия утилиты - только для чтения.
Поэтому, если бы это была моя база, то я бы попытался сконвертировать ее в формат 8.2.14 и, в случае успеха, помучать версией Tool_1CD? позволяющей редактирование.
(21) тут вообще беда -беда приказала долго жить таблица DBShema , в которой лежит описание структуры базы. Восстановление мало вероятно , может копия есть хотябы месячной давности( последний вопрос автору топика)
Как успехи? ДиБиСхему можно попробовать восстановить: нужна другая база такой же конфигурации, из неё берём DBSchema и DBNames, из битой берём DBNames и перешаманиваем всё это дело между собой. Недавно таким занимался.
(25) нене, не заменяем.
В DBNames (который в Params, да) прописано соответствие гуидов и имён - этакий отпечаток схемы. Исходя из того, что конфигурации одинаковые, гуиды объектов одинаковые.
То есть грубо:
Для каждого гуид в DBNames здоровой базы ищем в DBSchema здоровой базы описание таблицы, СтрЗаменяем имя таблицы (или поля) на магическую строку с гуидом.
Для каждого гуид в DBNames битой базы ищем в модифицированной DBSchema магическую строку с гуидом и заменяем на имя таблицы (имя, которое соответствует таблице в битой базе).
Скрипт у меня сейчас не под рукой, к сожалению, но остался.
(28) тул1сд: выгрузил из битой базы конфу. Одинэсном создал из этой конфы новую базу. Тул1сд: вытащил из новой базы DBNames, DBSchema, из старой DBNames - тупо копипастой из текстового поля в блокнотик. Потом скриптом на Односкрипте прошёлся по этим трём файликам, сделав четвёртый - новую DBSchema.
(29) А, потом танцы с бубном: ещё одним скриптом из текстового DBShema сделал blob, подходящий для импорта таблицы в тул1сд, и импортировал в старую базу.
(40) я нашел причину, устраняю, нужно поменять длину блока blob для DBSChema , я уже выгрузил вашу конфигурацию, и развернул чистую базу на ней, сейчас пробую сопоставить таблицы.
(43) у меня есть небольшой прогресс кое-как восстановил ( а точнее заменил таблицу dbschema) , стало заходить в конфигуратор , даже ТиИ запустилось , но судя по ошибкам , там большая часть данных «легло»,((( В 1с предприятие тоже заходит , но при обновлении на 10% валится с ошибкой ( так что посмотреть что там осталось возможности пока нет)
Вообще судя по содержанию таблиц , скорее всего можно восстановить только данные справочников
(45) из битой базы выгрузил все таблицы данных кроме служебных таблиц , взял чистую базу того же релиза , с помощью компоненты 1cd Lib , сопоставил имена таблиц битой базы и чистой (сопоставление идёт не по именам таблиц , а именно по их представлениям метаданных например таблице из старой базынапример таблице Accumrg1187 из старой базы соответствовала таблица Accumrg1157 новой ) и заменил файл описания таблиц descr битой базы файлами descr из новой базы , далее из чистой базы удалил все таблицы кроме служебных ( Таблицы Dbschema и Params остались не тронутыми) , и загрузил в неё ранее выгруженные таблицы данных битой базы с новыми descr , таким образом данные старой базы с новым описанием таблиц загрузились в новую базу.
(45) могу выложить dt , да только смысла в этом нет , база убита , посмотрите с помощью tools 1d таблицы не конвертированной базы ( есть tools который читает формат 8.3.8 но не может не редактировать ) там большинство таблиц обнулены. Конечно есть вариант как описывал выше попробовать перенести только справочники и документы , но все же сомневаюсь в результате )
(47) дело в том что мне удалось получить dbchema из конфигурации я предполагал что ее тоже можно подменить в ту базу которая убитая, я читал на mista про то как awa это сделал и восстановил какую-то базу для примера, причем вся проблема была именно в ней. Для меня было бы крайне полезно получить уже открывающуюся конфигуратором базу :) если можно)
(48) Если я правильно понял что ты читал , то там ситуация была в том - что там таблица BDChema была в базе , и просто рвалась в какой-то части и awa указал правильное смещение что бы программа видела продолжение этой таблицы , но все-таки таблица была в базе хоть и в разорванном виде.
Да мне не жалко , вечером скину dt - шник даже 2 шт
Только
1) его надо тестировать - там куча ошибок и они вроде не исправляются
2) есть проблема с чтением регистра сведений "параметры программы" - и я какой-то гкод даже комментил что бы это обойти
3) опять же есть проблемы с таблицами регл. заданий почему-то на них идет ошибка структуру - отследил по технологическому журналу - chdbfl и Tools 1cd и ТиИ не дают этих ошибок
так что мой результат обновление до 20 % в предприятии )))))
Просто интересно что будешь делать с базой которая открывается в конфигураторе ? просто ради интереса сравни таблицы АСС<k>_EXTDIM<n> (Таблица субконто плана счетов) убитой базы и какой-нибудь нормальной
(49) для меня это полет в неизвестность на данном этапе. Во первых я посмотрю какие таблицы в твоей базе отличаются с таблицами в моей. (которая не открывается). а во вторых, то что она открывается это уже велосипед для меня, зачем мне его изобретать, согласись). Я грубо говоря начинающий специалист и с интересом занимаюсь этими вопросами) мне по кафу открыть твою базу и покопаться в ней, может быть получится выгрузить от туда что-то) Все равно спасибо большое за развернутый ответ и исчерпывающую информацию, Друже)
Привет. Получилось у вас? У меня при открытии конфигурации вылетает ошибка потока формата. ТиИ делается без проблем, chdbfl.exe тоже. В предприятии тоже открывается. Все пробовал. Не знаю что делать?
1) Сделать копию базы
2) с помощью утилиты cnvdbfl сконвертировать в формат 8.2.14
3) Создать чистую базу того же релиза что и первая
4) Новую базу тоже сконвертировать в формат 8.2.14
5) из новой базы экспортировать таблицы Config и configsave в первую базу (с помощью tools 1cd)
(66) через командную строку например так с учетом версии платформы "C:\Program Files (x86)\1cv8\8.3.13.1513\bin\cnvdbfl.exe" -c -f 8.2.14 "путь к файлу базы данных"