Інтернет Windows Android

Як зробити тестування та виправлення. Тестування та виправлення інформаційної бази

Створено 10.03.2016 13:43 Розміщено 10.03.2016 13:43 Автор: Administrator Переглядів: 6202

Багато користувачів можуть зіткнутися з тим, що в програмі 1С стався збій, стали з'являтися помилки, програма раптово "висне" або закривається. У цьому випадку просто необхідно виконати тестування та виправлення інформаційної бази, оскільки цей вбудований механізм майже завжди допомагає вирішити такі проблеми.

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

Як тільки у вас з'явилася резервна копія, яка позбавить вас виникнення проблем зі втратою даних, можна перейти до самої процедури тестування. Для цього потрібно запустити програму в режимі конфігуратора.

Коли "Конфігуратор" запущений, в меню натискаємо "Адміністрування" і з списку вибираємо відповідний пункт.

У вікні ми маємо право самі налаштувати варіант перевірки, пропонується відзначити "галочками" потрібні позиції.


Перший пункт відзначаємо, оскільки це налаштування виконає перебудову індексів таблиць, що збільшить продуктивність системи. Установка "галочки" у другому пункті дозволить перевірити цілісність таблиць бази та усунути у них помилки. Далі вибираємо перевірку цілісності інформаційної бази, щоб перевірити всі посилання на об'єкти, адже деякі з них можуть уже не існувати або бути зруйнованими. При такому виборі активним стає нижнє поле, в якому можна вказати, що робити з такими об'єктами: створювати нові, очищати або нічого не робити. Вибір наступного пункту призведе до перерахунку підсумків у регістрах накопичення. Завдяки "галочці" навпроти стиснення таблиць інформаційної бази при виконанні тестування та виправлення будуть нарешті видалені ті дані, які ми свого часу помічали на видалення і навіть потім видаляли, але вони все також залишалися в базі, просто не було видно нам. Тим самим обсяг нашої бази зменшиться. І останнє у цьому списку – реструктуризація, вона потрібна для того, щоб утворилися нові таблиці з потрібною структурою, боятися цього не варто, бо всі старі дані перенесуться до нових. Таким чином, як бачимо, для вирішення проблем по всіх напрямках рекомендується відзначати всі пункти.

Після того, як визначилися з перевірками та режимами, перевіряємо, щоб нижче було зазначено виконувати "Тестування та виправлення".

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

Коли налаштування тестування проведено, можна запустити процес за кнопкою "Виконати".

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

На жаль, бувають ситуації, що через збій у програмі ми навіть не можемо запустити "Конфігуратор". Тоді доведеться діяти іншим чином, саме провести тестування компонентом chdbfl.exe. Цей процес аналогічний тестуванню та виправленню, розглянутому вище. Нам також насамперед потрібно зробити копію бази, але оскільки у разі робота протікає без конфігуратора, то робимо копію простим копіюванням каталогу інформаційної бази.

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


Тепер, знаючи точний шлях до бази, знаходимо каталог та копіюємо.

Далі потрібно знайти і запустити утиліту chdbfl.exe, вона встановлюється разом з платформою 1С і знайти її можна в папці "Bin" каталогу установки, найчастіше адреса виглядає подібним чином C:\Program Files (x86)\1cv8\8.3.7.1845\bin , де 8.3.7.1845 – номер релізу платформи. Але якщо проблеми з пошуком все-таки виникли, уточнити адресу можна клацнувши правою кнопкою миші по ярлику "1С Підприємство".

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

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


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


Якщо з вашою базою 1С виникли проблеми, полізли різні помилки або навіть вона перестала запускатися, слід виконати тестування і виправлення бази 1С. Перше і найважливіше, що потрібно зробити перед виправленням будь-якої конфігурації, – . Ми не дарма навели 2 способи створення резервної копії бази 1С. Навіть якщо конфігурація перестала запускатися в режимі конфігуратора, ви завжди зможете зробити її копію, скориставшись одним способом (копіюванням файлу конфігурації).

Тепер, коли резервну копію зроблено, запустіть базу в режимі конфігуратора:

Якщо ваша конфігурація пошкоджена на стільки, що не запускається навіть у режимі Конфігуратора, то для її відновлення можна , яка входить до комплекту постачання 1С Підприємство 8.

Виберіть пункт 'Адміністрування'-'Тестування та виправлення...' :

Перед вами відкриється вікно з налаштуваннями режиму перевірки та виправлення бази 1С, які потрібно вибрати та натиснути кнопку 'Виконати'.

Ця перевірка в залежності від розміру вашої бази може виконуватись дуже довго. Тому рекомендується вибирати по одному режиму перевірки в порядку їхнього слідування (спочатку тільки режим «Реіндексація таблиць інформаційної бази», потім лише режим «Перевірка логічної цілісності інформаційної бази» і т.д.) і після кожного виправлення перевіряти зникли чи ні помилки в базі 1С .

Розглянемо всі режими перевірки та виправлення по порядку:

Реіндексація таблиць інформаційної бази.

Для прискорення пошуку за певними реквізитами об'єктів конфігурації система 1с формує індекси. У цьому режимі виправлення система сформує всі індекси наново.

Перевірка логічної цілісності інформаційної основи.

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

Перевірка цілісності інформаційної бази.

У цьому режимі система перевіряє існування всіх посилань на об'єкти. Якщо є посилання на об'єкти, які не існують, система може або видалити такі збійні посилання, або спробувати їх виправити. Тому для перевірки необхідно додатково вказати, що робити з такими об'єктами: створювати нові, очищати або нічого не робити.

Перерахунок результатів.

Підсумки – це своєрідні індекси для регістрів. Наприклад, результати з регістру залишків товарів дозволяють швидко отримувати залишки товарів на потрібну дату тощо. У цьому режимі система перераховує всі підсумки за періоди. Як правило, це дуже довга за часом перевірка.

Стиснення таблиць інформаційної бази.

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

Реструктуризація таблиць інформаційної бази.

Найдієвіший режим у боротьбі з помилками. Принцип реструктуризації є наступним. p align="justify"> Для кожної таблиці бази даних створюється нова таблиця з аналогічною структурою і всі дані зі старої таблиці переносяться в нову.

Вибравши потрібний пункт, запустіть перевірку, натиснувши кнопку 'Виконати'.

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

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

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

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

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

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

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

Це можна зробити прямим копіюванням каталогу, де є інформаційна база. Якщо не вдається увійти в Конфігуратор, зробити копію можна тільки в такий спосіб.

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

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

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

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

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

Рис. 1. Вивантаження даних.

Підведемо підсумок:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 3. Вибір утиліти chdbfl.exe

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

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

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

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

  • Зробити резервну копію;
  • Спробувати увійти через Конфігуратор та скористатися опцією Тестування та виправлення;
  • Якщо конфігуратор не вдається увійти, знайти програму exe і спробувати врятувати дані за допомогою цієї програми;
  • Якщо всі спроби не дають результату, слід звернутися за допомогою до фахівців;
  • У разі невідновної втрати даних встановити останню працездатну резервну копію;
  • Якщо резервне копіювання не виконувалось – відновлювати дані за первинними документами та паперовими роздруками.

Вдале відновлення даних не завжди. Страховка від втрати даних є щоденне резервне копіювання: якщо інформаційна база пошкоджена, можна повернутися на день тому і швидко відновити втрачені записи.

vk.com/buhcenter група вконтакті.
1-bc.ru сайт компанії, на якому можна ознайомитись з послугами.
 Реіндексація таблиць інформаційної бази.
Для швидкого пошуку інформації до основних таблиць з основними даними додаються допоміжні таблиці, у яких дані сортуються за заданими полями основної таблиці - таблиці індексування. За рахунок використання таблиць індексування в рази збільшується продуктивність 1с, оскільки немає необхідності перебирати всю основну таблицю даних для вибірки, можна скористатися індексним файлом та вибрати необхідні записи звідти.
При записі даних в основні таблиці даних, таблиці індексування також заповнюються. Але з різних технічних причин індекси можуть збиватися, що може призводити до помилок. Для виправлення даного класу помилок, коли виконується тестування та виправлення бази 1с 8.3, необхідно встановити галочку у даного пункту меню.
 Перевірка логічної цілісності інформаційної бази
У момент створення нових об'єктів у конфігурації 1с у базі даних створюються нові таблиці, в яких зазначаються зв'язки з іншими таблицями бази. З різних причин зв'язки можуть стати некоректними (наприклад через некоректне оновлення або несподіване відключення електрики в момент запису). Щоб виправити такого роду помилки вибираємо цей пункт меню.
 Перевірка цілісності інформаційної бази
Ймовірно, вам доводилося бачити "биті посилання" в 1с конфігураціях. Якщо ні, то ви щасливчик!
Для виявлення та виправлення цих помилок вибираємо цей пункт меню, при цьому нижче активуються варіанти обробки таких помилок (див. мал. вище). Ми можемо вибрати, яким чином виправляти помилки за наявності посилань на неіснуючі об'єкти: створювати об'єкти, очищати посилання, не змінювати; і за часткової втрати даних: створювати об'єкти, видаляти об'єкт, не змінювати.
 Перерахунок підсумків
Для виконання швидких вибірок даних у базі 1с існують таблиці з прорахованими даними з періодичністю місяць. Коли ми звертаємося за цими даними - вони не збираються з основних таблиць (це зайняло б багато часу), а видаються відразу ж із даних таблиць підсумків. Відповідно, щоб цей механізм працював, необхідно мати коректні підсумки за минулі періоди. Тому якщо 1с «обманює» у звітах, то виправляється така помилка цим пунктом меню.
 Стиснення таблиць інформаційної бази
Видалення об'єктів у базі даних - операція досить копітка і довга, тому у конфігураціях 1с процес видалення розділений на 2 етапи. Коли ви видаляєте об'єкти у конфігурації, у базі даних 1с дані зануляються і тому беруть участь у подальших операціях, хоча фізично залишаються дома. Щоб вичистити таблиці від цих записів роблять тестування та виправлення бази 1с 8.3 з пунктом меню «Стискання таблиць інформаційної бази».
 Реструктуризація таблиць інформаційної бази
При зміні реквізитів будь-якого об'єкта метаданих 1с базі даних необхідно доповнити всі таблиці зміненого об'єкта новими записами. Це робиться через реструктуризацію таблиць бази даних. У процесі реструктуризації створюються копії таблиць бази даних із структурою поточної конфігурації, після цього здійснюється перенесення даних у створені таблиці. У разі додавання реквізиту в метаданих 1с для нього буде створена незаповнена колонка в новій таблиці; у разі видалення реквізиту - у новій таблиці колонка під цей реквізит не буде створена, і, відповідно, вона не перенесеться.
У процесі реструктуризації будуть перестворені всі таблиці бази даних, тому ця операція – найдовша.

Після аварійного завершення роботи програми 1С рекомендується протестувати та переіндексувати інформаційну базу (ІБ).

Порядок дій:

1. Зробіть копію інформаційної бази будь-яким із способів:

2. Запустіть програму 1С 7.7

3. У діалоговому вікні «Запуск 1С» у списку «У режимі» виберіть «Конфігуратор». У списку інформаційних баз виберіть потрібну базу. І натисніть OK.

4. Запуститься "Конфігуратор".

5. Виберіть "Адміністрування" - "Тестування та виправлення ІБ…"

6. У діалоговому вікні «Тестування та виправлення інформаційної бази», що відкрилося, перевірте, щоб були відмічені галочками наступні пункти:

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

За замовчуванням повинні бути встановлені всі етапи тестування, крім упаковки таблиць ІБ

7. Встановіть перемикач "Тестування та виправлення" (якщо Ви хочете провести тестування, встановіть "Тільки тестування").

8. Натисніть на кнопку «Налаштування».

У діалоговому вікні «Налаштування виправлення інформаційної бази» встановіть два перемикачі «Створювати об'єкти» - OK - Виконати.

9. З'явиться діалогове вікно Конфігуратора з повідомленням: «Перед виконанням операції рекомендується створити резервну копію бази даних, т.к. Виправлення бази даних - операція необоротна. Продовжити?». Натисніть OK.

10. Після завершення тестування у вікні Конфігуратора з повідомленням «Тестування інформаційної бази завершено» натисніть OK - Вихід.

Закрийте конфігуратор.

Примітка:

Якщо виправити інформаційну базу не вдається, відновіть її з останньої архівної копії (Докладніше про відновлення їхньої копії див. )

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

Тому перед відновленням перевірте, яка база даних обрана поточною.

Увага:

Якщо Ви не відчуваєте себе достатньо підготовленим користувачем програми, довірте роботу з інформаційною базою фахівцям!