Тестування і виправлення бази 1с

Функціонування програми може порушитися внаслідок аварійного припинення роботи, наприклад при відключенні електроенергії. Потім в базу даних не вдається увійти.

Іноді функціонуюча програма може показувати невірні результати. Зі списку «зникають» документи, при спробі відкрити документ програма зависає, в звітах з'являються дивні результати. Всі ці «глюки» припиняються після тестування і виправлення.

Помилки можуть виявлятися не настільки грубо, але будь-які несподіванки й неточності є приводом для «ремонтних робіт».

Причини, які ведуть до проблем:

  • Аварійне припинення роботи (раптове відключення живлення);
  • Фізичний знос жорсткого диска;
  • Збої в роботі комп'ютера.

Перед виправленням бази зробіть резервну копію

Перш ніж тестувати базу даних, обов'язково потрібно зробити її резервну копію.

Якщо вдалося увійти в Конфігуратор, то потрібно вибрати в меню опцію Адміністрування → Вивантажити інформаційну базу, як на рис.1. У вікні, потрібно задати каталог для запису резервної копії та ім'я файлу, в якому буде збережений архів.

Перед тестуванням і виправленням копія робиться обов'язково, оскільки при виправленні виконуються незворотні зміни даних. Іноді (дуже рідко) вони можуть не поліпшити, а погіршити стан бази даних.

При нормальній роботі резервні копії потрібно робити регулярно, найкраще - щодня. Для того, щоб ця робота виконувалася автоматично, встановіть безкоштовну програму Бекапер-1С Резервні копії бухгалтерії.

Краще зберігати резервні копії не на тому ж носії, де розташована сама база. Підійде флешка, сховище в Інтернеті, інший жорсткий диск. Адже іноді втрата даних буває пов'язана з фізичним зносом жорсткого диска.

Наявність резервних копій - страховка від втрати даних. Однак не можна поручитися, що в резервних копіях все ідеально, тому актуальність опції Тестування і Виправлення не зменшується.

Мал. 1. Вивантаження даних.

  • Резервні копії потрібно робити регулярно;
  • Резервні копії потрібно зберігати на іншому носії;
  • Для автоматизації є програма Бекапер-1С Резервні копії бухгалтерії;
  • Перед тестуванням і виправленням обов'язково роблять копію бази.

Виправлення інформаційної бази внутрішніми засобами програми

Після того, як зроблена резервна копія, відкриємо базу в режимі Конфігуратора. Вибираємо опцію меню Адміністрування → Тестування і виправлення інформаційної бази.

У вікні, потрібно проставити галочки (рис.2).

Але краще не робити цього: не всі операції, перераховані в меню, необхідні при ремонті після аварії.

Рис.2. Вікно тестування і виправлення 1с 8 з проставленими галочками у всіх пунктах. Так робити НЕ ТРЕБА:

Тестування і виправлення бази 1с

Якщо відзначити всі пункти, запуститься довгий процес. Результати тестування і виправлення відображається в нижній частині вікна. Після виконання дій потрібно клацнути по кнопці Закрити.

Виконати всі - не найкращий варіант! Кваліфіковані користувачі виконують дії поетапно і вибірково.

етапи виправлення

Розглянемо всі пункти меню Тестування і виправлення.

  • Реіндексація таблиць інформаційної бази;
  • Перевірка логічної цілісності;
  • Перевірка посилальної цілісності;
  • Перерахунок підсумків;
  • Стиснення таблиць;
  • Реструктуризація таблиць.

Перший етап, реіндексація таблиць інформаційної бази, допомагає вирішити 90% проблем. Що відбувається в процесі реіндексація?

Внесення даних в довідники, створення нових документів супроводжується їх автоматичним упорядкуванням. Назви шикуються в алфавітному порядку, документи - по датах і т.д. При цьому фізичний порядок проходження записів не змінюється. Записи виводяться на екран у певному порядку, тому що їм присвоєні номери (індекси), і відповідність індексу фізичного номеру запису міститься в таблицях індексів.

Індекси дуже важливі:

  • Пошук в індексованих таблицях відбувається у багато разів швидше, ніж в неіндексованих;
  • Індексний номер - це унікальний «код» записи, за індексами виконується зв'язок між записами з різних таблиць;
  • Індексні таблиці - це каркас інформаційної бази; без них програма 1с не працює.

Порушення індексних таблиць призводить до хаосу в уявленні документів. Може, наприклад, засвітитися документ, в якому відсутні найменування товарів, але є їх кількість.

Кожна нова запис супроводжується змінами в таблицях індексів: наприклад, після внесення в довідник записи, що починається на букву А, їй буде присвоєно один з перших індексів, а всі інші індексні номери будуть змінені. Невелика пауза, що виникає після внесення нового запису, пов'язана з перерахунком індексів; чим більше база, тим помітніше пауза.

Створення документа і записів в ньому надає руху кілька індексних таблиць (іноді кілька десятків). Фактично, реіндесація таблиць в 1с ведеться постійно під час роботи з даними. Але в робочому режимі індексуються кожен раз одна або кілька таблиць, а при тестуванні та способи їх усунення виконується повна індексація всіх таблиць, і цей процес, для великих баз, займає тривалий час.

Отже, при переиндексации відбуваються такі процеси:

  • Записи заново ранжуються і упорядковуються;
  • Відновлюється зв'язок між таблицями та іншими об'єктами;
  • У багатьох випадках - відновлюється робота програми.

Після переиндексации можна перевірити - відновилася чи працездатність бази.

Наступний етап - перевірка логічної цілісності. Перевіряється відповідність реальної структури інформаційної бази і її опису в Зміни (наявність об'єктів, наявність зв'язків між об'єктами). Ця перевірка часто повідомляє про помилки навіть у чинній базі, не слід панікувати при таких повідомленнях. Однак це привід для звернення за консультацією до фахівця.

Перерахунок підсумків - тривала і ризикована процедура. В 1с проводиться перерахунок результатів в штатному режимі, але він ведеться не «від початку часів», а з початку місяця. Підсумкові значення відслідковуються в регістрах, це прискорює роботу. Якщо включити перерахунок підсумків в режимі тестування і виправлення, то перерахунок здійсниться від моменту створення бази, причому правильні поточні значення регістрів можуть "поплисти" через давно видалених або виправлених «заднім числом» документів. В результаті тривала робота по перерахунку не принесе користі.

Якщо немає необхідності, то від перерахунку підсумків краще утриматися.

Стиснення таблиць - це процедура фізичного видалення записів, які були помічені на видалення і перестали виводитися на екран. Таких записів може бути дуже багато, вони без користі роздмухують обсяг бази даних.

Стиснення таблиць - корисна функція, хоча її виконувати не обов'язково.

Реструктуризація таблиць - операція, актуальна при переході на нову версію програми. При реструктуризації створюються порожні таблиці з форматом, заданим в конфігурації, і в них переноситься, запис за записом, інформація зі старих таблиць. У нових таблицях можуть бути розширені поля, додані нові поля. Реструктуризація - це операція, яка повинна підготувати інформаційну базу для роботи по-новому, і вона абсолютно необхідна при оновленнях.

Якщо ніякі версії не змінювалися, то реструктуризація не потрібна, ця тривала процедура нічого не додасть і не змінить.

Отже, при виправленні «впала» програми необхідні і корисні опції:

  • Реіндексація таблиць інформаційної бази
  • Перевірка логічної цілісності
  • Перевірка посилальної цілісності

Що робити, якщо не вдається запустити Тестування і виправлення?

Якщо база сильно пошкоджена і навіть в Конфігуратор не вдається увійти, залишається ще одна можливість відновлення: скористайтеся утилітою chdbfl.exe. Файл можна знайти в папці Bin каталогу установки (рис.3).

Мал. 3. Вибір утиліти chdbfl.exe

Тестування і виправлення бази 1с

За записи в командному рядку, показаної на рис.3, видно, що шлях до файлу лежить через каталог 1сv8.2, або 1сv8.3, коротше кажучи, через каталог програми. Він може бути розташований в папці Program Files або в іншій папці. Потрібно знайти місце розташування каталогу і відкрити його. Усередині каталогу відкрити папку Bin,

Запустивши виконуваний файл, вибирайте базу, що підлягає виправленню, і дозвольте виправляти виявлені помилки (рис.4)

Рис.4. Вікно програми chdbfl.exe

Тестування і виправлення бази 1с

Підведемо підсумки. Якщо програма не починається після аварійного переривання роботи, потрібно зробити наступне: