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

  • автор:
Как восстановить из резервной копии базу оглавление Использование утилиты chdbfl для тестирования и исправления физической целостности базы

Как сделать тестирование и исправление базы 1С:Бухгалтерия (8.3 редакция 3.0)

2017-12-19T18:21:22+00:00

Итак, с базой возникли проблемы. Полезли ошибки или она просто перестала запускаться. Не торопитесь вызывать программиста, многое можно сделать своими силами.

Тестируем через конфигуратор

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

2. Теперь, когда резервная копия сделана, запустите базу в режиме конфигуратора:

3. Выберите пункт ‘Администрирование’-‘Тестирование и исправление…’ :

4. Перед нами много вариантов проверок и исправлений, которые нужно выбрать и нажать кнопку ‘Выполнить’. В принципе, можно выбрать их все, но наиболее разумным будет выполнять эти проверки и исправления по-порядку и после каждого исправления проверять — не пропали ли ошибки в базе:

5. Будем тестировать и исправлять сразу (второй вариант):

6. Если база очень большого размера, то можно ограничить выполнение проверок во времени. Не будем этого делать:

7. Реиндексация таблиц информационной базы. Что это такое? Для каждой таблицы (например, справочника) в базе строится индекс для ускорения поиска по определенным полям. Так вот, это исправление заново строит все индексы:

8. Проверка логической целостности информационной базы проверяет и исправляет логические ошибки в структурах таблиц:

9. Проверка ссылочной целостности информационной базы проверяет все ссылки на объекты, которые могут уже не существовать или быть разрушенными:

Поэтому на данной проверке нужно указать, что делать с такими объектами: создавать новые, очищать или ничего не делать.

10. Пересчет итогов. Итоги — грубо говоря, это индексы для регистров, в которых хранится информация, создаваемая документами. Например, наличие итогов по регистру остатков товара позволяет нам быстро получать значение остатков товара на некоторую дату. Эта проверка заново пересчитывает все итоги за все время. Замечу, что обычно это очень долгая по времени проверка.

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

12. Реструктуризация таблиц информационной базы. Последнее грозное оружие в борьбе с ошибками. Для каждой таблицы — создается новая таблицы с нужной структурой и все данные из старой таблицы переносятся в новую:

13. Выбрав нужный пункт, запускайте проверку (кнопка ‘Выполнить’):

14. После всех проверок откроется окно Служебные сообщения с информацией о результатах тестирования:

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

Тестируем через обновлятор

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

Отметьте нужную базу в списке, а затем из пункта «Ещё» выберите пункт «6.06 Тестирование и исправление баз»:

Откроется окно с опциями полностью совпадающими с опциями конфигуратора:

Отметьте нужные и нажмите кнопку «ОК».

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

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

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

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

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

Нажмите одну из кнопок, чтобы поделиться:

Как восстановить из резервной копии базу оглавление Использование утилиты chdbfl для тестирования и исправления физической целостности базы

Включенные фоновые задания могут затормозить работу программы.

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

Например, «Извлечение текста», если пользователь не осуществляет полнотекстовый поиск по всем объектам нашей базы. Можно отключить(это можно включить обратно в любой момент), либо поставить в расписании 1 раз в день, либо отключить (это можно включить обратно в любой момент). Можно отключить загрузку курсов валют, если нет валютных операций или делают их изредка (тогда можно самостоятельно нажать кнопку загрузить курсы).

Не всегда нужно , чтобы 1С периодически подключался к сайту и проверял и обновлял классификаторы банков. Можно самостоятельно нажать кнопку обновить классификаторы, если нет нужного банка по его БИК.

Каждые 3 часа идет задание Обмен сообщениями по учетным записям документооборота – можно поставить 1 раз в день в расписании.

Обновление данных монитора руководителя – тоже каждые 3 часа. Если Вы не пользуетесь этими отчетами, то отключите. Или поставьте в расписании – 1 раз в день. И так — по всем остальным фоновым заданиям.

Обратить стоит внимание — регламентное задание Обновление индекса ППД. Если необходимо работать в панели инструментов с инструментом полнотекстового поиска данных («лупа»), то необходимо проверить, чтобы это регламентное задание делалось хотя бы раз в день и без ошибок.

Иногда при работе с 1С могут возникать сбои или ошибки.

В данной статье мы поговорим о тестировании и исправлении информационной базы 1С.

Информационная база 1С (в терминах фирмы 1С) — место хранения всех данных по учету в одной или нескольких организациях, характеризуемое определенным адресом хранения. Возможны два варианта хранения информационной базы: файловый и клиент-серверный вариант.

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

Во первых, следует создать копию базы данных (если это возможно, т.к. иногда структура базы становится настолько «покалечена», что отсутствует даже возможность создать резервную копию).

Во вторых: После создания резервной копии следует открыть Конфигуратор, далее в меню: Администрирование -> Тестирование и исправление…

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

,

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

Реиндексация таблиц – это перестроение индексов таблиц, направленное на повышение быстродействия работы базы.

Проверка логической целостности – это целое множество проверок логики базы данных

Проверка ссылочной целостности — это подмножество проверки логической целостности базы данных, существующее для отдельной работы с «битыми» ссылками. Конкретнее будет объяснено ниже по тексту.

Пересчет итогов – расчет итогов таблиц регистров накопления

Сжатие таблиц информационной базы – данный пункт отвечает за уменьшение размера базы после тестирования. Объяснить уменьшение размера базы можно, например, так: когда из базы удаляется объект, он, по сути, остается в базе внутри, но невидимым для конечного пользователя. Сделано это для того, чтобы объект все-таки можно было восстановить уже после полного удаления из базы (хотя мы с таким не встречались). И сжатие таблиц, как раз убирает информацию об удаленных уже объектах из базы данных. От этого таблицы становятся меньше (это всего лишь один пример, как работает сжатие).

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

Реструктуризация таблиц – пример можно привести такой: берется таблица № 1, создается копия ее структуры, назовем, как Таблица № 2 и данные из таблицы № 1 копируются порциями в таблицу № 2.

Имеется возможность выполнять только тестирование или тестирование с исправлением.

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

Первая настройка: «При наличии ссылок на несуществующие объекты» означает, что в базе будет произведен поиск «битых ссылок» (когда какой-то реквизит ссылается, к примеру, на элемент справочника, а физически данный элемент уже в базе отсутствует. В результате, встречаются записи типа «Объект не найден <……>») и вариант обработки таких ссылок:

— попытка создать несуществующий объект;

— очистить «битую» ссылку

— ничего не изменять.

Вторая настройка: «При частичной потере данных объекта» означает, что данные какого-либо объекта были потеряны, но оставшихся данных вполне хватает для восстановления утраченного. Варианты обработки таких объектов не отличаются по смыслу от вариантов предыдущей настройки.

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

  • ограничение времени тестирования и исправления;
  • сохранение параметров тестирования между этапами;
  • продолжение прерванного ранее тестирования и исправления;
  • поддержка тестирования и исправления порциями в командной строке запуска.

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

Утилита chdbfl

Вариант с тестированием базы средствами самой программы 1С – не единственный. В комплект поставки платформы 1С: Предприятие входит еще вспомогательная утилита для тестирования и исправления файлового варианта базы данных.

Опять-таки перед всеми операциями с базой обязательно создавайте копию.

После удачного резервного копирования надо открыть утилиту chdbfl. Она находится в каталоге установленной программы 1С.

Путь к ней, как правило, такой: C:\Program Files\1cv82\ «релиз платформы 1с» \bin

Там находится файл: «chdbfl.exe»

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

В окне «Имя файла БД» выбираете путь к файлу с базой данных. Сам файл всегда имеет расширение *.1CD, а путь к папке с базой данных можно посмотреть в списке информационных баз, который открывается при запуске 1С: Предприятие.

Можно просто тестировать базу, можно сразу поставить галочку «Исправлять обнаруженные ошибки». Тогда программа сама поправит ошибки в базе. Настроек тут, правда, никаких нет и программа будет уже сама исправлять ошибки базы автоматически.

После выбора базы и установки режима нужно просто нажать на «Выполнить». Программа начнет работать и через некоторое время сообщит о завершении процесса тестирования.

1С8 Параметры консольного вызова тестирования и исправления

DESIGNER (CONFIG в 8.0) Запуск в режиме Конфигуратора.
/@ Путь к файлу с параметрами командной строки.
/F Путь к файловой информационной базе (исключая имя файла).
/S Адрес информационной базы на сервере 1С:Предприятия.
/IBName запуск информационной базы по имени базы в списке информационнх баз. При необходимости имя должно быть взято в двойные кавычки. При этом, если имя содержит двойные кавычки, то нужно заменить каждые двойные кавычки на две двойные кавычки. Если в списках баз будет найдено более чем одна база с указанным именем, то пользователю будет выдана ошибка.

/N Имя пользователя, как оно задано в Конфигураторе.
/P пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить.

/Out Задаёт файл для вывода служебных сообщений. Если задано -NoTruncate, файл не очищается (не используется в тонком клиенте). C 8.2.15 файл сообщений открывается в режиме, допускающем совместное чтение, и во время пакетного режима запуска Конфигураторa запись в этот файл выполняется сразу, а не буферизуется.

/UC — позволяет выполнить установку соединения с информационной базой, на которую установлена блокировка установки соединений. Если при установке блокировки задан непустой код доступа, то для установки соединения необходимо в параметре /UC указать этот код доступа.
/DumpIB Выгрузка информационной базы.
/IBCheckAndRepair выполнить тестирование и исправление информационной базы.
• -ReIndex реиндексация таблиц;
• -LogIntegrity проверка логической целостности или
-LogAndRefsIntegrity проверка логической и ссылочной целостности;
• -RecalcTotals пересчет итогов;
• -IBCompression сжатие таблиц;
• -Rebuild реструктуризация таблиц информационной базы;

-BadRefCreate создавать объекты или
-BadRefClear очищать объекты или
-BadRefNone не изменять при частичной потере объектов:

-BadDataCreate создавать объекты или
-BadDataDelete удалять объекты или

-BadDataNone не изменять объекты;

• UseStartPoint использовать сохраненную точку возврата для продолжения тестирования с того места, на котором оно было прервано в предыдущем сеансе;
• TimeLimit:hhh:mm ограничение максимального времени сеанса тестирования: hhh — количество часов (0..999); mm — количество минут (0..59).

Примеры использования параметров

В системе 1С:Предприятие 8.3 предусмотрено довольно много способов повышения производительности и быстродействия. Один из вариантов – настройка регламентных и фоновых заданий.

Для начала кратко определим, что это такое, для чего они нужны и за что отвечают:

  • Регламентные задания в 1С – это механизмы, заложенные в конфигурацию, указывающие на необходимость выполнять определенных задач по установленному расписанию. Такое задание в обязательном порядке порождает фоновое.
  • Фоновые задания в 1С 8.3 – это действия, производимые программой 1С незаметно для работающего в ней. Отслеживают их исполнение только по журналу регистрации. Особенностью такого задания является то, что при его выполнении не блокируется работа пользователя, он может продолжать вносить и редактировать данные, даже если процедура запущена.

Как настроить регламентное задание и фоновое

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

В программе 1С 8.3 список заданий находится в «Администрирование-Настройки программы-Обслуживание».

Рис.1 Обслуживание

В «Обслуживание-Регламентные операции» находим ссылку на наши операции.

Рис.2 Регламентные операции

Перед нами список заданий, разделенных по виду на отдельных вкладках.

Рис.3 Список заданий

У Регламентных заданий указывается:

  • Наименование;
  • Состояние (выполняется или выполнено);
  • Дата окончания.

У Фоновых заданий:

  • Состояние (выполняется или выполнено);
  • Наименование;
  • Начало;
  • Окончание.

Рис.4 Задания

Рассмотрим регламентную операцию «Загрузка курсов валют». Заходим на соответствующую вкладку. С заданиями можно осуществлять следующие действия:

  • Включить – поставить флажок «включено»;
  • Выключить – снять флажок «включено», затем «Записать и закрыть». Так можно отключить задания, которые не представляются важными, и это значительно увеличит скорость работы в программе 1С;
  • Настроить расписание исполнения.

Рис.5 Загрузка курсов валют

Виды расписаний

Общее – указываем дату начала/окончания, а также периодичность повторений в днях.

Рис.6 Общее расписание

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

Рис.7 Дневное расписание

Недельное – на этой вкладке галочками мы отмечаем дни недели, а также количество повторений.

Рис.8 Недельное расписание

Месячное – галочками отмечают месяцы, в которые надо запускать задания обоих видов.

Рис.9 Месячное расписание

Добавление Регламентного задания

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

Рис.10 Добавление Регламентного задания

Далее выбираем «Конфигурация-Открыть конфигурацию». Затем открываем «Общие-Регламентные задания», нажимаем правой кнопкой мыши, появляется окошко «Добавить». Выбираем его.

Рис.11 Регламентные задания

Заполняем задание:

  • В графе «Имя модуля» указывается процедура для исполнения. В ней прописаны все подробности и нюансы работы;
  • Для отключения или включения задания необходимо установить или удалить флажок в поле «Использование»;
  • Указываем «Предопределенность». Задания с этой характеристикой запускаются автоматом. Если не поставить галочку, то надо будет запускать их дополнительно;
  • Указываем число повторений и длину интервалов между ними при аварийном завершении работы.

Рис.12 Заполняем задание

Также здесь мы можем настроить расписание задания. Нажимаем на кнопку «Расписание (Открыть)» и переходим к его заполнению.

Рис.13 Расписание (Открыть)

К примеру, нам нужно выполнять наше задание с 1 по 30 сентября один раз в день. Также мы можем настроить расписание исполнения Регламентного задания, как уже было описано выше.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *