1с cnvdbfl exe параметры

Обновлено: 07.07.2024

  • Уменьшен размер и оптимизирована структура заголовка с метаинформацией в файле 1Cv8.1CD. Это позволяет существенно снизить число операций чтения файла при открытии базы данных и, тем самым, заметно ускорить время старта и начала работы программы.
  • Теперь можно настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных (версии "8.2.14") поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8Кб, но позволяет его менять в диапазоне от 4Кб до 64Кб.
  • "холодный" запуск программы,
  • работа с файлами базы данных по локальной сети,
  • работа с сильно фрагментированной базой данных,
  • использование дисковых подсистем с невысокой производительностью.

Краткую справку по ключам использования утилиты можно узнать выполнив ее с ключом --help.
Ну вот собственно для этой консольной утилиты я и сделал GUI-обёртку.


При запуске программа ищет утилиты cnvdbfl.exe во всех установленных платформах и позволяет выбрать утилиту нужной версии в поле Версия cnvdbfl.exe, соответственно не нужно бродить по папкам bin в поисках утилиты. Далее выбираем файл базы данных . Файл так же можно выбрать перетянув его на форму мышкой. После выбора файла можно посмотреть информацию о файле , что бы узнать текущую версию формата и размер страницы.

После этого выбираем нужный формат и размер страницы и выполняем конвертацию. Предварительно можно сделать резервную копию файла базы данных. Вот собственно и все. В комментариях хотелось бы увидеть какие то еще практические примеры использования консольной утилиты cnvdbfl.exe (кому, когда, в каких ситуациях пригодилась).

Сделаны не значительные улучшения и исправления:


  • Исправлен обход элементов на форме;
  • Добавлен вызов справки консольной утилиты при нажатии F1;
  • Добавлена кнопка для копирования командной строки, сформированной на основании выставленных настроек, в буфер обмена (к примеру для дальнейшего использования в скрипте или командном файле);
  • Добавлен автоматический запуск от имени администратора, т.к. утилите часто требуется наличие прав администратора для доступа к консольным утилитам 1С в каталоге bin. Если включен UAC или что то подобное, то будет выдан запрос на разрешение запустить приложение;
  • Добавлена 64-х битная версия утилиты. Внимание! Разрядность касается только операционной системы. Что касается платформы 1С, то с 64-х битной платформой 1С может работать и 32-х битная версия утилиты;

Сделаны не значительные улучшения:


  • Добавлены защиты от "дураков", что бы не вводили что попало, в поля в которые не следует ничего вводить;
  • Добавлены дополнительные всплывающие подсказки для полей;
  • Добавлена асинхронность работы. Теперь окно можно двигать и сворачивать во время конвертации;
  • Добавлено отображение процента выполнения конвертации. По сути, значение процентов отображает соотношение размера нового файла базы данных по отношению к старому, т.е. если вы вдруг увидите, что текущее значение уже 150%, то это обозначает, что размер файла после конвертации увеличился в полтора раза;
  • Сделаны др. мелкие и мало заметные изменения;

Просьба обратить внимание, что перетягивание файла базы данных мышкой на форму может не работать на некоторых с борках Windows. Это вязано с тем, что проводник не запускается с правами администратора, а данное приложение всегда запускается с правами администратора. Такое поведение касается любых приложений, к примеру, попробуйте запустить 1С:Предприятие от имени администратора и перетянуть в него какой нибудь файл - ничего не произойдет, т.к. из приложения у которого меньше прав (Проводник) нельзя ничего перетаскивать в приложение у которого больше прав (1С:Предприятие).

Встречайте новое обновление с кучей улучшений!


Платформа 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С программистов и разработчик обновлятора).

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

Если в процессе работы в 1С:Бухгалтерия (8.3 редакция 3.0) возникают странные ошибки или она вообще перестала запускаться - базу нужно чинить.

Запускаем утилиту вручную

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

2. Зайдите в папку, в которую у вас установлена 1С. Обычно это 'C:\Program Files\1cv8'. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (в нашем случае 8.3.4.304):

01

3. Внутри этой папки вы найдете папку bin:

02

4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:

03

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

04

6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл '1Cv8':

05

7. Поставьте галку 'Исправлять обнаруженные ошибки'. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку 'Выполнить':

06

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

07

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

Запускаем утилиту через обновлятор

Для пользователей моего Обновлятора всё ещё проще.

Отметьте нужную базу в списке, а затем из пункта "Ещё" выберите пункт "6.16 Проверка физической целостности файла БД (chdbfl.exe)":


При этом обновлятор:

  • сам заблокирует базу и выгонит работающих пользователей;
  • сам создаст резервную копию базы;
  • сам запустит утилиту chdbfl.exe и дождётся пока вы выполите в ней все необходимые проверки;
  • сам пустит всех пользователей обратно после того как вы закроете утилиту chdbfl.exe.

При этом, если вам потребуется восстановить (откатить) базу на созданную резервную копию перед тестированием - отметьте базу галкой, а затем из пункта "Ещё" выберите вариант "6.01 Восстановить файл данных базы из zip, 7z, rar":


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

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

1) Производительность компьютеров растет. Увеличивается частота процессора, память. Сейчас на компьютерах не редкость SSD. При этом растет скорость работы файловой 1С локально, а вот скорость работы по сети остается прежней. На старом и на новом железе загрузка сети в диспетчере примерно одинакова. И составляет 15%-20%.

2) Скорость работы 1С зависит от скорости сети:
У меня на ноуте при формировании отчета загрузку сети в диспетчере показывает: WiFi в районе 7Мбит/с, по витой паре - 15Мбит/с. Т.е. примерно теже 15% от 54 и 100 соответственно.
Приходилось работать с файловой базой по гигабитной сети. Ни каких цифр здесь не приведу, но ощущения от работы 1С намного лучше.

Из этих наблюдений ясно, что сеть - это узкое место.

Стал я пробовать оптимизировать сетевой стек netsh int tcp set global autotuninglevel=disabled и т.д.
Вносил изменения в реестр LargeSystemCache, DisablePagingExecutive, NtfsDisableLastAccessUpdate, NtfsDisable8dot3NameCreation, EnableOplocks, OplocksDisabled и т.д.
Пробовал работать через сетевую папку и сетевой диск.
Но особого увеличения производительности не было.

В результате поисков и экспериментов обнаружил, что формат базы 8.2.14 и размер страницы 4К.

Получить информацию о формате БД можно, запустив команду:
"C:\Program Files\1cv8\8.3.11.2867\bin\cnvdbfl.exe" -i D:\Base1S8\1Cv8.1CD

Изменил формат базы на 8.3.8 и размер страницы на 32К:
"C:\Program Files\1cv8\8.3.11.2867\bin\cnvdbfl.exe" -с -p 32K D:\Base1S8\1Cv8.1CD

Результат очень положительный. Отчет на ноуте формируется в 2-3 раза быстрее. Загрузка сети по WiFi - 32 Мбит/с, по витой паре более 50 Мбит/с.

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

Цитата:
"В новом формате (версии "8.3.8") появились следующие возможности:

  • Уменьшен размер и оптимизирована структура заголовка с метаинформацией в файле 1Cv8.1CD. Это позволяет существенно снизить число операций чтения файла при открытии базы данных и, тем самым, заметно ускорить время старта и начала работы программы.
  • Теперь можно настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных (версии "8.2.14") поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8Кб, но позволяет его менять в диапазоне от 4Кб до 64Кб.

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

  • "холодный" запуск программы,
  • работа с файлами базы данных по локальной сети,
  • работа с сильно фрагментированной базой данных,
  • использование дисковых подсистем с невысокой производительностью.

При создании новых файловых баз данных рекомендуется использовать настройки формата базы по умолчанию (версия формата "8.3.8", размер страницы файла 8Кб). Если Вы используете базу данных, созданную в предыдущих версиях платформы, и наблюдаете недостаточно высокую производительность при старте и во время работы программы, то рекомендуется сконвертировать базу данных на новый формат файла."

Как видим из статьи, формат 8.3.8 дает нам весьма любопытные и интересные возможности.

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