Ошибка установки или изменения административных параметров информационной базы ibparams inf

«Национальные настройки информационной базы (ИБ) не соответствуют настройкам базы данных» — распространенная ошибка в работе систем 1С.

Для исправления советуют запустить Конфигуратор, однако и там при загрузке базы из dt-файла (файл, который можно получить при создании копии базы через Конфигуратор, с помощью которого можно восстановить копию базы) выскочила ошибка:

«Ошибка установки или изменения национальных настроек информационной базы»

по причине:

«Порядок сортировки не поддерживается базой данных».

ошибка национальных настроек 1С

ошибка национальных настроек в !С конфигураторе

Для базы-приемника проверяем настройки: «Администрирование -> Региональные установки информационной базы».

Региональные установки 1С

Для базы-источника проверяем настройки: загружаем dt-файл в новую пустую файловую базу, затем «Администрирование -> Региональные установки информационной базы».

Региональные установки информационной базы 1С

Как видим, настройки отличаются.

Решение

Для базы-приемника выставляем настройки, аналогичные базе-источнику, которая загружена из dt-файла.

Бывает так, что невозможно сменить региональные настройки базы-приемника.

Тогда приходится менять настройки в отдельной среде (другой сервер или другая СУБД, другая версия платформы 1С), в которой загружаем базу из dt-файла, меняем настройки на нужные, после чего выгружаем базу в dt-файл и загружаем в базу-приемник.

Бывает так, что невозможно загрузить dt-файл в файловую базу.

В таком случае придется либо уточнить региональные настройки у человека, который предоставил dt-файл, либо перебирать настройки -устанавливать и пробовать загрузку и т.д. до успеха.

Причина может быть в банальной смене свойства «Язык — Русский» в панели управления Windows -> «Язык и региональные стандарты».

Эта настройка может поменяться на, к примеру, «Русский — Молдова» (раскладка клавиатуры), и этого будет достаточно для того, чтобы произошел подобный сбой.

Как вариант профилактики:

— указать русский в качестве языка по умолчанию при установке платформы;

— запускать с ключом /Lru;

— прописать параметр запуска SystemLanguage=RU в конфигурационном файле conf.cfg;

— через конфигуратор настроить региональные установки информационной базы.

Я
   EveryAndrey

10.10.08 — 12:18

Нужна помощь в создании SQL ной базы.

поставил PostgeSQL — 8.1.5-14.1C  и платформа 8.1.11.67. Беру эти дистрибы с одного ИТС диска(т.е. предполагаю что они вполне совместимы)

Через оснастку управления кластерами добавляю новую информационную базу, устанавливаю язык Русский (Россия), нажимаю ок и получаю ошибку

«Ошибка установки или изменения национальных настроек информационной базы. Порядок сортировки не поддерживается базой данных.»

После еще одного нажатия на Ок, база все таки создается и уже выдается сообщение, что данная база зарегистрирована в списке баз кластера. Далее, захожиу черз 1С, выдает ошибку «Национальные настройки информационной базы не соответствуют настройкам базы данных. Зайдите через конфигуратор», пытаюсь зайти через конфигуратор, ошибка аналогичная.

Вообщем раньше пробовал дома перевести базу на Постгрес.. не получалось, поставил MS SQL Server 2005, все встало идеально. Сейчас такой фокус не пройдет :) На сервере все лицензионное, соответсвтенно Microsoft SQL Server никто не покупал :)

   MikhaNik

1 — 10.10.08 — 12:23

незнаю в чем проблема но думаю стоит обратить на 2 часть фразы ошибки

   EveryAndrey

2 — 10.10.08 — 12:31

(1)угу, переставляю постгрес.. на форуме вычитал что была така проблема у людей, решили перестановкой постгреса, вместо 14ой- 17ая.. но там платформа Линукс.. у меня все таки Сервер 2003й..

   Volari

3 — 10.10.08 — 12:34

При установке постгреса надо выбрать региональные установки помоему.

   EveryAndrey

4 — 10.10.08 — 12:44

(3) я не совсем разбираюсь в том что есть региональные установки..

на сколько я понял кодировку надо ставить UTF8, по тому что 1Сина по умолчанию в такой базы создает.. а вот нужно ли трогать локализацию? (По умолчанию буква С, есть возможность выбрать Russia)

   Volari

5 — 10.10.08 — 12:49

Попробуй, я не помню точно давно было.

   asp

6 — 10.10.08 — 12:49

порядок установки описан в V8AddDoc81.htm

   EveryAndrey

7 — 10.10.08 — 12:51

да уж, я наверно поспешил с вопросом..

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

  

lift

8 — 10.10.08 — 13:01

(0) похоже региональные настройки при установке постгре не Россия

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

  1. 08.10.2016, 11:51

    #21

    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    страница не найдена(( можно в личку?

    https://cloud.mail.ru/public/75ez/u6aSobo6f


  2. 14 пользователя(ей) сказали cпасибо:

    ago66 (29.11.2016), ak_rais (06.12.2016), AndyNP (10.10.2016), Gandalf (11.10.2016), ivann99 (15.10.2016), ksks11 (29.11.2016), readyo (15.11.2016), SAYMEN (02.03.2017), TAndrik (18.10.2016), Tanyutka (01.11.2016), valleha (12.11.2016), АрсенД (14.10.2016), Опарыш (19.10.2016), Пончик (10.10.2016)


  3. 10.10.2016, 15:21

    #22

    Пончик вне форума


    Гость форума


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Спасибо, полёт нормальный. Старая версия лекарства выдавала ошибку «формат файла ibparams.inf не совпадает с ожидаемым».


  4. 11.10.2016, 10:41

    #23

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    «полечить» UT83_11.3.1.115 не получается, выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено. тоже самое и с версией 11.2.3.177
    платформа 8.3.8.1964.


  5. 11.10.2016, 13:32

    #24

    Gandalf вне форума


    Пришел за помощью



  6. 16.10.2016, 14:17

    #25

    vladimir_limon вне форума


    Гость форума


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    а как запустить, дайте ликбез


  7. 16.10.2016, 20:12

    #26

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от vladimir_limon
    Посмотреть сообщение

    а как запустить, дайте ликбез

    Запуск
    delic <Полный путь к файлу 1Cv8.1CD>
    а так все в файле readme.txt описано


  8. 17.10.2016, 13:56

    #27

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от alexandr_ll
    Посмотреть сообщение

    Цитата Сообщение от alexandr_ll
    Посмотреть сообщение

    удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.44.140)
    не удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Управление торговлей, редакция 11.2 (11.2.3.177)
    Конфигурация: Управление торговлей, редакция 11 (11.3.1.115)
    Режим: Файловый (без сжатия)
    Приложение: Тонкий клиент
    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
    Вариант интерфейса: Версия 8.2

    выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено.
    Куда «копать»?


  9. 18.10.2016, 10:39

    #28

    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.44.140)
    не удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Управление торговлей, редакция 11.2 (11.2.3.177)
    Конфигурация: Управление торговлей, редакция 11 (11.3.1.115)
    Режим: Файловый (без сжатия)
    Приложение: Тонкий клиент
    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
    Вариант интерфейса: Версия 8.2

    выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено.
    Куда «копать»?

    Попробуйте это:
    https://cloud.mail.ru/public/LmNQ/mJ1vPDxAe
    Проверено
    для платформы 8.3.9.1818
    Конфигурации
    БП 3.0.44.164
    ЗУП 3.1.1.95
    ERP 2.2.1.115

    На УТ11 не проверял


  10. 9 пользователя(ей) сказали cпасибо:

    ago66 (29.11.2016), ak_rais (06.12.2016), ashro (13.12.2016), Egor5130 (19.11.2016), Hitcherius (25.11.2016), ksks11 (29.11.2016), readyo (15.11.2016), valleha (12.11.2016), АльбертИж (08.11.2016)


  11. 19.10.2016, 14:29

    #29

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    увы((
    спасибо за беспокойство)


  12. 19.10.2016, 18:10

    #30

    Опарыш вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    страница не найдена(( можно в личку?

    Я тоже только с 20-го раза скачал.


Похожие темы

  1. Ответов: 0

    Последнее сообщение: 12.03.2012, 10:20

Социальные закладки

Социальные закладки


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • [VIDEO] код Вкл.
  • HTML код Выкл.

Правила форума

Ошибка установки или изменения параметров журнала регистрации. Журнал транзакций для базы данных заполнен.

Описание ошибки:
Ошибка установки или изменения параметров журнала регистрации
Ошибка при выполнении файловой операции ‘v8srvr://server-f/1ceye/params/log.inf’
по причине:
Ошибка при выполнении файловой операции ‘v8srvr://server-f/1ceye/params/log.inf’
по причине:
Ошибка при выполнении файловой операции ‘log.inf’
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Журнал транзакций для базы данных «1C» заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы sys.databases
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=9002, line=1

Найденные решения:

Естественно, т.к. ошибка касается СУБД, то в данном примере вариант работы 1С — серверный (клиент-серверный)

1С 8 Ошибка СУБД: Microsoft SQL, HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=9002, line=11с 8 ошибка СУБД: Microsoft SQL Server Native Client 11.0, журнал транзакций для базы данных заполнен

В описании ошибки, если вчитаться в столь внушительны отчет, можно найти подсказку «Журнал транзакций для базы данных «1C» заполнен». Необходимо первым делом проверить наличие свободного места на диске, где размещены данные баз СУБД (чаще всего это Microsoft SQL или PostgreSQL, реже — Oracle Database или IBM DB2) и файлы журнала регистрации баз. По умолчанию — это будет один жесткий диск и первое, что нужно сделать — естественно высвободить свободное пространство, удалив лишние данные. Потом отдельно можно приступить к очистке кэша СУБД соответствующими встроенными инструментами. А так же уменьшить объем журнала регистрации базы 1С (определить, где находится файл журнала регистрации базы и уменьшить объем файла журнала регистрации).

Может оказаться так, что базы СУБД и файлы журнала регистрации могут находится на различных жеских дисках. Для этого соответственно, нужно проверить наличие свободного пространства на каждом из них. Пример ниже такой ситуации. Ошибка возникла для базы на СУБД Microsoft SQL. При этом файлы СУБД MS SQL хранятся на физическом диске «D», а файлы журнала регистрации 1С 8  на диске «C» (как это обычно по умолчанию и бывает, если при установке не указали иной физический диск). Не осталось места на диске «D».

1C 8, ошибка установки или изменения параметров журнала регистрации, ошибка СУБД Microsoft SQL, журнал транзакций для базы данных заполнен

В действителности файл <имя_базы_СУБД_log> занимал более 130 Гб — после чистки кэша СУБД он уменьшился в объеме.

1С 8 ошибка журнал транзакций для базы данных заполнен СУБД Microsoft SQL

При этом, как было отмечено, выше, файлы журнала регистрации находились, где и были установлены по умолчанию — на диске «C». Т.к. уже оставалось тоже незначительное свободное пространство — чуть больше 25 Гб, то так же был уменьшен журнал регистрации базы соответствующей базы 1С 8 (определить, где находится файл журнала регистрации базы и уменьшить объем файла журнала регистрации).

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

08-03-2020

Журавлев А.С.
(Сайт azhur-c.ru)

 Like 

#0
by medeup

Ошибка установки или изменения национальных настроек информационной базы Пользователь ИБ не идентифицирован Что делать? Сервер 1С 8.3.8, потом установил 8.2 все равно также

 Like 

#1
by medeup

Даже базу не могу запустить через конфигуратор, хотел хотя бы выгрузить ее

 Like 

#2
by medeup

Помоголо зайти: запрос: ALTER DATABASE “ИмяБд” COLLATE “НоваяКодировка”

Тэги:

Ответить:

Комментарии доступны только авторизированным пользователям

Регистрация

Похожие вопросы 1С

  • Необъяснимая ошибка метода «Записать()» или ошибка в ДНК?
  • УРБД: на половине периферийных баз невосст. ошибка БД код -4 ошибка I/O
  • PostgresQL. Ошибка установки или изменения национальных настроек информацио
  • Странная ошибка «ошибка формата потока» с вылетом из сеанса
  • Ошибка выполнения запроса «Ошибка при выполнении операции над данными: Ошибка SQL: Де
  • v7: Ошибка СУБД.Внутренняя ошибка dbeng 8
  • При отправке сообщения произошла ошибка : Общая ошибка MAPI
  • v8: Ошибка СУБД. Внутренняя ошибка компоненты DBENG8 при обмене данными
  • Ошибка при попытке выгрузить данные из УТ в БП. интересная необычная ошибка
  • Ошибка установки или изменения национальных настроек информационной базы
  • Ошибка при выгрузке базы: «Ошибка СУБД: out of memory for query result»
  • Ошибка при вызове web-сервиса 1C 8.3 (Внутренняя ошибка. Ошибка инициализации б)

В этой группе 1С

  • Новый продукт «Инструментальный пакет «1С:Интеграция 8»
  • Получение HTML по https протоколу
  • 1С 8.3 обновление не типовой конфигурации Розница 2.2.2.12 до 2.2.4.15
  • упп оприходование незавершенного производства налоговый учет какой счет
  • Как настроить в 1C Рознице 2.2 остаток товаров в РМК чтоб отображался?
  • Как получить аналоги в TecDoc?
  • не найдена таблица в запросе
  • Odata — ошибка при фильтрации по дате
  • sphinx сохранение результата запроса сразу в файл
  • Группы доступа партнеров и контрагентов
  • УПП. Партионный учет. Оприходование материалов из производства, стоимость.
  • 1C: Документооборот Вставка регистрационного штампа на каждую страницу документа
  • Закрытие счета 20 в бухгалтерии сельскохозяйственного предприятия
  • работа с Виалон — как получить список имеющихся отчетов
  • Проблема при обмене с ftp
  • УТ 11 Отчет по дебиторке в разрезе документов
  • Розница 2.2.4.15 — перестала запрашивать акцизную марку.
  • отвалилась таблица Params
  • Зависшие сеансы в кластере 1С
  • БСП: группы доступа к видам номенклатуры

в таблице params содержатся параметры информационной базы, в том числе «Национальные настройки информационной базы», возможно таблица побилась
в BinaryData есть строка filename:locale.inf, в которой должно быть указано {«ru_RU»,0,0,»»,-1,»»,»»,»»,»»,1}
если значение побилось, то исправь с помощью Hex или замени всю таблицу params из бекапа или демобазы (если конфигурация демобазы точно такая же)



1



«Национальные настройки информационной базы (ИБ) не соответствуют настройкам базы данных» — распространенная ошибка в работе систем 1С.

Для исправления советуют запустить Конфигуратор, однако и там при загрузке базы из dt-файла (файл, который можно получить при создании копии базы через Конфигуратор, с помощью которого можно восстановить копию базы) выскочила ошибка:

«Ошибка установки или изменения национальных настроек информационной базы»

по причине:

«Порядок сортировки не поддерживается базой данных».

ошибка национальных настроек 1С

ошибка национальных настроек в !С конфигураторе

Для базы-приемника проверяем настройки: «Администрирование -> Региональные установки информационной базы».

Региональные установки 1С

Для базы-источника проверяем настройки: загружаем dt-файл в новую пустую файловую базу, затем «Администрирование -> Региональные установки информационной базы».

Региональные установки информационной базы 1С

Как видим, настройки отличаются.

Решение

Для базы-приемника выставляем настройки, аналогичные базе-источнику, которая загружена из dt-файла.

Бывает так, что невозможно сменить региональные настройки базы-приемника.

Тогда приходится менять настройки в отдельной среде (другой сервер или другая СУБД, другая версия платформы 1С), в которой загружаем базу из dt-файла, меняем настройки на нужные, после чего выгружаем базу в dt-файл и загружаем в базу-приемник.

Бывает так, что невозможно загрузить dt-файл в файловую базу.

В таком случае придется либо уточнить региональные настройки у человека, который предоставил dt-файл, либо перебирать настройки -устанавливать и пробовать загрузку и т.д. до успеха.

Причина может быть в банальной смене свойства «Язык — Русский» в панели управления Windows -> «Язык и региональные стандарты».

Эта настройка может поменяться на, к примеру, «Русский — Молдова» (раскладка клавиатуры), и этого будет достаточно для того, чтобы произошел подобный сбой.

Как вариант профилактики:

— указать русский в качестве языка по умолчанию при установке платформы;

— запускать с ключом /Lru;

— прописать параметр запуска SystemLanguage=RU в конфигурационном файле conf.cfg;

— через конфигуратор настроить региональные установки информационной базы.

9 г. назад

Восстановление работоспособности разрушенной файловой базы.

Этап 0. Введение в проблематику.

С упрямой периодичностью на форумах по 1С появляются крики души «Помогите! Упала файловая база, бэкапов нет, что делать?». Лично я всегда при этом вспоминаю известную шутку «Админы делятся на два типа — тех, кто делает бэкапы, и тех, кто будет их делать». Но, отбросив шутки в сторону, постараемся серьёзно рассмотреть данную проблему, ведь ситуации бывают разные. Например, бэкапы делались на диск, на котором закончилось место, или бэкапы делались через выгрузку, и все такие выгрузки за последнее время оказались неработоспособны. К слову сказать, даже админы, считающие себя «бывалыми», прокалываются на подобных мелочах.

В качестве разминки, позвольте изложить несколько советов по правильной организации бэкапов файловых баз данных, несоблюдение которых может сыграть злую шутку:

1. Помимо настроенных автоматических ежедневных бэкапов, обязательно сделайте дополнительный бэкап перед такими критическими операциями, как обновление конфигурации, ТиИ, проверка базу с помощью chdbfl.exe и т.п.
2. Делайте бэкап архивированием (копированием) файла 1Cv8.1CD, либо комбинируйте копирование с выгрузкой в .dt. Ни в коем случае не ограничивайте бэкап только выгрузкой в .dt, ведь наличие некоторых ошибок в файле 1Cv8.1CD может привести к тому, что в выгрузке будет отсутствовать часть информации, либо выгрузку вообще невозможно будет загрузить. И если с 1Cv8.1CD можно «поколдовать» и попытаться выудить нужные данные, то в случае полностью отсутствующих данных уже ничего не сделаешь.
3. Процедуру создания бэкапа выполняйте в такой период, когда с базой не работают пользователи.
4. Периодически проверяйте наличие свободного места на устройстве, куда настроено автоматическое создание бэкапов.
5. Старайтесь размещать бэкапы не на том же компьютере, где расположена сама база, а на других компьютерах/хранилищах в локальной сети (например, если на компьютере испортится жёсткий диск, или проникнет вирус-шифровальщик, получим порушенные и базу, и бэкапы). Старайтесь также периодически размещать бэкапы на дополнительных (альтернативных) источниках, например, в облачном хранилище (dropbox, yandex disk и т.п.), или на флэшке.

Но что же делать, если самое страшное уже произошло, и база разрушилась, а рабочих бэкапов нет, или они очень старые?
Сразу оговорюсь, что не очень сложные случаи (например, когда база в режиме Предприятия работает нормально, а войти невозможно только в Конфигуратор, или наоборот, или проблема возникает только под определёнными пользователями) рассматривать не буду, т.к. в Интернете есть масса советов по решению подобных проблем — от очистки кэша и «перезаливки» конфигурации, до обновления версии платформы и выгрузки всех данных в чистую базу. Буду рассматривать самые сложные случаи, когда в базу невозможно зайти ни в режиме Предприятия, ни в режиме Конфигуратора ни под одним из пользователей. Симптомы при этом могут быть разные: 1С «зависает» при попытке войти в базу, либо выдаёт сообщения типа «Ошибка формата потока», «База данных полностью разрушена», «Файл базы данных поврежден», «При обновлении данных, после последней реструктуризации, произошла критическая ошибка», «Обнаружена незавершенная операция сохранения конфигурации», либо «падает» с сообщением об ошибке приложения от операционной системы.
image1.png

Первоначальные действия для диагностирования таких случаев должны быть такими:

1. Обязательно делаем самый первоначальный бэкап нашей проблемной базы (до любых манипуляций с ней) копированием/архивированием файла 1Cv8.1CD, и убираем его в надёжное место, дабы случайно не повредить.
2. Пробуем войти в базу под другими пользователями.
3. Полностью очищаем кэш 1С (это можно сделать, например, простым удалением базы из списка, и добавлением её в список вновь, либо использовать утилиты типа http://infostart.ru/public/90572/ , либо удалить вручную http://help1c.com/faq/view/1267.html ).
4. Пробуем перенести файл базы на другой компьютер, и войти в базу там.
5. Прибегаем к помощи утилиты chdbfl.exe из поставки 1С:Предприятие, с установленной галкой «Исправлять обнаруженные ошибки».
6. Ещё можно попробовать открыть базу на более свежих релизах 1С, например, если работали на 8.2.15, то можно попробовать на 8.2.17.
image2.png

Если все попытки ни к чему не привели, и мы можем констатировать факт, что база «мёртвая», то остаётся выбрать правильный вариант дальнейших действий. Вариант первый, банальный — отдать базу на ремонт специалисту — рассматривать не будем, здесь проблема из технической плоскости уходит в переговорно-финансовую. Вариант второй, нудный, длительный, и с сомнительным исходом — переслать базу в 1С, и ждать результата — тоже рассматривать не будем, хотите им воспользоваться — пожалуйста, но сильно надеяться на быстрое и положительное решение я бы не стал. Вариант третий — попробовать починить базу своими силами — как раз и является нашей темой.

Итак, Вы решили починить базу своими руками, и окунуться в самые дебри загадочного содержимого файла 1Cv8.1CD. Какие же полезные статьи и инструменты мы имеем на текущий день?

1. Перво-наперво советую ознакомиться со статьями уважаемого awa http://infostart.ru/public/19734/ и http://infostart.ru/public/187832/ , содержащими описание формата файловой базы данных .1CD. Крайне настоятельно рекомендую прочитать, осмыслить, и отложить в памяти. Ведь без ясного представления устройства базы заниматься её ремонтом весьма проблематично.
2. Ещё есть официальная информация о предназначении некоторых таблиц БД от 1С: http://1c-dn.com/library/data_structure_in_1c_enterprise_8/?SECTION_CODE=data_structure_in_1c_enterprise_8&print=Y (к сожалению, только анголязычная).
3. Неофициальная информация о таблицах и полях: http://main.1c-ei.ru/Home/help/objectdb/dbschema (русскоязычная и более развёрнутая)
4. Далее, есть прекрасная утилита Tool_1CD http://infostart.ru/public/19633/ , позволяющая визуально просмотреть и извлечь данные из файла .1CD в xml-файлы, а также сохранить конфигурацию БД, основную конфигурацию и конфигурацию поставщика. Если из рухнувшей базы нужно спасти только конфигурацию — то самым лёгким и простым вариантом является именно она. Выгруженные в xml-файлы данные частично можно подгрузить в другую базу при помощи разработки http://infostart.ru/public/143704/ , однако поддерживается только определённый перечень объектов.
5. Система восстановления баз 1С restoration-base-1c8: http://code.google.com/p/restoration-base-1c8/downloads/list . Является конфигурацией для 1С, позволяющей загрузить и редактировать в ручном режиме содержимое файловой базы. Загрузка базы происходит очень долго, следует запастить терпением. Считывает блоки, не опираясь на данные корневого объекта, поэтому, если имеем базу с полностью разрушенным корневым объектом, то может быть весьма полезна. Описание примера применения: http://infostart.ru/public/158034/
6. Компонента 1CDLib для прямого чтения/записи данных из файлов баз данных .1CD http://infostart.ru/public/166557/ Компонента для прямого чтения/записи данных из файлов баз данных .1CD — инструмент, позволяющий не только читать данные из файловой базы, но и записывать. Данная компонента позволяет применять к файловым базам многие имеющиеся на просторах Интернета советы по ремонту клиент-серверных баз (MS SQL, PostgreSQL и т.д.), например: http://www.gilev.ru/1c/81/restore/ , http://infostart.ru/public/116123/ . Поскольку является внешней компонентой для 1С, позволяет в 90% случаев ремонтировать базы при помощи написания определённого кода (скрипта) на языке 1С после проведения процедуры обследования, не прибегая к hex-редактору.
7. Hex-редактор HxD http://mh-nexus.de/en/hxd/ (на случай, если что-то надо посмотреть или подправить непосредственно и в ручном режиме). В принципе, можно использовать любой, но мне понравился этот.
image3.png

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

Этап 1. Обследование, определение проблемных мест.

Итак, перед нами «мёртвая» файловая база. Задача, которая стоит перед нами на текущий момент — всесторонне обследовать базу, составить максимально полный перечень проблемных мест (ошибок). Одной из распространённых ошибок у начинающих специалистов является следующая: они либо сразу и надолго «ныряют» в содержимое файла базы в hex-редакторе, пытаясь вручную разобраться в тоннах байт, что, естественно, через некоторое время вызывает эффект отторжения, либо, попробовав один какой-нибудь инструмент, и получив неудачу, выдают заключение: «База не подлежит ремонту». Лично я считаю, что к услугам hex-редактора нужно прибегать только в исключительных случаях, либо изредка, на минутку, например, чтобы своими глазами посмотреть содержимое, находящееся по определённому смещению.
А перечень инструментов и приёмов для получения информации о проблемных местах вообще довольно широк, причём даже сама платформа 1С предоставляет, как минимум, два штатных способа. Рассмотрим их поподробнее.

1. Утилита chdbfl.exe из поставки 1С:Предприятие. Запускаем её с установленной галкой «Исправлять обнаруженные ошибки».
image5.png
Сразу хочу оговориться, что на данном этапе эта утилита будет использоваться нами исключительно для диагностики, поэтому, даже если она и выдаст нам какой-то изменённый, якобы отремонтированный файл базы, мы не имеем на него каких-то видов, и просто «выкидываем». Однако, внимательно изучаем протокол работы и фиксируем перечень ошибок, найденных этой утилитой.
Например, «Поврежден заголовок файла базы данных» чаще всего означает просто некорректно записанную в нём длину файла в блоках, а не полное его разрушение (чтобы в этом убедиться, достаточно на пару секунд обратиться к hex-просмотрщику или редактору, если в начале файла сигнатура 1CDBMSV8 на месте, значит, проблема только в поле длины). «Повреждено содержимое внутреннего файла » означает, что в корневом объекте существуют «битые записи», с некорректными номерами блоков заголовков, либо с испорченными блоками заголовков. И так далее.

2. Технологический журнал (ТЖ) 1С:Предприятие. Прекрасная возможность узнать, на каком месте «спотыкается» платформа, если она «зависает», «падает», или выдаёт загадочное сообщение «Ошибка формата потока» (причём сама ошибка может быть где угодно, в любом из файлов системных таблиц). Закрываем все сеансы 1С, чтобы они нам не мешались, и настраиваем запись ТЖ. Для этого идём в папку «bin», где лежат исполняемые файлы текущей плафтормы «1cv8*.exe», находим там вложенную папку «conf», и создаём там файл настройки записи ТЖ «logcfg.xml» примерно следующего содержания (исходный текст файла настройки есть в прикреплённом архиве):
image4.png

Вместо «C:1cv8logs» можно указать любую существующую папку, куда будут писаться логи, но лучше создать новую, пустую, чтобы не было проблем с записью логов.
(Подробнее про настройку ТЖ можно почитать, например, здесь: http://help1c.com/faq/view/464.html )
Далее, запускаем нашу проблемную базу в режиме конфигуратора, дожидаемся вывода окошка с ошибкой, или краха приложения, и сразу же идём изучать содержимое записанного лога (он будет в файле «1cv8_PIDМеткаДаты.log»). На следующие события и ошибки не обращаем внимания (их наличие является нормальным):

Exception=NetDataExchangeException,Descr='server_addr=any:port_num descr=Ошибка сетевого доступа к серверу...
Exception=DatabaseException8,Descr="Отсутствует файл базы данных 'ПутьКБазе/1Cv8tmp.1CD'"
Файл не обнаружен 'SprScndInfo'

и некоторые другие.
Собственно, мы даже можем не увидеть там нужного нам сообщения об ошибке, но зато мы увидим, при работе с каким объектом (таблицей или внутренним файлом таблицы) происходит ошибка.
image1.png

1С:Предприятие начинает загрузку базы с чтения содержимого системных таблиц. Системными таблицами являются:
V8USERS — таблица с данными пользователей (для баз версий 8.2 и выше)
DBSCHEMA — схема (структура) БД
_USERSWORKHISTORY — история работы пользователей
_COMMONSETTINGS, _FRMDTSETTINGS, _REPSETTINGS, _REPVARSETTINGS, _SYSTEMSETTINGS — хранилища различных настроек
а также системные таблицы-каталоги:
PARAMS — содержит файлы с параметрами БД
FILES — содержит прочие системные (служебные) файлы
CONFIG — содержит файлы конфигурации БД. Здесь же, в файлах с названиями вида GUID.GUID хранятся конфигурации поставщика (отсутствие таковых является нормальной ситуацией, означающей, что либо конфигурация полностью совпадает с типовой (не включен режим изменения), либо она снята с поддержки, либо является самописной).
CONFIGSAVE — содержит файлы основной конфигурации. Отсутствие записей в ней является нормальной ситуацией, означающей, что основная конфигурация полностью совпадает с конфигурацией БД. Стоит отметить, что здесь могут содержаться не все файлы конфигурации, а только изменённые (отличающиеся от файлов конфигурации БД).
Системные таблицы-каталоги являются, по сути, аналогами каталога в обычной файловой системе, т.е. являются хранилищем некоторого набора файлов, и имеют следующие поля:
FILENAME — имя файла
CREATION/MODIFIED — дата создания/изменения
ATTRIBUTES — атрибуты
DATASIZE — размер файла
BINARYDATA — содержимое файла (двоичные данные)

В случае полного отсутствия какой-либо системной таблицы (не путать с наличием пустой таблицы) 1С при старте базы выдаст сообщение «База данных полностью разрушена».

Теперь мы понимаем, что записи в ТЖ типа

22:42.0169-1,DBV8DBEng,2,process=1cv8,Trans=0,Func=selectFileName,FileName=ibparams.inf
22:42.0170-3,DBV8DBEng,1,process=1cv8,Trans=0,Func=readFile,CatName=Params,FileName=ibparams.inf

означают чтение файла «ibparams.inf» из таблицы PARAMS.

Итак, анализируем файл лога. Например, если происходит «Ошибка формата потока», а в конце файла лога мы видим примерно следующее:

41:29.3460-1,DBV8DBEng,2,process=1cv8,Usr=Админ,Trans=0,Func=restoreObject,tableName=DBChanges
41:29.3900-439,DBV8DBEng,2,process=1cv8,Usr=Админ,Trans=0,Func=restoreObject,tableName=DBSchema
41:29.3901-443,SDBL,1,process=1cv8,Usr=Админ,Trans=0,Sdbl=GET NGENERATIONS
41:29.4060-19207,SESN,1,process=1cv8,Func=Attach,IB=ПутьКБазе,Nmb=2,ID=GUID
41:29.4061-19210,SESN,1,process=1cv8,Func=Finish,IB=ПутьКБазе,Nmb=2,ID=GUID

то можно заключить, что ошибка формата потока возникла при работе с содержимым таблицы «DBSchema», следовательно, содержимое этой таблицы нужно будет изучить поподробнее.
Ещё, если в наличии есть какой-нибудь старый бэкап, можно применить такой приём: записать ТЖ при его старте, и сравнить его с ТЖ при старте проблемной базы, чтобы понять, какими сообщениями об исключениях можно пренебречь, а также, какие этапы при старте проблемной базы проходят нормально, а до каких дело не доходит.
По окончании данной процедуры файл «logcfg.xml» можно переименовать, чтобы не засорять ненужными логами диск.

3. Открываем нашу базу при помощи утилиты Tool_1CD. Здесь мы можем просмотреть таблицы, а также их содержимое (данные записей), причём для системных таблиц (DBSCHEMA, PARAMS и т.д.) поддерживается автоматическая распаковка содержимого BLOB-полей, вплоть до показа содержимого упакованных контейнеров (в таблицах CONFIG и CONFIGSAVE). Наиболее пристальное внимание уделяем тем проблемным объектам, которые были нами найдены по результатам действий из пунктов 1 и 2, а также системным таблицам (хотя, зачастую список проблемных объектов, составленный по п. 1 и 2, ограничивается именно системными таблицами).
image2.png
При просмотре перечня таблиц смотрим, есть ли таблицы с окончаниями «OG» — их наличие означает, что крах базы произошёл при ТиИ или реструктуризации (в процессе выполнения этих операций 1С создаёт новые таблицы с такими окончаниями, куда пишутся данные реструктуризованных таблиц, затем исходная таблица удаляется, а новой назначается исходное имя). Также бывает полезно сравнить перечень таблиц с содержимым старого бэкапа (при его наличии, и при условии, что конфигурация не обновлялась, иначе состав таблиц, связанных с метаданными, конечно, будет различаться), это поможет выявить отсутствующие таблицы.
При просмотре таблицы CONFIG обращаем внимание, есть ли в ней файлы с окончаниями «.new» — их наличие означает, что крах базы произошёл при обновлении конфигурации БД.
Также утилита позволяет сохранить конфигурацию БД в cf-файл, что и рекомендуется сделать. Загружаем далее эту конфигурацию из файла в пустую базу, и пробуем запустить. Если всё запустилось успешно, значит, проблема нашей базы не в конфигурации.

4. Открываем базу при помощи компоненты 1CDLib. Информация из п. 3 в полной мере относится и к этому пункту, меняется только методика работы с файлом базы — посредством скриптов, использующих функции компоненты, с последующим анализом лог-файла и извлечённых данных.
Вашему вниманию представлены два скрипта (являющихся внешними обработками для режима управляемого приложения 1С:Предприятие 8.2, их можно запустить, например, из созданной пустой базы), с помощью которых можно произвести полуавтоматическое обследование проблемной базы:
Обработка «SaveAllTables.epf» позволяет сохранить данные всех таблиц в виде структуры вложенных папок и файлов в папке «Objects» (создаётся там же, где находится файл базы), и далее их можно изучать при помощи обычного файлового менеджера. Также, после сохранения всех таблиц, полезно изучить содержимое лога «logdb1cd.log» — туда выводятся сообщения об ошибках, которые произошли при извлечении таблиц. Если сообщения об ошибках в нём отсутствуют, то можно сказать, что физических ошибок в структуре хранения таблиц в файле базы нет, и проблемы уже либо в отсутствии каких-то таблиц, либо в их некорректном содержимом.
Обработка «ViewRecords.epf» позволяет просматривать записи таблиц и сохранять в файлы BLOB-данные (файлы создаются в папках с именами соответствующих таблиц), предназначена, в первую очередь, для полуавтоматического анализа содержимого системных таблиц (хотя с помощью неё можно просмотреть и другие таблицы). В случае ошибок при извлечении BLOB-данных, или при их распаковке (если содержимым BLOB-поля являются запакованные по алгоритму Deflate данные), выводятся соответствующие сообщения.
image3.png

5. Загрузка базы в систему восстановления баз 1С restoration-base-1c8. По состоянию дел на текущий момент, в данном продукте многие функции не реализованы, а некоторые, на мой взгляд, реализованы не совсем прозрачно. Кроме того, практически вся смысловая обработка данных происходит на стороне 1С, что далеко не лучшим образом сказывается на быстродействии. Например, у меня полная загрузка файла размером 230 Мб длилась около часа, за это время я уже всесторонне обследовал базу другими инструментами, и приступил к непосредственному ремонту. Окончания же загрузки файла размером 1,5 Гб я вообще не дождался — закончилось терпение. Ещё один нюанс: поскольку система является конфигурацией для 1С, то все данные исходной базы загружаются также в базу 1С, но оказываются они в табличной части одного справочника. Следовательно, даже не принимая во внимание скорость загрузки, в случае файловой базы не получится загрузить файл с исходной базой размером более 4 Гб (из-за ограничений формата). Тем не менее, проект является свободным, с открытым кодом, доступным для изменения и доработки, поэтому не могу не упомянуть про него.

Загрузив нашу базу в систему restoration-base-1c8, мы можем исследовать список таблиц:
image6.png
а также просмотреть и отредактировать данные любого блока во встроенном hex-редакторе:
image7.png
Просмотр записей таблиц, к сожалению, не реализован.

На этом наш список, а также сам этап обследования заканчивается. Аккуратно фиксируем и систематизируем всю собранную информацию, которую мы будем использовать далее, в процессе «лечения». Конкретные, наиболее типичные проблемные ситуации и способы их устранения будут рассмотрены в следующих разделах.

Файлы:
Обработки с поддержкой формата БД 8.3.8:
Обработки для обследования.zip

Этап 2. Лечим базу.

На данном этапе рассмотрим пути исправления различных ошибок в файловой БД при помощи скриптов, использующих возможности компоненты 1CDLib. (Под скриптом здесь понимается обработка 1С:Предприятие 8.2, загружающая указанную компоненту либо из макета, либо из файла на диске, и содержащая определённый код на встроенном языке 1С, с использованием функций компоненты. Пример такой обработки есть в публикации, посвящённой компоненте).

В общем виде, скрипт выглядит так:

    FileDB=Новый("AddIn.T1CDLib.DB1CD");
    FileDB.OpenLogFile(ИмяЛога);
    Состояние("Чтение структуры файла");
    FileDB.Open1CDFile(ИмяФайла);
    Состояние("Обработка файла");

    // здесь выполняем различные операции по лечению базы

    FileDB.CloseFile();
    FileDB.CloseLogFile();

    Состояние("");

В зависимости от списка проблем, составленного на этапе обследования, можно выполнить различные операции:
1. Если в заголовке базы указан неверный размер, то исправляем заголовок:

    FileDB.FixMainStreamHeader();

2. Если есть таблицы с некорректным размером одного или нескольких объектов (описание, записи, BLOB, индексы):

    FileDB.FixTableHeaders("TABNAME",Истина,Истина,Истина,Истина);

В моей практике бывали случаи, что chdbfl.exe при некорректном размере объектов какой-то таблицы не мог восстановить добрую половину данных этой таблицы, а вот после исправления размеров «терял» буквально пару-тройку записей, и это безо всякого изменения содержимого объектов такой таблицы.
3. Если есть некорректные записи в корневом объекте RootEntry:
Вывести содержимое корневого объекта в лог-файл можно так:

    FileDB.PrintRootEntry();

Удалить некорректную запись по индексу (нумерация — с 1) из корневого объекта:

FileDB.DeleteTableFromRootEntry(ИндексЗаписи);

Если содержимое какой-то потерянной таблицы нашлось в недрах файла БД (например, при помощи поиска в Hex-редакторе), но ссылка на неё отсутствует в корневом объекте, можно её добавить:

    FileDB.AddTableToRootEntry(ИндексБлокаЗаголовкаОписанияТаблицы);

Внимание: после манипуляций с корневым объектом нужно переоткрыть БД:

    FileDB.CloseFile();
    FileDB.Open1CDFile(ИмяФайла);

4. Если в перечне таблиц базы есть таблицы с окончаниями «OG», это означает, что база рухнула в процессе реструктуризации или ТиИ. В данном случае может помочь такая операция (удаление окончания из имени таблиц):

    ArrayPres=FileDB.GetTablesArray(Ложь);
    TablesArray=РазвернутьЗначение(ArrayPres);

    Для TabInd=1 По TablesArray.Count() Цикл
        TableInfo=TablesArray[TabInd-1];
        TableName=TableInfo.Name;
        Если ВРег(Прав(TableName,2))="OG" Тогда
            МасПереимТаб.Добавить(TableName);
        КонецЕсли;

    КонецЦикла;

    Состояние("Переименование таблиц");

    Для каждого ТекТаб из МасПереимТаб Цикл
        FileDB.RenameTable(ТекТаб,Лев(ТекТаб,СтрДлина(ТекТаб)-2));
    КонецЦикла;

Однако, надо понимать, что содержимое таких таблиц может не соответствовать текущей конфигурации БД. В случае ТиИ вероятность несоответствия невысока, а вот при прерванном обновлении может быть по-разному, но, в любом случае, попробовать стоит.

5. Если содержимое каких-то таблиц безвозвратно потеряно, но есть не очень старый бэкап, то можно восстановить данные этих таблиц по состоянию на дату бэкапа:

    МасПереносТаб=Новый Массив;
    МасПереносТаб.Добавить("Reference19");
    МасПереносТаб.Добавить("Document192");

    ПапкаБазы="ПутьКПроблемнойБазе";
    ПапкаБазыПред="ПутьКБазеИзБэкапа";
    ИмяФайла=ПапкаБазы+"1Cv8.1CD";
    ИмяФайлаПред=ПапкаБазыПред+"1Cv8.1CD";

    FileDB=Новый("AddIn.T1CDLib.DB1CD");
    Состояние("Чтение структуры файла");
    FileDB.Open1CDFile(ИмяФайла);

    FileDB2=Новый("AddIn.T1CDLib.DB1CD2");
    FileDB2.Open1CDFile(ИмяФайлаПред);

    Состояние("Перенос таблиц");

    Для каждого ТекТаб из МасПереносТаб Цикл
        TableName=ТекТаб;
        ПапкаТаб=ПапкаБазыПред+TableName+"";
        ВремКат=Новый Файл(ПапкаТаб);
        Если (НЕ ВремКат.Существует()) Тогда
            СоздатьКаталог(ПапкаТаб);
        КонецЕсли;

        FileNameDescription=ПапкаТаб+"Description";
        FileNameRecords=ПапкаТаб+"Records";
        FileNameBLOB=ПапкаТаб+"BLOB";
        FileNameIndexes=ПапкаТаб+"Indexes";

        FileDB2.SaveTableDataToFile(TableName,FileNameDescription,FileNameRecords,FileNameBLOB,FileNameIndexes);

        FileDB.LoadTableDataFromFile(TableName,FileNameDescription,FileNameRecords,FileNameBLOB,FileNameIndexes);
    КонецЦикла;

    FileDB.CloseFile();

    FileDB2.CloseFile();

Естественно, ссылки на элементы этих таблиц, созданные после бэкапа, будут «битыми», однако это всё же лучше, чем ничего.

Нумерация пунктов соответствует рекомендуемому порядку операций: т.е., сначала нужно исправить заголовки базы и таблиц, затем «разобраться» с корневым объектом, а затем уже приступать к манипуляциям с таблицами.

Также нужно помнить, что после всех проделанных манипуляций очеь полезно «шлифануть» базу утилитой chdbfl.exe с установленной галкой «Исправлять обнаруженные ошибки». Эта процедура перепакует данные всех таблиц, избавив их от мусора и удалённых записей, а также полностью перестроит индексы (а из-за «протухших» индексов база может по-прежнему не запускаться ни в одном из режимов, хотя сами данные могут быть уже восстановлены полностью).

В следующем разделе будут рассмотрены различные ситуации при наличии проблем в конфигурации (таблицах CONFIG и CONFIGSAVE).

Этап 3. Лечим конфигурацию.

Проблемы в таблицах конфигурации — одна из самых частых причин «падения» файловой БД. Последствия бывают как лёгкие (невозможность открытия определённых объектов в режиме Предприятия и/или Конфигуратора, обновления конфигурации), так и тяжёлые (невозможность открытия БД ни в режиме Предприятия, ни в режиме Конфигуратора).

Как мы помним, конфигурация хранится в двух таблицах: CONFIG — содержит файлы конфигурации БД, CONFIGSAVE — содержит файлы основной (сохранённой, редактируемой) конфигурации. Если на этапе обследования были выявлены проблемы в этих таблицах («битые» записи/файлы, существенно меньшее количество файлов по сравнению с типовой конфигурацией или конфигурацией из последнего бэкапа (это не касается таблицы CONFIGSAVE, т.к. для неё уменьшение количества записей может являться нормальной ситуацией, означающей, что изменения из основной конфигурации перенесли в конфигурацию БД), наличие файлов с окончаниями «.new» в имени, и пр.), то пора приступать к их лечению (для этого прибегнем к помощи компоненты 1CDLib).

Начнём с лёгкого — таблицы CONFIGSAVE. Поскольку утеря содержимого этой таблицы не очень страшна (будут лишь утеряны сохранённые, но не перенесённые в БД изменения конфигурации), то самым кардинальным способом является полная очистка содержимого данной таблицы:

    FileDB=Новый("AddIn.T1CDLib.DB1CD");
    Состояние("Чтение структуры файла");
    FileDB.Open1CDFile(ИмяФайла);

    FileDB.OpenTable(0,"CONFIGSAVE");
    FieldFileName="FILENAME";

    Состояние("Перебор записей");
    Рез=FileDB.MoveFirstRecord(0);
    Пока Рез Цикл
        Если НЕ FileDB.IsRecordDeleted(0) Тогда
            FileDB.DeleteRecord(0);
        КонецЕсли;

        Рез=FileDB.MoveNextRecord(0);
    КонецЦикла;

    FileDB.CloseFile();

В результате основная конфигурация будет приведена к конфигурации БД.

Также можно попытаться перенести данные этой таблицы из последнего бэкапа, но только в том случае, если с момента бэкапа изменения не переносились в конфигурацию БД. Хочется отметить, что вероятность наличия такого бэкапа ничтожно мала, но, всё-таки, отметим эту возможность.

Теперь перейдём к таблице CONFIG. Если содержимое этой таблицы сильно повреждено, пути восстановления следующие:
1.Если есть бэкап, с момента которого изменения в конфигурацию БД не вносились, или вносились незначительные изменения, не повлёкшие за собой реструктуризацию БД, то самый простой путь — перенести данные этой таблицы из бэкапа:

    МасПереносТаб=Новый Массив;
    МасПереносТаб.Добавить("CONFIG");

    ПапкаБазы="ПутьКПроблемнойБазе";
    ПапкаБазыПред="ПутьКБазеИзБэкапа";
    ИмяФайла=ПапкаБазы+"1Cv8.1CD";
    ИмяФайлаПред=ПапкаБазыПред+"1Cv8.1CD";

    FileDB=Новый("AddIn.T1CDLib.DB1CD");
    Состояние("Чтение структуры файла");
    FileDB.Open1CDFile(ИмяФайла);

    FileDB2=Новый("AddIn.T1CDLib.DB1CD2");
    FileDB2.Open1CDFile(ИмяФайлаПред);

    Состояние("Перенос таблиц");

    Для каждого ТекТаб из МасПереносТаб Цикл
        TableName=ТекТаб;
        ПапкаТаб=ПапкаБазыПред+TableName+"";
        ВремКат=Новый Файл(ПапкаТаб);
        Если (НЕ ВремКат.Существует()) Тогда
            СоздатьКаталог(ПапкаТаб);
        КонецЕсли;

        FileNameDescription=ПапкаТаб+"Description";
        FileNameRecords=ПапкаТаб+"Records";
        FileNameBLOB=ПапкаТаб+"BLOB";
        FileNameIndexes=ПапкаТаб+"Indexes";

        FileDB2.SaveTableDataToFile(TableName,FileNameDescription,FileNameRecords,FileNameBLOB,FileNameIndexes);

        FileDB.LoadTableDataFromFile(TableName,FileNameDescription,FileNameRecords,FileNameBLOB,FileNameIndexes);
    КонецЦикла;

    FileDB.CloseFile();

    FileDB2.CloseFile();

Естественно, конфигурация откатится на момент бэкапа, т.е., если за это время были внесены какие-то изменения в модули или макеты, то они будут утеряны.

2. Если конфигурация является полностью типовой, либо типовой с незначительными изменениями, не повлёкшими за собой реструктуризацию БД, и которыми можно пренебречь, то можно перенести конфигурацию из развёрнутой новой базы с типовой конфигурацией. Но здесь есть одна проблемка — как точно узнать нужный релиз, если база не открывается ни в одном режиме? Выход есть: открываем декомпрессированное содержимое файла «root» — там мы увидим GUID нужного нам файла (например, для БП 2.0 это «e0666db2-45d6-49b4-a200-061c6ba7d569»), далее открываем декомпрессированное содержимое этого файла — там, недалеко от начала файла, мы увидим название конфигурации, редакцию, название и копирайты разработчика, и, что самое важное, номер релиза.
Скрин1.png
Далее — дело техники, нужно найти нужный релиз типовой конфигурции и перенести содержимое таблицы CONFIG в нашу проблемную базу. (Извлечь содержимое таблицы CONFIG можно при помощи обработки ViewRecords.epf из 1. Обследование.)

3.Если база рухнула во время обновления конфигурации БД (характерным признаком этого является наличие файлов с окончаниями «.new» в имени), то может помочь вот такой скрипт (удаляет файлы с окончаниями «.new»):

    FileDB=Новый("AddIn.T1CDLib.DB1CD");
    Состояние("Чтение структуры файла");
    FileDB.Open1CDFile(ИмяФайла);

    FileDB.OpenTable(0,"CONFIG");
    FieldFileName="FILENAME";

    Состояние("Перебор записей");
    Рез=FileDB.MoveFirstRecord(0);
    Пока Рез Цикл
        Если НЕ FileDB.IsRecordDeleted(0) Тогда
            FileName=FileDB.ReadSimpleValue(0,FieldFileName);
            Если (Прав(FileName,4)=".new") Тогда
                FileDB.DeleteRecord(0);
            КонецЕсли;
        КонецЕсли;

        Рез=FileDB.MoveNextRecord(0);
    КонецЦикла;

    FileDB.CloseFile();

В данной статье приведены наиболее типичные скрипты. Путей восстановления конфигурации, конечно, намного больше, можно написать любой скрипт с использованием функций компоненты 1CDLib — переименование, удаление файлов по определённым условиям, перенос определённых файлов из другой базы, и т.д.
Например, рецепты восстановления клиент-серверных БД типа http://infostart.ru/public/138797/ (приведён рецепт лечения после неудачного динамического обновления) легко и непринуждённо можно применять и для файловых баз, причём безо всяких лазаний в дебрях файла БД с Hex-редакторами и прочими «напильниками».
Сравните, например, шаманские танцы с бубном в http://infostart.ru/public/154556/ , которые ещё и не всегда могут увенчаться успехом, и простенький скрипт

    FileDB.OpenTable(0,"CONFIG");
    FieldFileName="FILENAME";

    Состояние("Перебор записей");
    Рез=FileDB.MoveFirstRecord(0);
    Пока Рез Цикл
        Если НЕ FileDB.IsRecordDeleted(0) Тогда
            FileName=FileDB.ReadSimpleValue(0,FieldFileName);
            Если (FileName="сommit") ИЛИ (FileName="dbStruFinal") Тогда
                FileDB.DeleteRecord(0);
            КонецЕсли;
        КонецЕсли;

        Рез=FileDB.MoveNextRecord(0);
    КонецЦикла;


Надеюсь, что данная статья поможет Вам в восстановлении базы, но ещё лучше не забывать про ежедневные бэкапы.

  1. 08.10.2016, 11:51


    #21

    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    страница не найдена(( можно в личку?

    https://cloud.mail.ru/public/75ez/u6aSobo6f


  2. 14 пользователя(ей) сказали cпасибо:

    ago66 (29.11.2016), ak_rais (06.12.2016), AndyNP (10.10.2016), Gandalf (11.10.2016), ivann99 (15.10.2016), ksks11 (29.11.2016), readyo (15.11.2016), SAYMEN (02.03.2017), TAndrik (18.10.2016), Tanyutka (01.11.2016), valleha (12.11.2016), АрсенД (14.10.2016), Опарыш (19.10.2016), Пончик (10.10.2016)


  3. 10.10.2016, 15:21


    #22

    Пончик вне форума


    Гость форума


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Спасибо, полёт нормальный. Старая версия лекарства выдавала ошибку «формат файла ibparams.inf не совпадает с ожидаемым».


  4. 11.10.2016, 10:41


    #23

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    «полечить» UT83_11.3.1.115 не получается, выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено. тоже самое и с версией 11.2.3.177
    платформа 8.3.8.1964.


  5. 11.10.2016, 13:32


    #24

    Gandalf вне форума


    Пришел за помощью



  6. 16.10.2016, 14:17


    #25

    vladimir_limon вне форума


    Гость форума


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    а как запустить, дайте ликбез


  7. 16.10.2016, 20:12


    #26

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от vladimir_limon
    Посмотреть сообщение

    а как запустить, дайте ликбез

    Запуск
    delic <Полный путь к файлу 1Cv8.1CD>
    а так все в файле readme.txt описано


  8. 17.10.2016, 13:56


    #27

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от alexandr_ll
    Посмотреть сообщение

    Цитата Сообщение от alexandr_ll
    Посмотреть сообщение

    удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.44.140)
    не удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Управление торговлей, редакция 11.2 (11.2.3.177)
    Конфигурация: Управление торговлей, редакция 11 (11.3.1.115)
    Режим: Файловый (без сжатия)
    Приложение: Тонкий клиент
    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
    Вариант интерфейса: Версия 8.2

    выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено.
    Куда «копать»?


  9. 18.10.2016, 10:39


    #28

    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.44.140)
    не удалось полечить
    Платформа: 1С:Предприятие 8.3 (8.3.8.1964)
    Конфигурация: Управление торговлей, редакция 11.2 (11.2.3.177)
    Конфигурация: Управление торговлей, редакция 11 (11.3.1.115)
    Режим: Файловый (без сжатия)
    Приложение: Тонкий клиент
    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
    Вариант интерфейса: Версия 8.2

    выдается ошибка
    <Error> Ошибка открытия файла базы (файл открыт другой программой?)
    хотя управление торговлей не запущено.
    Куда «копать»?

    Попробуйте это:
    https://cloud.mail.ru/public/LmNQ/mJ1vPDxAe
    Проверено
    для платформы 8.3.9.1818
    Конфигурации
    БП 3.0.44.164
    ЗУП 3.1.1.95
    ERP 2.2.1.115

    На УТ11 не проверял


  10. 9 пользователя(ей) сказали cпасибо:

    ago66 (29.11.2016), ak_rais (06.12.2016), ashro (13.12.2016), Egor5130 (19.11.2016), Hitcherius (25.11.2016), ksks11 (29.11.2016), readyo (15.11.2016), valleha (12.11.2016), АльбертИж (08.11.2016)


  11. 19.10.2016, 14:29


    #29

    AndyNP вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    увы((
    спасибо за беспокойство)


  12. 19.10.2016, 18:10


    #30

    Опарыш вне форума


    Пришел за помощью


    По умолчанию Re: Проверка легальности использования прикладного решения 8.3.7

    Цитата Сообщение от AndyNP
    Посмотреть сообщение

    страница не найдена(( можно в личку?

    Я тоже только с 20-го раза скачал.


Похожие темы

  1. Ответов: 0

    Последнее сообщение: 12.03.2012, 10:20

Социальные закладки

Социальные закладки


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • [VIDEO] код Вкл.
  • HTML код Выкл.

Правила форума

  • Ошибка установки джава 1618
  • Ошибка установки джава 1601
  • Ошибка установки демон тулс
  • Ошибка установки гугл хром 112
  • Ошибка установки гта сан андреас