Имя: Пароль:
1C
 
Файловая база упала
, ,
0 Raybek
 
18.02.11
07:41
Уважаемые форумчане, прошу вас о помощи. Файловая база 1С81 приказала долго жить. А к тому времени, когда она попала мне в руки, оказалось что бекапов никаких НЕТ (возможно, и не было). Ситуация такая. Платформа вылетает при попытке авторизации пользователя (начальное окошко логин/пароль), когда нажимаешь ОК (без разницы в каком режиме). По словам гл. Бухгалтера у пользователя (Бухгалтер) нет пароля. Chdbfl, COM, OLE, HEX-манипуляции и прочие танцы с бубном не помогают. Нужны данные базы, поэтому никакие утилиты не помогут (Tool_1CD, V8Unpack бессмысленны). Есть подозрение что, проблема именно в пользователе. Поскольку проблема практически неразрешима, может, кто подскажет, как грамотно можно обратиться в фирму 1С с данным вопросом, или поделится опытом, ссылками.  Вот линк (http://depositfiles.com/ru/files/e6g78ys7a) на базу, если понадобится. Заранее спасибо.
1 Volsh
 
18.02.11
07:46
Через конфигуратор тоже не заходит
2 Raybek
 
18.02.11
07:47
Вообще никак.
3 Mitriy
 
18.02.11
07:47
(0) про HEX-манипуляции можно подробнее?
4 Mitriy
 
18.02.11
07:48
(3) и сколько CD весит?
5 Raybek
 
18.02.11
07:49
Зачищал область пароля, затем самого пользователя. Проходил Chdbfl, она правила params. Толку ноль.
6 Raybek
 
18.02.11
07:50
115 метров.
7 Mitriy
 
18.02.11
07:51
(5) т.е., ты очищал таблицу юзеров и база совсем отказывалась запускаться? даже без пользователя?
8 Raybek
 
18.02.11
07:51
Слетала сразу, даже пользователя не предлагала выбрать.
9 Mitriy
 
18.02.11
07:55
(8) вроде 1С предлагает в таких случаях высылать базу им... я никогда не интересовался этой возможностью, поэтому не знаю подробностей, но само собой, должна быть подписка на ИТС... ну и не быстро это...
10 Raybek
 
18.02.11
07:58
Так, уже лучше. Подписка должна быть у владельца базы, или у обслуживающей фирмы?
11 Mitriy
 
18.02.11
08:03
(10) вообще у владельца... обслуживание клиентов без ИТС грубо не приветствуется...
12 Raybek
 
18.02.11
08:05
Хорошо, спасибо за помощь. Теперь понятно куда дальше копать. Спасибо большое.
13 Мыш
 
18.02.11
08:29
115 метров - это маловато. Какая конфигурация, была ли на поддержке?
14 Raybek
 
18.02.11
08:51
Конфигурация "Бухгалтерия для Казахстана", релиз 1.5.1.15. Я вытащил конфигурацию поставщика и сравнил с конфигурацией БД. Есть переделки. Вероятнее всего на поддержке с возможностью изменения.
15 Мыш
 
18.02.11
09:18
Эт я к тому, что в файле хранится три конфигурации. Поставщика, основная и БД. Под данные и индексы места мало остается. У меня был похожий случай. Разобрал файл, так оказалось что область данных полностью утеряна.
16 Mitriy
 
18.02.11
09:22
(14) ищи какие-нибудь бекапы, вдруг случайно выгружали, когда переделывали хотя бы...
17 Raybek
 
18.02.11
09:23
И как это вычислить, по весу базы минус суммарный вес всех конфигураций?
18 Mitriy
 
18.02.11
09:30
(17) суммарный вес всех конфигураций как раз примерно на то и тянет, что у тебя на данный момент...
19 Wobland
 
18.02.11
09:32
автор, постучись в аську, если не помогут. я недавно что-то похожее ковырял
20 Raybek
 
18.02.11
09:43
В сумме 138 метров. Парадокс?
21 Мыш
 
18.02.11
10:01
(20) Не, норм. Оно там жмется ещё.
22 MetaDon
 
18.02.11
10:09
(0) я вот не понимаю почему 1С не может встроить для тбухов
в файловые базу ОБЯЗАТЕЛЬНУЮ ежемесячную (как минимум) архивацию при открытии
23 Мыш
 
18.02.11
10:11
(22) Вы оффтопите, сударь. Мне тоже не нравится, что морозно на улице.
24 Mitriy
 
18.02.11
10:11
(22) в последней БСП это уже реализовано, скоро будет, значит, и в тех конфигурациях, которые на ней основаны... только, пользователь - он человек мудрый, все равно отключит, чтобы не мешало...
25 Raybek
 
18.02.11
10:21
Извините за оффтоп, никого не хотел обидеть. Так есть шансы, что там остались данные? И по поводу "Разобрал файл, так оказалось что область данных полностью утеряна", как это можно посмотреть?
26 Мыш
 
18.02.11
10:40
(25) Лично я вспоминал Дельфи и разбирался со структурой файла. Начал с этого: http://infostart.ru/public/19734/
Вроде бы есть готовые решения.
27 Raybek
 
18.02.11
10:49
Спасибо! Попробую разобраться.
28 awa15
 
20.02.11
03:18
(0) Держи свою базу
http://narod.yandex.ru/disk/5982585001/1Cv8.rar
29 Raybek
 
20.02.11
13:35
(28)
Как??? Да Вы - гений! или сами в 1С работаете? Поделитесь пожалуйста бесценным опытом! И че я там должен - процент куда скинуть от заказа?
30 awa15
 
20.02.11
14:35
(29) Нет, в 1С я не работаю.
А в базе просто отсутствовал индекс в таблице CONFIG. Я такое уже встречал - chdbfl просто удаляет испорченный индекс из таблицы, вместо того, чтобы восстановить его, а конфигуратор и предприятие жить без этого индекса никак не могут. В общем, 1С ССЗБ.
Если есть желание что-нить заплатить (это не обязательно) - стукнись в аську 197-009-285.
31 Raybek
 
20.02.11
14:41
(30) А поправили через ХЕКС-редактор? И как там найти эту таблицу CONFIG? Можно подробнее весь процесс - я думаю многим здесь будет интересно.

Насчет оплаты - завтра обрадую клиента. С суммы 50% скину - после определения суммы стукнусь в аську.

Еще раз ОГРОМНОЕ СПАСИБО:)
32 awa15
 
20.02.11
14:57
(31) Заходим в базу через Tool_1CD, в таблице CONFIG сразу бросается в глаза отсутствие индекса (по крайней мере, мне бросается). Выгружаем с помощью Tool_1CD конфигурацию в файл, загружаем эту конфигурацию в новую пустую базу, убеждаясь попутно, что сама конфигурация исправна. Далее, из новой базы выдираем индексы таблицы CONFIG и вставляем их в битую базу - это уже шаманство с HEX-редактором и недописанными функциями Tool_1CD. Собственно, всё. Повторить это, правда, я думаю, не многие смогут))
33 Raybek
 
20.02.11
15:08
(32) Мои аплодисменты
34 SssR
 
23.02.11
14:32
(32) такая же ерунда только нет индексов в таблице _CONFIGCHNGR_EXTPROPS - как их добавить?  - в конфигуратор войти не могу
35 vs1c
 
23.02.11
14:43
>>Далее, из новой базы выдираем индексы таблицы CONFIG и вставляем их в битую базу - это уже шаманство с HEX-редактором и недописанными функциями Tool_1CD. Собственно, всё. Повторить это, правда, я думаю, не многие смогут))
(32) Ну чего сразу не смогут. У меня все проще - программка, которая этот самый ремонт и делает.
36 disk-2008
 
23.02.11
14:43
(32)Да, повторить сложно.
37 disk-2008
 
23.02.11
14:44
(35)А что за програмка? Для тех, кому сложно повторить :)
38 vs1c
 
23.02.11
14:49
(37) Поделка на С, написана на коленках с использованием инфы из (26) как бог на душу положил, за час. Уже пару баз ею восстановил.
39 SssR
 
23.02.11
15:10
открыл в HEX-редакторе свой битый 1Cv8.1CD - не могу найти эту таблицу - или что я делаю не так ?
40 vs1c
 
23.02.11
15:13
(39) почти все делаете не так. Прочитайте для начала  http://infostart.ru/public/19734/
41 awa15
 
23.02.11
15:28
(35) Я же не говорил, что никто не сможет. Собственно, я очень рад, что моя публикация о формате файла кому-то помогает!
42 vs1c
 
23.02.11
15:36
(41) Так это Ваша статейка... Еще как помогла, бухша у клиента столько на валерьянке сэкономила :). Спасибо, большое спасибо.
43 БибиГон
 
23.02.11
15:44
(32) загружаем эту конфигурацию в новую пустую базу, убеждаясь попутно, что сама конфигурация исправна. Далее, из новой базы выдираем индексы таблицы CONFIG и вставляем их в битую базу

т.е. в новой базе автоматом создаются индексы при загрузке cf?
44 awa15
 
23.02.11
15:58
(43) Конечно. Внутренний файл с индексами создаётся при создании новой базы. Загрузка cf - это просто импорт данных в таблицу CONFIGSAVE. Потом, при обновлении конфигурации базы данных, записи копируются из CONFIGSAVE в CONFIG. При этом 1С пишет правильные индексы, естественно.
45 SssR
 
23.02.11
15:59
(41), хелп ... в принципе структуру понял но не очень :( все равно не могу найти таблицу  _CONFIGCHNGR_EXTPROPS , reference всякие нахожу, а ее нет
46 SssR
 
23.02.11
16:00
(43) 1.при помощи утилиты Tool_1CD выгрузил основную конфигу 2ю подгрузил ее в чистую - запустил - то есть сам cf в норме вроде
47 SssR
 
23.02.11
16:01
потом сел и начал сравнивать в hex редакторе два этих 1Cv8.1CD - то я делаю ?
48 vs1c
 
23.02.11
16:03
(44) А вот у меня получилось немного по-другому. Отлетает собственно описание индекса таблицы CONFIG. Это всего 30 с небольшим байт (ну в UNICODE ~ 60). Вот их я и записал в битый 1CV8.1CD. Потом тестим Chdbfl и он эти самые индексы назад выкатывает. Вот только почему отлетает описание индекса - вопрос...
49 awa15
 
23.02.11
16:06
(47) Ты можешь выложить базу?
50 SssR
 
23.02.11
16:15
(49) ага,заливается, куда адрес скинуть ?
51 awa15
 
23.02.11
16:17
(48) Да, именно то же самое происходило и у Raybek. Отсутствие индекса именно в описании. Главное - это добавить в это описание запись
{"Indexes",
{"BYNAME",0,
{"FILENAME",128}
}
А вот, что на этом нужно остановиться, и просто запустить chdbfl - я и не думал)). Я полностью копировал индекс из новой базы.

(49) кинь на мыло 15awa(гав)mail.ru
52 SssR
 
23.02.11
16:24
(51) отправил
53 awa15
 
23.02.11
16:28
(52) Качаю, когда что-нибудь прояснится, сообщу.
54 awa15
 
23.02.11
18:56
(52) В общем, всё плохо.
Я так понимаю, что сбой произошел в момент конвертации базы с 8.1 на 8.2.
Версия самой базы 8.2 (8.2.0.0), версия конфигурации в таблице CONFIG - 8.1 (106.0).
Часть таблиц поименована по правилам 8.1, часть по правилам 8.2, но в DBSCHEMA все имена только 8.1
Т.е. конвертация базы упала где-то посередине. Поэтому ручное восстановление базы хоть до версии 8.1, хоть до версии 8.2 очень кропотливый и трудоемкий процесс.
Бэкапа, я так понимаю, нет? Сама 1С перед началом конвертации выдает предупреждение, что если произойдет аппаратный или программный сбой, то все пропадет, надо обязательно сделать бэкап.
55 vs1c
 
23.02.11
19:13
2(54) А база каких размеров, может выложите - вдруг кто мозги вправит?
56 awa15
 
23.02.11
19:19
(55) В запакованном виде 111 Мб. Выкладывать или нет для всех должен решать владелец базы, SssR.
57 vs1c
 
23.02.11
19:21
А и то верно. И что скажет владелец?
58 ICWiner
 
23.02.11
22:04
Пока проблем таких небыло, но я просто поражен awa15 Эта готовность потратить время и помочь совершенно незнакомому человеку приятно удивляет... "Респект и уважуха" :)
59 DarkWater
 
23.02.11
23:45
интересная тема. в закладки)
60 big
 
24.02.11
05:21
(59) присоединяюсь
61 SssR
 
24.02.11
08:08
Доброе всем утро! Всю ночь не спал предвидя ответ (54), если кто нить еще имеет опыт и может помочь могу выложить базу. Спасибо
62 sdaf
 
24.02.11
08:16
awa15 ты ЧЕЛОВЕК, из-за таких как ты я люблю свою родину
63 vs1c
 
24.02.11
08:46
vs1c(собака)mail.ru - так где пациент?
64 dss3
 
24.02.11
09:07
Эта тема мне интересна )
65 SssR
 
24.02.11
09:22
(63) отправил
66 vs1c
 
24.02.11
09:27
2(65) Ссылочку получил, качаю
67 shadow_sw
 
24.02.11
09:40
awa15 респект :)
68 Michael_p2004
 
24.02.11
09:42
*запомним*
69 vudo
 
24.02.11
09:42
Молодцы!!!
70 lion11
 
24.02.11
10:34
Может тему в базу знаний?
71 Chernlen
 
24.02.11
11:22
Тоже в закладку.
72 loh_pedalny
 
24.02.11
12:28
*отмечусь*
73 akronim
 
24.02.11
12:38
(70) Поддерживаю. По-моему, достойно
74 vs1c
 
28.02.11
09:30
Последние новости по тело из (61). Танец по восстановлению был шаманский, но в целом ничего сверхестественного. База поступила после отлета в процессе перехода с платформы 8.1 на 8.2.
   При попытке входа конфигуратором 8.1 - Ошибка при выполнении операции с информационной базой.Несовместимая версия файла базы данных 'F:\1Cv8.1CD' с кнопочками Ок-Подробно. В режиме Предприятие 8.1 - то же. chdbfl 8.1 - Несовместимая версия файла базы данных.
   Далее был Конфигуратор 8.2 - Ошибка СУБД Ошибка SQL: Таблица не найдена '_ConfigChangeRec_ExtProps' с кнопочками Завершить-Подробно-Перезапустить. Предприятие 8.2 - Структура конфигурации несовместима с текущей версией программы и Завершить-Перезапустить. chdbfl 8.2 - ошибок не нашел. После чего в режиме Предприятие - ошибка та же, что и была. А вот Конфигуратор 8.2 после авторизации на этот раз предложил провести конвертацию базы...после чего опять отвалился с той же ошибкой - Таблица не найдена...
   Короче - ни 8.1, ни 8.2 признавать эту базу за свою не хотели ни в какую. Как верно было замечено коллегами, анализ структуры конфигурации говорил о том, что не хватает индекса (точнее его описания). Однако если бы это было единственное отличие, то было бы полегче. Засада была в том, что отлетела база в тот момент, когда она наполовину уже была 8.2, но оставались еще и таблицы 8.1, именно из-за этого платформы так косились на эту базу. Попытки подсунуть нужное описание ни к чему не привели. Однако был еще с десяток разных идей и где-то на 6 дело сдвинулось. Пропущу подробности, изложу только пошаговые действия, которые и привели к сокрушительной победе над силами зла.
1. С помощью чудной программки Tool_1CD (спасибо awa) сохранил основную конфигурацию в cf-файл. Она оказалась 1.6.29.2 для 8.1
2. Загрузил этот cf в пустую базу 8.1
3. Сконвертировал все это добро на 8.2 и выгрузил опять в cf.
4. Программулькой на C изменил в "битом" файле всего 1 байт (версия), после чего chdbfl 8.1 признал его за своего и протестировал.
5. Зашел конфигуратором 8.1. Ну думаю все, ан нет - при запуске в Предприятие валится с ошибками (ишет таблицы которых нет, или что-то типа того).Тут я покопал про _ConfigChangeRec_ExtProps и благодаря статье http://help1c.com/faq/view/673.html (спасибо E_Migachev) выяснил, что это одна из системных таблиц, которую платформа создает, если в конфигурации определен хотя бы один план обмена с установленным флагом "Распределенная информационная база".Надо чтобы она ее не трогала - т.е. требуется изменить свойства планов обмена. Взглянув в конфу из п.2, выяснилось, что таких друзей всего 2 - Полный и ПоОрганизации.
7. Понятно, что для снятия флажков пришлось включить возможность изменения для конфигурации. Включил, снял, сохранил конфу. Однако при запуске в Предприятие - опять валится с теми же визгами про таблицы (какие-то регистры сведений, дальше копать не стал).
8. Ну раз так, думаю, то самое время конвертировать все это хозяйство на 8.2. Запустил Конфигуратор 8.2 - и он базу таки сконвертировал. После чего преспокойно запустился в режиме предприятия.
9. Загрузил (не объединением, а загрузкой) в эту конфу конфигурацию из файла (п.3) и после всех манипуляций получил финальный результат.
10. Для успокоения протестровал chdbfl и тестированием/исправлением конфигуратора - даже обидно, ни одной ошибки.

Вывод - архивы каждый день (для самых уверенных - каждый час)
75 Oleg_Kag
 
28.02.11
10:14
отметка
76 Fragster
 
гуру
28.02.11
10:21
не сделать бэкап перед конвертацией в несовместимый формат (и из которого обратно не сконвертировать) - это ж насколько себе врагом надо быть...
77 loh_pedalny
 
28.02.11
12:42
(74) аплодисменты!
78 Ahtung
 
05.03.11
13:14
Ошибка SQL: Таблица не найдена '_Reference54'. как можно добавить эту таблицу в базу?ошибка выскакивает в 1с предприятие при открытии справочника номенклатура и всех документов связанных с ним, в конфигураторе при ТиИ. chdbfl ошибок не видит.
79 big
 
05.03.11
18:39
(77) +1000
80 vs1c
 
05.03.11
19:06
Ну так давайте посмотрим и этого пациента, запись по адресу vs1c(собака)mail.ru
81 deskor
 
05.03.11
19:16
закладочка :)
82 reanimator
 
05.03.11
22:16
Да... Закладка и *браво* помощникам.