Имя: Пароль:
1C
 
помогите восстановить базу
,
0 MiniMuk
 
15.04.19
14:02
Добрый день.
Попала в руки база файловая Бухгалтерия предприятия, редакция 3.0 (3.0.64.54)
Архива нет. Из известного погибла при попытке обновиться.
При запуске пишет


Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call:
по причине:
Ошибка SDBL:
В схеме базы данных нет таблицы с именем Const30015


chdbfl ошибок не находит
ТИИ  с галкой Реиндексация таблиц информационной базы база вылетает
Tool_1cd
проверка состава таблиц не находит 2 таблиц _DataSeparationUse1229 и _DataSeparationUse1230

Что можно сделать для восстановление данных с базы.
Есть вариант поднят пустую базу этой версии выгрузить сф и залить в эту конфу.
Если не поможет
18 ЧессМастер
 
15.04.19
16:12
(17) У тебя база в режиме Предприятия открывается ?
19 MiniMuk
 
15.04.19
16:15
(18) Нет, только в режиме конфигуратора
20 MiniMuk
 
15.04.19
16:16
(15) что читать чтобы понять dbshema
21 Ёпрст
 
15.04.19
16:16
(17) научу за 15к руб
22 MiniMuk
 
15.04.19
16:17
(21) 5?
23 Nyoko
 
15.04.19
16:17
Восстановлю за 4999 ))
24 Ёпрст
 
15.04.19
16:17
(20) чего там читать то ? Там просто связ ид метаданных и ид табличек с данными. усё
25 MiniMuk
 
15.04.19
16:20
сначала надо получить рабочую базу с текущими именами таблиц, правильно понимаю?
26 Ёпрст
 
15.04.19
16:23
(25) нет
27 Ёпрст
 
15.04.19
16:25
нужно или метаданные привести к табличкам базы, или таблички базы привести к метаданным.
У вас сейчас, в метаданных есть константа, в схема данных её нет.
Тут надо смотреть, есть ли сама табличка с данными, если её нет, то просто поправить cf-ник, если есть, поправить схему.
28 MiniMuk
 
15.04.19
16:31
(27) вот это я понимаю, такое ни разу не делал, хочется для понимания разобраться
29 MiniMuk
 
15.04.19
16:33
Изначально думал поднять из сф новую базу  и воспользоваться ПолучитьСтруктуруХраненияБазыДанных()
30 MiniMuk
 
15.04.19
16:35
(26) благодярая вам удалось сформулировать запрос в гугл и найти тут https://1c-predpriyatie-qlik.ivan-shamaev.ru/kak-prosmotret-strukturu-bazy-dannyh-1s-predpriyatie-1cv8-1cd/ вроде можно получить структуру и так.
хм. Странно,нашел tools_1cd версии 0.3 и 0.4 во второй отсутвует закладка дополнительно
31 МихаилМ
 
15.04.19
16:39
(17) на этом форуме достаточно тем , что бы научиться восстанавливать базы 1с8
32 MiniMuk
 
15.04.19
16:45
(31) Спасибо, не сомневаюсь. Вопрос только в том чтобы найти нужную. Да ищу, параллельно пробую спрашивать.
33 Ёпрст
 
15.04.19
16:56
(29) зачем ? Там будут абсолютно НОВЫЕ идентификаторы базы данных.
34 ЧессМастер
 
15.04.19
16:59
(32) Тебе нужно попробовать с помощью Tool_1CD удалить таблицу CONFIGSAVE
По всей видимости твоя база упала в момент реструктуризации.

То есть таблица CONFIG должна быть живая.
35 MiniMuk
 
15.04.19
16:59
(33) это я уже понял
36 ЧессМастер
 
15.04.19
17:00
(29) >Изначально думал поднять из сф новую базу  и воспользоваться ПолучитьСтруктуруХраненияБазыДанных()

В базах даже с одинаковой конфигурацией будут разные идентификаторы.

То есть ПолучитьСтруктуруХраненияБазыДанных() даст разные данные.
37 MiniMuk
 
15.04.19
17:00
(34) ее совсем удалить или данные из нее?
38 ЧессМастер
 
15.04.19
17:01
(37) Да удаляй полностью.
39 ЧессМастер
 
15.04.19
17:03
(37) Тьфу конечно же просто очистить.
40 МихаилМ
 
15.04.19
17:06
выгрузите с помощью тулсиди данные и загрузите в новую . обработки загрузки есть на ис.
41 MiniMuk
 
15.04.19
17:07
там рядышком есть интересная табличка DBSCHEMA
примерно с таким содержанием
{0,
{4059,
{"AccRgOpt1226","N",1226,"",
{10,
{"RegID",0,
{1,
{"B",16,0,"",0}
},"",0},
{"Period",0,
{1,
{"T",0,0,"",0}
},"",0},
{"ActualPeriod",0,
{1,
{"L",0,0,"",0}
...
как это читать?
42 Ёпрст
 
15.04.19
17:09
(41) а что там не понятного ? :)
43 Ёпрст
 
15.04.19
17:10
описание таблички итогов буховских..
44 ЧессМастер
 
15.04.19
17:10
(42) Ключевой вопрос по DBSCHEMA - как исправлять в ней ошибки
45 Ёпрст
 
15.04.19
17:11
ну и дальше, всех табличек вашей базы.
46 ЧессМастер
 
15.04.19
17:11
(42) Ошибки типа
"В схеме базы данных нет таблицы с именем Const30015 "
47 Ёпрст
 
15.04.19
17:12
(46) добавить описание в схему, вестимо.
48 MiniMuk
 
15.04.19
17:17
это та самая схема в которой нет моей константы? как понять формат этого чтобы корректно внести данные?
таблица _CONST30015 в файле присутвует
(39) таблица CONFIGSAVE  пуста, это как я понимаю копия конфигурации которую надо будет применить
49 Nyoko
 
15.04.19
17:17
а что Тул1с теперь и править данные умеет ? вроде только на просмотр был ? поделитесь ссылкой ???
50 MiniMuk
 
15.04.19
17:18
там есть импорт экспорт таблиц
51 Nyoko
 
15.04.19
17:19
(50) а импорт куда делаешь ?
52 ЧессМастер
 
15.04.19
17:19
(47) Пример как такое делать есть ?


У меня пару месяцев назад был подобный вопрос с базой.

Тоже ругалось на отсутствие в схеме базы данных.

Я не нашел способ редактировать DBSCHEMA и решил задачу выгрузкой данных через XML.
53 Nyoko
 
15.04.19
17:21
ладно, удачи! ..
54 MiniMuk
 
15.04.19
17:22
(53) спасибо
(52) вот это я выясняю
55 ЧессМастер
 
15.04.19
17:23
(49) Редактировать позволяет Tool_1CD alpha
56 ЧессМастер
 
15.04.19
17:25
(51) Если нужно и не найдешь стукнись на мыло. Мыло в профиле. Сброшу.

Я не помню уже где скачивал.
57 MiniMuk
 
15.04.19
17:28
0.3.1 альфа есть , мне бы понять как схему разобрать
58 Nyoko
 
15.04.19
17:37
(57) _CONST30015 переименуй в CONST30015 и будет тебе счастье .
59 Ёпрст
 
15.04.19
17:38
(57) это обычный текст, не надо его разбирать
При желании, можно в json конвертнуть или в xml.. только, не за чем
60 Nyoko
 
15.04.19
17:41
в древности колдовали выгрузкой загрузкой dt еще ...
61 MiniMuk
 
15.04.19
17:44
(60) не выгружается падает с ошибкой
(58)  у меня все таблицы тулс показывает начинаются с _
62 Ёпрст
 
15.04.19
17:58
как надоест играться, выложи 1cd на файлопомойку и ссылку сюда
63 MiniMuk
 
15.04.19
18:05
да выложить то могу, мне хочеться еще и разобраться  как это чиниться
64 MiniMuk
 
15.04.19
18:13
Выгрузил я таблицу дбхему открыл в нотепад
Есть у меня идентичная по структуре(полям длинне размеру) константа
{"Const21517","N",21517,"",
{3,
{"Fld21518",0,
{1,
{"L",И  ъ 0,0,"",0}
},"",0},
{"Fld1174",0,
{1,
{"N",7,0,"",0}
},"",0},
{"RecordKey",0,
{1,
{"B",1,0,"",0}
},"",0}
},
{0},
{1,
{"ByKey",1,
{1,"RecordKey"},1,0,0}
},1,"S",
{1,
{
{1,"Fld1174"}
}
},
{1,
{
{1,"Fld1174"}
}
},"",0,0},
{"ConsЙ  ъ t21520","N",21520,"",
{3,
{"Fld21521",0,
{1,
{"R",0,0,"Enum1151",3}
},"",0},
{"Fld1174",0,
{1,
{"N",7,0,"",0}
},"",0},
{"RecordKey",0,
{1,
{"B",1,0,"",0}
},"",0}
},
{0},
{1,
{"ByKey",1,
{1,"RecordKey"},1,0,0}
},1,"S",
{1,
{
{1,"К  ъ Fld1174"}
}
},
{1,
{
{1,"Fld1174"}
}
},"",0,0}
по идее надо имена полей и таблицы поменять и запихать обратно
65 МихаилМ
 
15.04.19
18:16
(64)
вам дбсхема не нужна. нажна dbnames
66 Ёпрст
 
15.04.19
20:59
ого, даже на нимфостарте кто-то продает решение
http://catalog.mista.ru/public/1018320/
67 МихаилМ
 
15.04.19
21:26
(66) это развод, тк при удалении DBSchema 1с ее восстанавливает.
68 Ёпрст
 
16.04.19
00:54
(67) в файловой ? Не, не восстанавливает
69 МихаилМ
 
16.04.19
03:13
(68) да. не восстанавливает.проверил на 1с8.2. но как-то мне удалось восстановить DBSchema без моего участия. может подменой похожего или пустого  и реструктуризацией....

извините.
70 МихаилМ
 
16.04.19
03:14
+(69)проверил путем переименования DBSchema.
71 ЧессМастер
 
16.04.19
10:51
Коллеги, а почему автор не хочет очистить таблицу CONFIGSAVE и просто вернуться к той конфигурации которая была ?
72 МихаилМ
 
16.04.19
11:22
(71)архива с конфой-донором нет.но если типовая то  конфу-донора можно сгенерировать.возвожно- это самое простое решение. очистка CONFIGSAVE не поможет.  произошло рассогласование метаданных и структуры бд или таблицы проекции метаданных в структуру бд
,кот. хранится в записи dbnames из таблицы params
73 MiniMuk
 
16.04.19
12:08
я вернулся
CONFIGSAVE  пуста если я правильно воспринимаю то что показывает тоолссд
конфа к радости вроде как полностью типовая, как минимум у меня

(72) > кот. хранится в записи dbnames из таблицы params> очень спасибо все пытался найти и понять что это за таблица про нее пишут а ее я не вижу
  произошло рассогласование метаданных и структуры бд или таблицы проекции метаданных в структуру бд
пока не совсем понимаю в чем различие, правильно ли я понимаю что сами метаданные это то что хранится в таблице CONFIG
структура бд это то что храниться в DBSCHEMA а проекция это то что в храниться в dbnames  и dbnames  должно соответвовать DBSCHEMA ?
74 МихаилМ
 
16.04.19
14:12
(73)

нет. не правильно понимаете . в  DBSCHEMA хранятся соответствия типов 1с и бд . и естественно DBSCHEMA должна соответствовать  dbnames  .но все , о чем я питсал относится к 1с8.2 . в 1с8.3 может быть по-другому.
75 ЧессМастер
 
16.04.19
14:22
(72) >если типовая то  конфу-донора можно сгенерировать

А разве это не приведет к тому же что и создание новой базы с такой же конфой но при этом у объектов будут другие индентиффикаторы ?
76 ЧессМастер
 
16.04.19
14:24
(0) А как ты с этой базой столкнулся ? Может все таки есть какие то бэкапы.

Это какое то реальное безумие обновлять базу при полном отсутствии бэкапов.
77 МихаилМ
 
16.04.19
14:50
(75) структура бд в новой базе  может быть другой. задача - привести в соответствие  метаданные  , dbnames  и структуру бд. поскольку тулсиди умеет выгружать-загружать конфигурацию замена конфигурации- более простая операция для файловой базы чем редактирование dbnames  или изменение структуры бд.
78 МихаилМ
 
16.04.19
14:53
+(75) а для серверной бд проще изменить структуру бд. и на последнем месте - правка dbnames  и DBSCHEMA
79 Ёпрст
 
16.04.19
16:23
80 ЧессМастер
 
16.04.19
18:50
(79) Хороший был человек. Светлая память!
81 MiniMuk
 
17.04.19
16:24
Немного разобрался как свзяаны талицы. нашел свою константу в DBNames. Может ктото подскажет как ее отредактировать?
82 МихаилМ
 
17.04.19
16:50
(81 )тулсиди вроде умеет выгружать- загружать таблицы. выгрузите парамс отредактируйте запись DBNames. загрузите обратно. если в DBNames будет абракадебра - то разожмите-сожмите ее c помощью v8unpack
83 Ёпрст
 
17.04.19
17:33
(81) смысл такой: у тебя есть константа в конфиг, есть в нэмес, есть сама табличка от контстанты, а вот в дбсхема нет записи о этой табличке и её полях. И править нужно схему. Добавив в неё описание таблицы и всех полей.
84 MiniMuk
 
17.04.19
17:50
(83) Спасибо, это я понимаю. Описание таблицы нашел в dbnames  вижу что ее нет dbschema  вот только ручками править я пока не умею
еще прочитал (http://catalog.mista.ru/public/187832/) в описании (Поле ввода «Файл соответствия номеров» и кнопка «Замена TREF») что можно данные загрузить в таблицы, данные миную структуру. Если я правильно понял я в тул сди выгружаю сф, делаю из него новую базу и загружаю данные, вот только как соответсвие номеров сделать я пока не поинмаю
85 MiniMuk
 
17.04.19
17:52
вот выгрузил данные таблицы парамс через толсди, файл блоб с данными  выглядит совсем страшно (http://joxi.ru/82Qx9RECwdqKkm) сейчас попробую по совету (82) воспользоваться  v8unpack пока ее нашел
86 MiniMuk
 
17.04.19
17:53
пока нашел тут https://helpf.pro/files/view/63.html пишут   Утилита работает только с файлами CF и EPF для платформы 8.1
вот то ли я нашел
87 Ёпрст
 
17.04.19
18:01
(85) да уж.. выгружать нужно не всю таблицу, а только dbnames..только зачем ?
88 Ёпрст
 
17.04.19
18:02
там нажимаешь на карандаш и внизу можно сохранить/загрузить целиком image
89 MiniMuk
 
17.04.19
18:08
а как потом корректно ее загрузить?
90 Ёпрст
 
17.04.19
18:09
так же, карандаш - загрузить
91 MiniMuk
 
17.04.19
18:10
по сути у меня нет записи о константе (пока известно только о ней) в DBSCHEMA  по сути надо править ее и добваить корректную запись о таблице с константой
или попробовать удалить ее из таблицы dbnames
92 MiniMuk
 
17.04.19
18:13
(90) благодарю проглядел. я вставал не поле имаж(колонка бинаридата) и жал дискетку
93 Ёпрст
 
17.04.19
18:15
94 denfil
 
17.04.19
19:07
Мне как то попадалась база с такими симптомами, у меня сложилось впечатление что при обновлении базы записалась новая dbNames? а новая dbschema не записалась, поэтому и ругается и даже если если исправите проблему с этой конкретной константой, потом будет другая и еще другая константа, и а потом потом справочник итак далее. ДЛя исправления этого надо ручками прописать dbschema для новых и измененных объектов, а задача эта достатчно муторная. Либо проверить соответствие DBShema - dbNames? и все записи которых нет в DBShema удалить из dbNames. Затем что нибудь изменить в конфе чтобы пошел процесс реструктуризации.
Все это возможно сделать если перевести базу в SQL (у меня сработала выгрузка в dt/загрузка из dt), у меня сложилось мнение что  на файловой сделать это нельзя. Хотя я уже не помню, но в SQL легче переписывать эти файлы.
95 MiniMuk
 
17.04.19
19:10
сохранил DBNames удалил строку
{05c30f10-c7aa-4806-9f63-5ba24872f7be,"Const",30015},
загрузил
ошибка с константой осталась
96 MiniMuk
 
17.04.19
19:16
у меня не работает выгрузка в дт
:(
(94) ДЛя исправления этого надо ручками прописать dbschema для новых и измененных объектов, а задача эта достатчно муторная. как сформировать правильную схему?
Либо проверить соответствие DBShema - dbNames? да я пока вижу неторое количество новых констант. Как сопоставить пока не поинмаю только начинаю узучать

сди толс умеет вроде следующее, только как пока я не могу применить, по сути надо номер сопоставить с названиями с одной базе и другой и получить соответвие номеров вот как и поулчить  я бы тоже хотел понять.

Поле ввода «Файл соответствия номеров» и кнопка «Замена TREF»

Иногда в процессе восстановления возникает необходимость переноса таблиц из одной базы в другую базу с такой же конфигурацией, но с несовпадающей нумерацией в DBNames. Например, разрушена таблица в центральной базе, но нужная таблица есть в периферийной базе. Кроме того, что в таких базах не совпадают имена таблиц и полей, которую можно решить правкой файла описания таблицы, есть еще проблема несовпадения типов ссылок, которые хранятся в полях с окончанием "TREF". Подробности описаны в разделе "Структура информационной базы 1С". Данный инструмент позволяет произвести замену всех значений во всех таблицах базы в полях с окончанием TREF. Список замен должен содержаться в файле, выбираемом в поле ввода. Файл представляет собой текстовый файл. В каждой строке файла содержатся два числа, разделенных табуляцией. Второе число - заменяемое. Все поля, содержащие такое значение, заменяются на первое число строки.

Все замены производятся без изменения индексов в базе!
97 denfil
 
17.04.19
19:28
Самый простой путь, удаляйте все из DBNames на что ругается (напишите сравнение dbnames и dbshema). Так вы по сути вернетесь к базе до обновления. ТОлько для этого надо еще все конфиги вернуть к релизу до обновления (если это типовая база), то это легко. Если все сделаете верно, то  с вероятностью 95 % база снова запустится, и будет как до обновления.
98 MiniMuk
 
17.04.19
19:41
я не знаю с какого релиза обновлялись.
мне вот удаление конкреной константы не помогло. хотя не исключаю что к я уже чет напутал. ладно, завтра со свежей головой
99 Ёпрст
 
17.04.19
19:47
Из cf ника поднимаешь новую базу, из нее имеешь схему и наймес. Из твоей тоже имеешь схему и нэймес. Итого, имеешь 2 схемы и 2 нэймес. Далее нужно новую схему привести к старым ид- никам.. фирштейн? Это ежели объектов много и лень руками добавлять/править
100 jsmith82
 
17.04.19
19:56
сто
101 denfil
 
17.04.19
20:09
(99) Это муторный и ненадежный путь. Во прервых ГУИДЫ обектов (а у каждой таблицы, поля и индекса  таблицы свой ГУЙД) в теории могут пересекаться, и это надо контролировать. Во вторых это относительно просто вставить из одной DBSchema в другую записи по новой таблицы, если добавили новый реквизит в старую таблицу,изменили "индекировать". В общем если соберешь руками новый dbschema (при большом количестве изменений), то считай ты познал путь Буды. ПОэтому проще откатить dbnames, к тому же скорей всего новые таблицы еще не созданы.
102 denfil
 
17.04.19
20:12
(98) Номер релиза с какого обновлялись можно  узнать, если обновлялись один раз (а не через несколько cfu(cf),без промежуточного запуска в режиме предприятие). Надо узнать имя таблицы константы "номер релиза" и прочитать его.
103 ЧессМастер
 
19.04.19
20:36
(99) "Из cf ника поднимаешь новую базу, из нее имеешь схему и наймес"

При создании новой базы из CF у объектов будут другие идентификаторы.


У меня было на битой базе

Reference39    Справочник.ДолжностиОрганизаций
Reference40    Справочник.ДоходыБудущихПериодов
Reference41    Справочник.ДоходыЕСН

При создании новой базы из CF получалось

Reference39    Справочник.ДокументыРеализацииПолномочийНалоговыхОрганов
Reference40    Справочник.ДокументыУдостоверяющиеЛичность
Reference41    Справочник.ДолжностиОрганизаций
104 ЧессМастер
 
19.04.19
20:37
(102) Странно что у (0) вообще нет ни одного бэкапа. Обычно хоть один есть. Пусть и устаревшими данными.
105 Jackman
 
19.04.19
20:46
(0) Если типовая бухия, то чего нельзя попробовать загрузить конфигурацию из развернутой типовой?
106 ЧессМастер
 
22.04.19
17:06
(105) В разных базах даже с одной конфигурацией разные ГУИДы объектов.

Будет потеря данных.
107 Ёпрст
 
22.04.19
17:09
(103) дальше то читать не пробовал ?
108 Ёпрст
 
22.04.19
17:17
(105) у него конфа целая, схема только не обновилась
109 ЧессМастер
 
26.04.19
15:38
(107) "Из cf ника поднимаешь новую базу, из нее имеешь схему и наймес. Из твоей тоже имеешь схему и нэймес." Итого, имеешь 2 схемы и 2 нэймес."

"Далее нужно новую схему привести к старым ид- никам.. фирштейн? Это ежели объектов много и лень руками добавлять/править"

Вы предлагаете в случае

"
У меня было на битой базе

Reference39    Справочник.ДолжностиОрганизаций
Reference40    Справочник.ДоходыБудущихПериодов
Reference41    Справочник.ДоходыЕСН

При создании новой базы из CF получалось

Reference39    Справочник.ДокументыРеализацииПолномочийНалоговыхОрганов
Reference40    Справочник.ДокументыУдостоверяющиеЛичность
Reference41    Справочник.ДолжностиОрганизаций"

редактировать схему подгоняя ее под те идентификаторы которые были ?

То есть берем и в новой схеме меняем "Reference41    Справочник.ДолжностиОрганизаций"" на "Reference39    Справочник.ДолжностиОрганизаций"

Так ?
110 ЧессМастер
 
26.04.19
15:40
(0) Получилось решить проблему ?
111 Ёпрст
 
28.04.19
19:13
(109) да. Есть обработки для этого.
112 PR
 
28.04.19
19:32
(0) Я всегда всем своим клиентам с файловыми базами говорю две вещи:
1. Любой гав (моргнул свет, сбойнул диск, неправильно выключили комп) и считай, что база кирпич, только восстановление из бекапа
2. Бекап (файл 1cd, а не dt, конечно же) нихрена не гарантия, что у тебя есть рабочий бекап базы
Обычно при этом продолжают использовать файловый вариант только упоротые и те, кому в принципе база не сильно ценна

Сомневающимся в выборе добавляю несколько пунктов типа:
1. Возможность настройки автоматического бекапа по расписанию
2. Отсутствие полного доступа к файлу базы у любого пользователя с минимальнейшими правами
3. Отсутствие ограничения на размер базы в виде ограничения на максимальный размер таблицы

До разговоров о высоких материях типа скорости работы, параллельности и пр. обычно не доходит
113 ildary
 
29.04.19
10:01
(111) а как найти подобные обработки? По каким ключевым словам?
114 ЧессМастер
 
29.04.19
11:27
(111) Это интересно. А где такие обработки найти ?
115 Ёпрст
 
29.04.19
13:14
(113),(114) ну одна из таких в (66)
есть еще от andrewks, vde69 тоже вроде что-то писал.
+ на нимфостарте поискать готовые.
Я руками исправлял, мне лень кодить было ради пары объектов.
116 ЧессМастер
 
29.04.19
17:53
(115) "Я руками исправлял, мне лень кодить было ради пары объектов."

Там XML что ли ?
117 Ёпрст
 
04.05.19
08:40
(116) нет, но при желании можно преобразовать в xml/json.. Там аналогичная структура как и в 7.7 была. Та же структура компаунда.