Не умею хорошо писать. Но думаю, информация может быть полезной кому-нибудь, кто столкнулся с похожей проблемой.
Описание ситуации:
База Бухгалтерия предприятия 3.0, файловая, не хочет обновлять базу, выдает ошибку:
"В процессе обновления информационной базы произошла критическая ошибка по причине:
Ошибка СУБД:
Ошибка SQL: Таблица не найдена ‘_Document349_VT9553’
по причине:
Ошибка SQL: Таблица не найдена ‘_Document349_VT9553’
Выгрузка базы данных в файл dt тоже выдает ошибка, но менее подробная ("Ошибка СУБД")
Тестирование и исправление отправляло конфигуратор в дамп.
Утилита chdbfl показывала "Ошибок не обнаружено"
Утилита tools_1cd, по команде "Проверка состава таблица" нашла такие ошибки:
Проверка состава таблиц завершена с ошибками, и список из трех таблиц: _VT9553, _DataSeparationUse18106, _DataSeparationUse16595
При этом:
- конфигурация была рабочая и пользователи в ней спокойно работали.
- архивов свежих не было, были месячной давности, но они делались методом копирования файла 1cd, и при анализе они оказались с такой же ошибкой.
- файл конфигурации удалось сохранить, а также удалось сохранить файл конфигурации поставщика.
- конфигурация позволяла открывать себя на платформе версии 8.3.8. Это было важно потому, что программа Tools1CD не работает с более старшими версиями (или у меня старая версия программы).
Проблему удалось решить с помощью утилиты Tools1C (Огромное спасибо ее создателю)
Далее список шагов, которые привели к успеху:
- Определил с помощью метода ПолучитьСтруктуруХраненияБазыДанных что это за таблица, на которое ругается программа. Оказалась эта таблица "Документ.ПоступлениеИзПереработки.ВозвратнаяТара"
Выяснил, что таких документов в базе нету вообще, и можно просто заменить эту таблицу пустой таблицей. - Выгрузил конфигурацию поставщика, и создал новую базу на основании этой конфигурации. Замечание. Установил используемую платформу 8.3.8 из-за проблем совместимости с tools1C
- С помощью метода ПолучитьСтруктуруХраненияБазыДанных нашел название нужной таблицы в новой базе.
Название оказалось совсем другим: "Document452.VT13246" - Открыл новую базу утилитой tools1C, нашел нужную таблицу и выгрузил ее в файл.
- Изменил название таблицы на название из старой базы
- В самой папке
- В файле descr
- Также поменял номер таблицы с 452 на 349 в полях ссылках, правда другие номера в ссылочных полях оставил такими, какие есть
- открыл старую базу утилитой tools1C, и нажал создать таблицу из файла
- После этого база позволила мне выгрузить ее в файл dt.
- Ну а после я ее перезагрузил из dt файла. И эта уже была полностью рабочая база.
ВЫВОДЫ:
- Не представляю, почему в файловой базе пропала таблица.
- Не ожидал, что так получится сделать. На решение проблемы наткнулся методом тыка, вернее увидел пункты в программе tools1C, и они навели меня на эту идею.
- Если у кого-то такая ошибка повторится, то может, мой опыт ему поможет.
Поскольку это не официальная утилита от 1с, и она не поддерживается, с выходом любой новой версии платформы может утратить актуальность.
Проще настроить ежедневный бекап и потом делай что хочешь!
А не пробовали кнопкой «Поиск и восстановление потерянных таблиц»
Кстати саму папку можно не переименовывать
(4) а где это указанно ?
Вопросы лицензирования, ответ 65.
Вопросы лицензирования, ответ 65.
Предприятие не имеет права использовать в работе средства, не описанные в документации фирмы 1с или производителей субд.
Формат файловой базы данных не описан в документации фирмы 1с.
(6) по моему вы немного не поняли суть данного ответа, там речь идет о построении системы , а не о восстановлении работоспособности текущей
(7) да это всё понятно, что есть лицензирование. Но 1С ведь не гарантирует сохранность данных «при любом раскладе». Поэтому этот инструмент и появился.
Есть ещё одно «но» — использование данного инструмента, конкретно в такой ситуации, не наносит вреда правообладателям платформы 1С.
Речь идет об использовании конфиденциальной информации, защищенной фирмой 1с.
Данная утилита использует расшифровку формата данных файловой базы. 1с не опубликовала этот формат даже для франчайзи. Следовательно существуют 3 законных способа.
1.установить пустую базу и восстановить учет вручную бухгалтерам.
2. Восстановление из бакапа
3. Выслать всю битую базу на хотлайн и ждать результатов.
Использование утилит из каталога Бин описано в документации и законно, но если это не помогает, то все.
Форматы других субд и их инструменты описаны производителями этих субд и их использование законно в случае разрушения базы данных на уровне субд.
(10)
2. Восстановление из бакапа
3. Выслать всю битую базу на хотлайн и ждать результатов.
за чей счет банкет? Вы же реально понимаете, что так не будет или я в другом мире живу?
Я не знаю в каком мире живете вы, но автор этой утилиты уже нет.
(6) спасибо за статью.
Восстановление базы данных как раз обратное от пункта 65!
Но там же написано изменение!
А восстановление, это как раз таки дыра, которая там опущена.
Поэтому можно условно считать, что не запрещено разрешено!
(12) так вот почему она не развивается, а функционал остался на уровне 2016 года.
Но кстати на ИС видел нового парня, который разобрался в бардаке 1С и что-то годное выпустил, но т.к. восстановлением практически не занимаюсь новостей не смотрел по этому поводу!
(12) за автора я знаю.
я не понимаю:
1. при чем здесь лицензирование.
2. какой вред от этого получает 1с.
3. как можно остановить работу предприятия, пока только 1с будет без гарантии восстанавливать данные (за архивы умолчим — этот вариант здесь не обсуждается);
(10) Особенно мне нравится вариант номер 3, предложенный Вами. Так и вижу, как мы отправили файл в 1С и все, включая генерального директора, дружно ждём 🙂
В нашей суровой российской реальности, особенно дальней глубинки, такой вариант относится скорее к разряду фэнтези.
Да мы вообще в сказке..
(3) Пробовал. Забыл написать в статье.
Не ругается, но и ничего не восстанавливает.
(2) Полностью согласен.
(6) Читаем пункт 71 в этом документе и понимаем, что половину инфостарта можно привлечь (((
(19) спасибо за статью. четко и понятно.
(7)
(2) в реальных условиях работы в крупной организации за день вводят сотни документов и заполняют-меняют тысячи реквизитов. потерять работу за день — это недопустимо. поэтому дневной бекап — это на самый крайний случай.
Пора фирме 1С выпустить системный инструментарий аналогичный этой классной утилите.
(25) в реальных условиях ставят сервер 1с и СУБД. Но это уже другая история
(23) только вы забыли, что утилита для файловой базы, а это обычно 1 бухгалтер, который не туда жмет кнопки и выдергивает ногой шнур из ПК=))
Даже из пустой бутылки можно выжать 40 капель.
Но вообще вы правы, ежедневных бакапов достаточно.
Разве что собраться и забросать хотлайн битыми базами.
Где вы берете эту утилиту для конфигураций , работающих под новыми версиями платформы? Гуглом я нашел только ту что работает для 8.3.9.
Где взять для 8.3.12 или 8.3.13?
(27) У меня тоже работает только со старыми версиями платформы. Выше писали, что данная утилита не развивается, наверно нет новых версий.
Разговоры в пользу бедных это святое (с)
Наверное больше никто не замахнулся.
В статье указаны названия используемых утилит «tools_1cd» и «Tools1C», а на скриншоте вообще видна «Tool_1CD». Это 3 разных утилиты или одна и та же ?
(27) На гитхабе поищите по строке tool1cd
(30) Tool_1CD. Остальное опечатки.
(27) (28) Тут важна не версия платформы 1с , а версия формата базы 8.2.14 или 8.3.8 ( как раз начиная с 8.3.8 поменялся формат баз) Можно работать и со старой версией этой утилиты , пока 1с поддерживает формат 8.2.14. Базу можно конвертировать ( утилита cnvdbfl) , но далеко не факт , что конвертация пройдёт без ошибок особенно в повреждённой базе, или размер страницы после конвертации не превысит допустимый размер 4К для формата 8.2.14. Есть утилита которая читает формат 8.3.8 , но не позволяет производить с ней различных действий , в силу особенностей этого формата , но через меню файл позволяет выгрузить файлы descr , data,index, blob , отдельно взятой таблицы , после их можно загрузить в формат 8.2.14 и снова переформатировать в 8.3.8 иначе данные будут не видны.
Отличная статья я пункт 71 так пусть фирма 1с выпустит аналогичную утилиту
я как то пару раз присылал любимой фирме битые файлы и догадайтесь какой ответ был от всеми уважаемой фирмЫ,
правильно а не пошли бы вы подальше используйте бэкап и так дальше,
только фирма уважаемая не понимает что из маленьких мошек ростет ее благосостояние.
ВООБЩЕМ САМАЯ НУЖНА УТИЛИТА В КРИТИЧЕСКОЙ СИТУАЦИИ
И НЕ ВСЕ ИМЕЮТ ВОЗМОЖНОСТЬ КУПИТЬ SQL (ЖАДНОСТЬ ЛЮБИМОЙ ФИРМЫ НЕ ПОЗВОЛЯЕТ НАЙТИ КАКОЙ ТО МИЗЕР В 100 КОСЫХ) И РАДОВАТЬСЯ ЖИЗНИ ОЧЕНЬ МНОГИЕ ИСПОЛЬЗУЮТ ФАЙЛОВЫЙ ВАРИАНТ
Вот не зря я говорю — надо бить линейкой по пальцам одноэсных программеров!
Утилита chdbfl.exe обязана справляться с такими неисправностями, раз новая структура
файловой базы держится в секрете, значит chdbfl должна иметь возможность восстанавливать правильную структуру файловой базы, во всяком случае — типовых конфигураций.
(0) А не пробовали просто удалить таб. часть в конфигураторе (раз уж там данных нет) и восстановить её из конфигурации поставщика?
Даже если конфигуратор при этом будет падать или ругаться на отсутствие таблицы, более правильным вариантом мне видится не восстановление таблицы из другой копии, а восстановление требуемой структуры для того (через Tools1CD), чтобы удалить ТЧ штатными средствами, а потом её восстановить так, как я предлагал в начале. Не забывайте, что помимо самих таблиц данных SDBL 1С при формировании запросов ориентируется ещё и на стандартные индексы (а индексы ТЧ, как я понял из описания, Вы переносить уже не стали), без них система вероятнее всего работать-то будет, но как говорится в старом анекдоте — «хреново».
P.S. Роман, не сочтите за оскорбление, понимаю, что это всё это от отсутствия информации, но Ваши действия напоминают действия терапевта, у которого с пациентом что-то не так, а он нашёл забытый хирургом скальпель и прочитал где-то, что в похожих случаях удаляют почку. Понимаете, каким бы хорошим в своём деле ни был терапевт, без базовых знаний хирурга и практики в хирургическом отделении из него может получиться хороший шаман, но никак не хирург. Совершенно не хотелось бы у Вас отбить желание писать статьи на ИС, но настоятельно рекомендую оформлять такие статьи в стиле «я попробовал, у меня что-то получилось, но это не инструкция к применению, а просто экспериментальная работа, поэтому действуйте на свой страх и риск». В противном случае создаётся впечатление экспертной статьи и многие начинающие специалисты могут посчитать Ваши «вольные измышления» как экспертное мнение и будут его применять направо и налево. Подобные статьи на самом деле очень полезные (даже если в них изначально присутствует некорректная информация), одна моя такая статья в своё время переросла в самый крупный ресурс Рунета по обсуждению проблем распределенных систем 1С. Но, повторюсь, статья не должна выглядеть как мнение эксперта!
(7) (22)
https://kb.1c.ru/articleView.jsp?id=18
https://kb.1c.ru/articleView.jsp?id=68
Вот тут поинтереснее информация (про неё знают лишь «староверы»):
(36)
Все это уже давно есть на ИТС 🙂
(37) Дайте, пожалуйста, ссылку или ключевые слова, по которым можно найти эту информацию.
Ато к kb от 1с у меня, например, доступа нет. А к ИТС — есть.
(35) Уже давно на Инфостарте есть описание формата 8.3.8 где показаны отличия от формата 8.2.14
chbbfl просто переносит данные которые может прочитать в новый файл а потом старый файл удаляет . об этом писал awa в статья про Tools_1cd , утилита полезная и позволяет исправлять ошибки, но далеко не все. И у меня было много случаев когда эта утилита не справлялась , но я сам восстанавливал базы с помощью Tools_1cd или 1CD_Lib. И вообще считаю что одного инструмента мало , поэтому пользуюсь связкой этих утилит
(36)
Даже если конфигуратор при этом будет падать или ругаться на отсутствие таблицы, более правильным вариантом мне видится не восстановление таблицы из другой копии, а восстановление требуемой структуры для того (через Tools1CD), чтобы удалить ТЧ штатными средствами, а потом её восстановить так, как я предлагал в начале. Не забывайте, что помимо самих таблиц данных SDBL 1С при формировании запросов ориентируется ещё и на стандартные индексы (а индексы ТЧ, как я понял из описания, Вы переносить уже не стали), без них система вероятнее всего работать-то будет, но как говорится в старом анекдоте — «хреново»
1) не факт что при таком подходе система даст произвести реструктуризацию (конечно не утверждаю точно , но есть вероятность что при реструктуризации система выкинет ошибку)
2) При экспорте таблиц с помощью утилиты выгружаются и файл индексов , ТС поменял только описание таблицы в файле descr что бы она соответствовала текущей базе , так же импорт невозможен если отсутствует файл индексов. поэтому индексы были перенесены.
(37) Да, Сергей, действительно перенесли многое на ИТС. Как эксперт-старовер дал линк на первоисточник… ))
Видимо с уходом Константина Рупасова из ТВКВ ресурс kb.1c.ru окончательно похоронили. Забавно, что отдельные статьи из этого раздела ИТС я в разное время читал, но никогда не обращал внимание на то, что в эту ветку скопировали все статьи с kb.1c.ru.
(38) Полная копия статей с kb.1c.ru на ИТС выложена вот тут:
Разработка и администрирование > Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8 > Администраторам
https://its.1c.ru/db/metod8dev#browse:13:-1:1981
Статьи «Размещение данных 1С:Предприятия 8», «Индексы таблиц базы данных». Ну и там ещё много «вкусненького и полезненького»…
(39) По идее, утилиту такого типа, как Tools_1cd должна была бы выпустить сама 1С, а не сторонние разработчики!
(36)
Спасибо. Да вы правы. Просто я попробовал, у меня получилось. Я в таком ключе и хотел написать.
По поводу индексов, да я их не восстанавливал. Но я выгрузил в dt файл, и загрузил заново. Они после этого заново должны создаться. Там еще пару таблиц не хватало, но они на выгрузке в dt не мешали.
По поводу идеи удалить таблицу из конфигуратора, это хорошая идея, я ее не попробовал.
(30) опечатки. Tool_1CD правильное название
(43) Ага , и продавать ее платно за $$
(31) спасибо
(46)Не, в комплекте с платформой, с тем же chdbfl.exe итак уже за всё дерут,
скоро организации будут работать не на прибыль себе а на оплату ИТС и сервисов 1С! 🙂
(48) да не будет этого , это очень сложный инструмент , очень трудно описать алгоритм работы с ним , chdbfl не требует никаких настроек , и то можно за раз убить базу , я думаю 1с на это не пойдёт . Да и продавать не будет , так как продаж будет очень мало , так как базы не летят каждый день плюс не факт что восстановление поможет. Так что своими силами , на свой страх и риск.
как и где можно скачать эту версию?
есть проблема с файловой бд. при обновлении базы данных,закончилось место на диске,и судя по словам пользователя,кто обновлял, 1с повисла и не отвечала,потом и вовсе закрылась. Теперь при запуске предприятия ,так же как и в конфигураторе, пишет «Ошибка считывания вторичной информации» . Платформа: 1С:Предприятие 8.3 (8.3.12.1790). Помогите,как быть,что делать?!
(51) Ошибка считывания вторичной информации
Обязательно АРХИВНАЯ КОПИЯ текущей базы. Все эксперименты проводить только на отдельной копии
Вариант 1.
Специалист должен был сделать копию перед обновление можно восстановится с нее
Вариант 2
Попробовать экспортировать таблицы Config и ConfigSave из базы нормального релиза который стоял до обновления
Вариант 3
многие пишут что помогает замена таблицы Params , но только надо понимать что эту таблицу должны экспортировать из архива этой же базы с тем же релизом !!! Если вы возьмете эту таблицу из другой базы то будет ошибка
(52) копии резервной нет,есть бд (из которой вырезались контрагенты для создания «битой базы») есть ли шанс,что ели взять из нее таблицы,о она заработает??
(53)
не очень понял эту фразу
Если выложите базу — готов посмотреть , но результат не гарантирую
(54) была база ,в ней было много контрагентов,была создана копия этой базы (которая впоследствии и упала) ,и удалены некоторые контрагенты и документы. есть ли шанс,что ели взять из нее таблицы,о она заработает??
(55) смотря как давно это было сделано , если пару дней назад то можно попробовать , если давно и было несколько обновлений то боюсь эта база мало чем поможет …. хотя некоторые системный таблицы можно у нее содрать
(56) как с вами связаться?можете в вайбер или ватсап написать мне?
(27) Посмотрите здесьhttps://github.com/e8tools/tool1cd
(25) совершенно не факт!
как Вам клиент с УНФ: файловая база 25гиг за 5 лет, 10 юзеров? колбасный цех.
правда лежит на сервере терминалов. сконфигурирован очень качественно на рейд-массиве.
(59) жалеют деньги на сервер? Или в чем не оправдано высокий риск такой работы?
Чтоб так не ковыряться, надо настраивать бэкапы каждодневные, утренние и вечерние
(7)
чукча даже не читатель, а перевиратель
в оригинале
(61)
знал бы куда падать,соломку подстелил
Не получается использовать эту поговорку к бекапам, заранее известно куда можно упасть 🙂
В похожей ситуации и после плясок с бубном помог последний банальный пункт ТИИ «Реструктуризация таблиц информационной базы» ))
Каждая поломка информационной базы индивидуальна и поэтому нет универсальных рецептов. В статье описана одна из удачных попыток. После подобного опыта все админы настраивают автоматические бэкапы или заставляют это делать местных админов.
Вообще для меня , файловые базы это своеобразный «конструктор» если знать определенные правила , то поврежденную базу можно Восстановить («Собрать») из нескольких рабочих баз (конечно результат восстановления не 100 % , но думаю, что в половине случаев даст положительный результат)
На втором скриншоте «Ошибка открытия импорта таблицы root». Как Вы ее победили?