1с старая версия формата файла базы данных требуется выполнить конвертацию

Обновлено: 05.07.2024

Платформа 1С, начиная с релиза 8.3.8.1652, поддерживает новый формат хранения файловых баз данных.

Чем же так хорош этот новый формат? По заверениям 1С он более оптимизирован, а значит после перехода на него мы можем рассчитывать на некоторое увеличение производительности.

Кроме того, новый формат позволяет выбирать размер страницы данных. В старой версии формата (8.2.14) он всегда равен 4 килобайта, в новом же формате (8.3.8) он может быть: 4К, 8К, 16К, 32К или 64К.

Как его менять штатным способом

Чтобы изменить формат базы штатным способом:

  • либо создайте новую пустую базу в новом формате (это так по умолчанию для версий платформы после 8.3.8.1652), а затем загрузите в неё dt-выгрузку из старой базы
  • либо воспользуйтесь консольной утилитой от 1С cnvdbfl.exe (идёт с дистрибутивом 8.3.8)

Обновлятор поддерживает работу с утилитой cnvdbfl

Слава богам, что cnvdbfl.exe это нормальная утилита (в отличие от chdbfl.exe), которая поддерживает параметры командной строки.

Это позволило мне добавить возможность работы с форматом баз (одной или группы) прямо в Обновлятор-1С.

Сейчас я расскажу и покажу как это всё работает.

Выводим текущий формат баз

Пусть у нас имеются две торговые базы в "старом" формате (версии 8.2.14):


Попросим для начала обновлятор показать нам текущий формат этих баз.

Для этого, отметив их галками, раскроем пункт "Ещё", в котором последовательно перейдём:


  • далее нажмём на пункт "6.17 Изменение формата файла БД"


В открывшемся диалоге ничего устанавливать не будем, просто нажмём выполнить:


Результат будет таким:


Меняем формат баз и размер страницы

Отлично. Сменим формат этих баз на 8.3.8 с размером страницы 16 килобайт. Для этого снова выбираем пункт 6.17 и в открывшемся диалоге устанавливаем следующие параметры:


Вот результат, к примеру, для первой базы:


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

Работайте с удовольствием (то есть с обновлятором)!

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Проблема с востановлением базы - перестала запускаться база.
Конфигурация БП 3.0.64.54 Базовая - Знаю точно.

cnvdbfl И ТИИ не нужно предлагать уже все перепробовал в разных вариантах не помогает,
Поможет только Tool_1CD или Хэш редактор.
Резервных копий нет . ранее базу вел не я . я понимаю всю прелесь бекапов .

Формат Базы данных 8.3 при конвертации
cnvdbfl.exe -c -f 8.2.14 "C:\Base\. Base_TEST\1Cv8.1CD"
выходит ошибка База данных повреждена .

То есть для того чтобы воспользоваться Tool_1CD и перегрузить таблицы CONFIG и CONFIGSAVE из нормально рабочей БП 3.0.64.54 Базовой мне пришлось восопльзоваться cnvdbfl при этом были такие ошибки

Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'CONFIG'>
Повреждена таблица размещения внутреннего файла <Данные таблицы '_REFERENCE94'>
Повреждена таблица размещения внутреннего файла <Данные таблицы '_INFORG29058'>
Повреждена таблица размещения внутреннего файла <Данные таблицы '_REFERENCE75'>
Повреждены данные таблицы '_INFORG12288'. Восстановлено 2092 из 2110 записей.
Повреждены данные таблицы '_INFORG18300'. Восстановлено 3 из 3 записей.. Потеряно 1 значений полей неограниченной длины
Повреждены данные таблицы 'CONFIG'. Восстановлено 28875 из 41282 записей.
Повреждены данные таблицы 'PARAMS'. Восстановлено 0 из 29 записей.
Повреждены данные таблицы 'FILES'. Восстановлено 0 из 15 записей.
и тд - еще много чего .

Затем удалось переконвертировать формат БД на 8.2.14 и загрузить таблицы CONFIG и CONFIGSAVE из Нормальной базы.
Но при этом при открытии Конфигуратора - Ошибка формата потока.

если ли какой способ переконвертировать базу в формат 8.2.14 не исопльзуюя cnvdbfl ТИИ .
Или есть какой способ загрузить поврежденную Файловую базу на SQL .

Заранее огромное спасибо за любую помощь .

(1) Итак , текущую базу не поднять , DBSHEMA - потеряна, записи таблицы PARAMS тоже потеряны, конвертации в 8.2.14 происходит с ошибками , поэтому единственный вариант который я вижу - это ручной перенос таблиц в чистую базу с помощью утилиты Tools_1CD без конвертации поврежденной базы, Вариант конечно не надежный, и трудоемкий, но стоит попробовать и состоит он в следующем:

1) Создать чистую базу нужного релиза и сконвентировать его в формат 8.2.14 - открыть в tools_1cd (Tools_1cd для редактирования)
2) Открыть поврежденную базу в другой Tools_1cd читающий формат 8.3.8 но без возможности редактирования ( файл приложу ниже)
3) Пробежаться по всем таблицам поврежденной базы и посмотреть в каких из них есть данные (можно конечно смотреть не все а например только справочники, документы , регистры накопления и регистры сведений тут надо смотреть ) , желательно каждую такую таблицу куда-нибудь выписать например в Excel так же необходимо для каждой такой таблицы указать длину записи (см раздел описание )
4) Теперь самое сложное - найти соответствующую таблицу для каждой из выписанных таблиц в чистой базе. открываем tools_1сd с чистой базой , бежим по списку таблиц и ищем таблицу по длине записи - Например в Вашей базе есть таблица ACCUMRG15433 которая содержит какие-то данные , длина записи 239 а в чистой базе ее соответствует таблица ACCUMRG27021 с такой же длинной записи (см скрин)
5) Из новой базы экспортируем нужную таблицу куда-нибудь на диск создаться папка c именем экспортируемой таблицы с 3-5 файлами внутри (descr, data, index,blob,root)
6) Возвращаемся в tools_1cd с поврежденной базой выбираем нужную таблицу далее идем меню файл-Сохранить и выбираем 1 из 3 пунктов
Сохранить файл Records Таблицы - соответствует файлу data
Сохранить файл Blob Таблицы - соответствует файлу Blob
Сохранить файл index Таблицы - соответствует файлу index
т.е. выбрали пункт B]Сохранить файл Records Таблицы[/B] и этот файл сохраняем в папку из п.5 перезаписывая файл data и так для каждого пункта
7) Возвращаемся в tools_1cd с чистой базой и импортируем таблицу обратно уже с обновленными данными

И так повторить для каждой из таблиц с данными из поврежденной базы

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


Ошибки:
--------------------------------------------------------------------------------
20.11.2011 23:19:29
Несоответствие версии формата файла информационной базы.
Конвертация выполняется в режиме запуска Конфигуратор.

изменилась структура, нужна конвертация (безболезненная)

Есть у нас лицензия на 8.2. Комплект многопользовательской лицензии на 5 человек.

Я установил 8.2.14.540x86 и 8.2.14.540x64 из шапки.

ОС Win7 SP1 x64.

Установил Сервер 1С:Предприятие потому что без него я даже не мог никуда подключится чтобы вбить свой пинкод для многопользовательской лицензии.

Потом на "сервере" расшарил папку с базой. На другом компьютере установил "тонкий клиент: файловый вариант" подключил к нему базу и загружаюсь.

И он снова спрашивает меня где лицензия? Я ему указываю имя компьютера "1c-ws" - на нем вроде как установлен сервер и менеджер лицензий. Но он не видит там лицензию и предгалагает мне заново заполнить анкету и ввести пин-код.

К примеру какие именно компоненты нужно ставить на пользовательскую машину?

Вот.
Ну и 5 лицензий на 1С Предприятие:
4601546038807 1С:Предприятие 8. Клиентская лицензия на 5 рабочих мест

Лицензии на сервер не покупали. У нас ведь не SQL и не терминал. А так. Файловый вариант.

И кстати еще вопрос сразу. Вот я вбил лицензию на 5 рабочих мест у себя на сервере через мастер получения лицензий. А как вот теперь понять и проверить что именно на 5? Раньше то можно было через ХАСП монитор посмотреть на аппаратные ключи, а сейчас как?

Т.е. у меня НЕТ USB ключа. Это чисто новая программная лицензия. Выдается на листочке. После забивания этих данных в мастер получения лицензии - на компьютере создается фаил ключ *.lic с лицензией именно под это железо, под эту конфигурацию. И вот как в случае обычного файлового варианта раздать этот ключ другим сотрудникам я не знаю.

Я уже учавтвую в переписке с юмансом. Но как я понял это невозможно. Они по всей видимости только в режиме терминальных серверов или sql редакции.

или
установить лицензию на сервер и запускать "1С:Предприятие" с произвольных компьютеров, но при этом ограничить количество одновременно запущенных сеансов.

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

Анна Викулина

Гарантируем стабильный обмен без ошибок между программами 1С. Гарантии фиксируем в договоре.

Перенос данных 1С

Перенос любых данных 1С. Готовые механизмы переносов. Один звонок и мы решаем вопрос.

Консультации по 1С

Протестируйте качество нашей работы - получите первую консультацию в подарок.

Эффективная работа программ 1С Предприятие 8.3 обусловлена правильностью настройки обмена данными между ними, то есть выгрузки и загрузки справочников, а также другой информации. В некоторых ситуациях для настройки обмена в 1С достаточно воспользоваться обработкой «Универсальный обмен данными XML» или имеющимися типовыми правилами переноса, к примеру, при переходе с одной редакции программ на другую. Они могут быть встроены в программу с определенным списком правил обмена или находиться в папке установленного обновления. Например, AccountingBase («Бухгалтерия», базовая версия) и там находится папка «Обмен данными».

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

Правила конвертации данных в 1С 8.3

Для описания метаданных используется внешняя обработка MD83Exp.epf – для продуктов на платформе «1С:Предприятие 8.3» (управляемое приложение), MD82Exp.epf – для обычного приложения, в формате XML-файла. Обычно файл обработки располагаются в каталоге шаблонов, куда установлена конфигурация. К примеру, C:\Program Files\1Сv8\tmplts\1С\Conversion\3_0_5_3\. В нашем примере используется «1С:Конвертация данных, ред. 3.0» (релиз 3.0.5.3).

Подготовка файла конвертации заключается в формировании XML-файла правил обмена. Рассмотрим на небольшом примере ход его создания.

Шаг 1. Программу можно скачать с сайта ИТС или установить с диска ИТС (доступ и диск предоставляется в рамках абонентского сопровождения 1С для версий КОРП и ПРОФ). Предположим, нам необходимо выгрузить справочник «Контрагенты» из «Бухгалтерии» в «УТ 8.3». Первая программа у нас – «База-источник», а вторая – «База приемник». Отметим, что обмен настраивается не только между базами 8.3, но и между 7.7 и 8.3 и другими.

Шаг 2. Выгружаем в файл XML структуру метаданных баз, задействованных в обмене, с помощью обработки MD83Exp.epf. Для этого в «Базе-источнике» и «Базе-приемнике» в режиме «1С Предприятие» открываем указанную обработку и выгружаем с ее помощью структуру конфигураций, указав имя формируемого файла. Для примера, так и назовем файлы – «База источник» и «База приемник».

По окончании выгрузки у нас получилось два файла с описанной структурой двух конфигураций.

Рис.5 По окончании выгрузки у нас получилось два файла с описанной структурой двух конфигураций

Рис.5 По окончании выгрузки у нас получилось два файла с описанной структурой двух конфигураций

Шаг 3. Выполняем экспорт xml-схемы формата обмена. Это файл с расширением «xsd». Получить его можно и из «Источника», и из «Приемника». Для этого откроем информационную базу в режиме «Конфигуратор» («Открыть конфигурацию»), в дереве метаданных раздел «Общие» и подраздел XDTO-пакеты.

Найдем строки с именем «EnterpriseData» (разные цифры – это разные версии формата) и, нажав правой кнопкой мышки, выберем команду «Экспорт XML-схемы».

Укажем путь выгрузки и выгрузим.

Шаг 4. Добавляем структуру базы выгруженных конфигураций (источника и приемника) в базу «1С:Конвертация данных». Для этого в пункте меню «Конфигурация» для каждого сформированного файла (источник и приемник) выполняем «Загрузку структуры конфигурации».

Указываем путь к нашему файлу, способ загрузки выбираем – «В новую версию конфигурации», и нажимаем кнопку «Выполнить загрузку».

После загрузки файлов, если мы зайдем в раздел меню «Конфигурации», мы увидим две наших загруженных конфигурации.

Шаг 5. Загружаем структуры формата обмена. В пункте меню «Формат данных» выбираем команду «Загрузка структуры формата».

Указываем ранее выгруженный файл и нажимаем кнопку «Выполнить загрузку».

После окончания загрузки проверим результат. Зайдем в меню «Формат данных» - «Дерево объектов формата». Выбрав загруженный нами формат, мы видим его структуру.

Рис.17 Выбрав загруженный нами формат, мы видим его структуру

Рис.17 Выбрав загруженный нами формат, мы видим его структуру

Шаг 6. Создание конвертации. Для выполнения поставленной нами задачи, создаем две конвертации. Первая – для выгрузки справочников «Сотрудники» и «Контрагенты» из «Бухгалтерии», а вторая – для загрузки в «УТ». Перейдем в меню «Конвертации».

Для каждой операции указываем наименование, например – «Выгрузка из БП», «Загрузка в УТ», название – БухгалтерияПредприятия, УправлениеТорговлей и версию формата (который мы загрузили, в нашем примере 1.6).

Шаг 7. Для создания правил в том же пункте меню найдем пункт настроек.

Рис.21 Для создания правил в том же пункте меню найдем пункт настроек

Рис.21 Для создания правил в том же пункте меню найдем пункт настроек

Открыв отдельно каждую операцию, настроим ее. На закладке «Правила конвертации объектов» нажимаем кнопку «Создать».

На закладке «Основные сведения» указываем идентификатор нашего правила (например, Справочник_Контрагенты_Выгрузка), объект конфигурации и объект формата. Область применения – «Для отправки».

Рис.23 На закладке «Основные сведения» указываем идентификатор нашего правила

Рис.23 На закладке «Основные сведения» указываем идентификатор нашего правила

Рис.24 На закладке «Основные сведения» указываем идентификатор нашего правила

Рис.24 На закладке «Основные сведения» указываем идентификатор нашего правила

Жмем «Автосопоставление», а нажатием кнопки «Создать правила конвертации свойств» сохраняем результат.

При необходимости другие поля настраиваются для конвертации вручную.

Шаг 8. Аналогично настраивается правило конвертации для загрузки, в нашем примере в «Управление торговлей». Обращаем внимание, что область применения – «Для получения».

На закладке «Правила конвертации свойств» выполняем автосопоставление и, нажав кнопку «Создать правила конвертации свойств», сохраняем результат.

Шаг 9. В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных, перейдя на одноименную закладку, нажав кнопку «Создать», при этом сопоставив значения в таблице из конфигурации и формата. Область применения – «Для получения и отправки».

Рис.30 В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных

Рис.30 В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных

Рис.31 В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных

Рис.31 В обоих созданных правилах конвертации создаем правило конвертации предопределенных данных

Аналогично выполняем действия для правила «Загрузка в УТ».

Рис.32 Аналогично выполняем действия для правила «Загрузка в УТ»

Рис.32 Аналогично выполняем действия для правила «Загрузка в УТ»

Указываем новое правило конвертации свойства «ЮридическоеФизиескоеЛицо» для нашего справочника. Откроем правило конвертации объекта «Справочник_Контрагенты_Выгрузка».

Рис.33 Откроем правило конвертации объекта «Справочник_Контрагенты_Выгрузка»

Рис.33 Откроем правило конвертации объекта «Справочник_Контрагенты_Выгрузка»

На закладке «Правила конвертации свойств» добавим правило конвертации свойства, указав в нем «Перечисление_ЮридическоеФизическоеЛицо».

Рис.34 На закладке «Правила конвертации свойств» добавим правило конвертации свойства

Рис.34 На закладке «Правила конвертации свойств» добавим правило конвертации свойства

Действие аналогично и для второго правила «Справочник_Контрагнеты_Загрузка».

Шаг 10. Создаем правило обработки данных. Действия одинаковы для обоих созданных нами правил. Перейдя в правило конвертации, нажимаем кнопку «Создать на основании» - «Правило обработки данных».

Данные в него попадают автоматически.

Аналогично формируем правило для загрузки.

Шаг 11. Выгрузить модуль менеджера обмена, или в правиле конвертации, нажав «Сохранить модуль менеджера обмена», или через пункт «Конвертация» - «Выгрузка модуля».

Аналогично поступаем с правилом конвертации для загрузки справочника.

Рис.43 Аналогично поступаем с правилом конвертации для загрузки справочника

Рис.43 Аналогично поступаем с правилом конвертации для загрузки справочника

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

При настройке обмена рассматриваемая программа имеет пока единственную функцию – формирование текстов общих модулей МенеджерОбменаЧерезУниверсальныйФормат для каждой из баз, используя структуру метаданных конфигураций, участвующих в обмене, и схемы универсального формата. Эти модули лучше сформировать и применять на исходном этапе настройки обмена, а продолжать их доработку стоит прямо в тексте модуля конфигуратора.

Редакция конфигурации «Конвертация данных 3.0» – новая, но прогрессивная технология упрощения обмена между конфигурациями, которая, используя универсальный формат обмена EnterpriseData, позволяет эффективно ответить на вопрос «Как перенести данные из одной 1С в другую?».

Читайте также: