Ошибка при выполнении операции с информационной базой 1С 8.3
Причины возникновения ошибки
Если копирование баз в архив выполнялось давно или вообще не выполнялось, ситуация становится близка к катастрофе. Приходится восстанавливать хозяйственные операции за большой период, а это всегда несет с собой риск появления новых ошибок.
Причины, вызывающие эту ошибку, могут быть совершенно разными:
- несовместимая версия файла базы данных;
- файл базы данных поврежден;
- ошибка соединения с сервером 1С: Предприятия 8.3;
- переустановка баз на сервере;
- проблема с портами на сервере
- и т.д.
Ошибки такого уровня очень серьезны. А в случае возникновения их на сервере — однозначно требуют обращения к специалистам. И если организации, устанавливающие клиент-серверный вариант, рассчитанный на большое число пользователей, обычно имеют в штате системных администраторов и программистов, отвечающих за сервер, то пользователи, работающие на обычных файловых вариантах 1С, должны уметь самостоятельно разобраться с этой проблемой и решить ее.
Как правило, ошибка при выполнении операции с информационной базой в файловом режиме работы означает, что произошло повреждение файла базы данных. Причин может быть множество:
- сетевые проблемы при записи файла;
- неудачное копирование базы;
- отключение электропитания в момент работы программы;
- и т.д.
В данной статье мы рассмотрим возникновение этой ошибки для пользователей файловых 1С и дадим два инструмента решения проблемы:
- Тестирование и исправление;
- использование утилиты chdbfl.exe.
Тестирование и исправление
Пошаговая инструкция Тестирования и исправления базы.
Шаг 1. Запустите 1С в режиме Конфигуратор.
Шаг 2. В конфигурации выберите пункт меню Администрирование — Тестирование и исправление.
Перед открытием формы тестирования программа напомнит о необходимости сделать копию базы перед проверкой. Если копия сделана — нажимаете на кнопку Продолжить.
Шаг 3. Настройка тестирования.
Форма тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Выполнить нужно все проверки в полном объеме, поэтому установите флажки напротив тех вариантов, где они не поставлены по умолчанию.
Форма тестирования и исправления информационной базы должна иметь следующий вид.
Рассмотрим основные группы переключателей проверки.
Группа переключателей проверки и режимы
Позволяет сделать выбор между режимом, производящим только проверку информационной базы и режимом, производящим коррекцию обнаруженных ошибок.
Проверка информационной базы:
- проверка логической целостности информационной базы;
- проверка ссылочной целостности информационной базы.
Коррекция обнаруженных ошибок:
- реиндексация таблиц информационной базы;
- пересчет итогов;
- сжатие таблиц информационной базы;
- реструктуризация таблиц информационной базы.
Группа переключателей тестирования
Варианты тестирования:
- Тестирование и исправление;
- Только тестирование.
Переключатель Тестирование и исправление выставлен по умолчанию, т. е. программа 1С будет не только искать ошибки, но и пытаться их исправить по заложенному разработчиками алгоритму.
При установке переключателя в положение Только тестирование будет произведен поиск ошибок без исправления. Просмотрев характер ошибок, пользователь сам примет решение: будет ли передавать ситуацию на автоматическое программное исправление или нет.
Группа при наличии ссылок на несуществующие объекты
Эта группа определяет, должна ли программа при обнаружении ссылок на несуществующие объекты:
- создавать объекты;
- удалять ссылки;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Группа переключателей при частичной потере данных объектов
Эта группа задает поведение программы, если было обнаружено, что данные объектов были частично потеряны, но оставшихся данных достаточно для того, чтобы восстановить потерянные. Пользователь самостоятельно выбирает вариант:
- создавать объекты;
- удалять объект;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Кнопка выполнить
При нажатии на кнопку Выполнить начинается процесс тестирования и исправления. По окончании проверки программа выдает системное сообщение об успешном окончании тестирования или список возможных проблем.
При просмотре сообщений обращайте внимание на сообщения типа:
Значение должно быть… Сохранено значение…
Если сообщения нарушения целостности в отчете есть, запустите тестирование повторно после исправления, чтобы убедиться, что программа решила проблему: эти сообщения должны уйти.
Утилита CHDBFL.EXE
Утилита включена в Платформу 1С и поставляется отдельно для каждой Платформы 1С.
Пошаговая инструкция работы с утилитой chdbfl.exe.
Определение платформы 1С
Откройте на вашем компьютере папку с Платформой, на которой работает ваша база. Как правило, это последняя установленная вами Платформа 1С, но могут быть случаи, когда запуск происходит с более старых версий специально, поэтому этот момент нужно уточнить. Сделать это можно, например, в конфигурации по справке о программе: меню Справка — О программе.
Место установки Платформы на компьютере зависит от ее разрядности:
- 32-разрядные Платформы 1С устанавливаются в каталог С:Program Files (x86)1cv8
- 64-разрядные Платформы 1С устанавливаются в каталог С:Program Files1cv8
Запуск утилиты CHDBFL.EXE
В выбранной Платформе 1С перейдите в папку bin и запустите утилиту chdbfl.exe.
Настройка проверки базы данных
Для настройки проверки физической целостности необходимо:
- выбрать файл информационной базы, где выходит ошибка;
- установить флажок Исправлять обнаруженные ошибки.
После нажатия на кнопку Выполнить запустится проверка физической целостности файла БД.
При успешном окончании проверки будет выдано соответствующее сообщение о том, что проверка завершилась без обнаружения ошибок или список таблиц, в которых было выполнено исправление.
Если рассмотренные здесь методы не помогли войти в базу данных и при запуске 1С выдается ошибка выполнения операции с информационной базой, то для восстановления целостности информационной базы и исправления ошибок следует обратиться к специалистам 1С.
Заказать консультацию
По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.
При работе с программами 1С Предприятие 8.3 пользователь может столкнуться с различного рода ошибками. Типичные ошибки 1С возникают вследствие программного сбоя, из-за некорректного выхода из программы или человеческого фактора. При этом причиной может стать сбой работы сети, отключение электроэнергии, сбой при динамическом обновлении и т.п.
В результате сбоя может быть нарушена логическая или физическая целостность программы. В зависимости от этого, программа может или совсем не открываться, или открываться в режиме «Конфигуратор», но не запускаться в пользовательском режиме, или работать, но при работе с определенными объектами выдавать сообщение об ошибке.
Приглашаем на
бесплатный вебинар!
06 июня в 11:00 мск
1 час
Если вашу программу сопровождает компания-франчайзи 1С, то без проблем можно обратиться за консультацией 1С. Также можно попытаться разобраться самому, и первое, что при возникновении нештатной ситуации нужно сделать пользователю, — проанализировать ошибку. Зачастую непосредственно в сообщении описывается ее суть, что может подсказать, как ее устранить. Необходимо проверить при работе в сети, запускается ли программа или появляется ли ошибка на другом компьютере. Если ошибка возникает при запуске программы – причину необходимо искать в кэше, если сбой происходит при попытке сформировать отчет или провести документ непосредственно в самой программе, то ошибка кроется непосредственно в информационной базе.
Рассмотрим, наиболее частые ошибки при работе 1С.
Ошибка Формата потока
Иногда при запуске программы пользователь может столкнуться с сообщением программы «Ошибка формата потока».
Устранение ошибки. В папке с установленной программой, кроме файла с информационной базой, имеются служебные временные файлы. При аварийном выключении программы также могут сохраниться файлы блокировок (которые автоматически должны были удалиться при выключении программы). Один из вариантов решения проблемы – это удаление из этой папки всех этих файлов. Такие файлы будут сформированы вновь при запуске программы, поэтому их можно смело удалить. Файл 1Cv8.1CD – файл информационной базы. Его удалять нельзя.
Кроме этого, следующим шагом (если первый вариант не дал результата) должно стать удаление информационной базы из списка в окне запуска 1С (кнопка «Удалить») и добавление ее обратно (кнопка «Добавить»). Тем самым мы очистим кэш.
Но такой вариант очистки кэша программы не очень верный, так как файлы при добавлении базы создаются новые, а старые так и остаются на диске. Поэтому при очистке кэша лучше их просто удалять самим вручную.
Посмотреть, где располагаются временные файлы программы, можно в кнопке «Настройка…» в окне запуска 1С. В поле «Каталоги шаблонов и конфигурация» видно, в какой папке располагаются временные файлы. В нашем примере в папке пользователя, далее в папке AppDataRoaming1Ctmplts.
Чтобы очистить кэш, необходимо удалить временные файлы из указанной папки.
Некоторые ошибки могут прямо указывать на папку с временными файлами, сообщая о проблеме. Например, ошибка «Неверный формат хранилища». Здесь видно, что программа указывает путь к папке с временными файлами. И чтобы очистить кэш вручную, надо удалить папки из указанной директории.
Неверный формат хранилища
На рисунке видно, что ошибка указывает на папку с временными файлами – AppData/Local/1C и далее папка с цифрами в названии.
То есть о решении проблемы уже сказано в самом сообщении. Для устранения ошибки необходимо очистить кэш, находящийся в указанной папке. В данном примере временные файлы находятся в папке Local, и очистка кэша должна решить проблему.
Ошибка СУБД. Внутренняя ошибка компоненты dbeng
Ошибка СУБД сама говорит о нарушении структуры базы данных. Довольно распространенная ошибка этого рода – «Внутренняя ошибка компоненты dbeng8».
Компонента dbeng8.dll находится в папке bin установленной платформы 1С.
Поэтому первый вариант решения проблемы – переустановка платформы 1С. При этом если компьютеры составляют сеть, на всех компьютерах должна быть установлена одна версия платформы 1С, а если нет возможности обновлять платформу, то можно просто скопировать этот файл из другой папки установки.
Если переустановка платформы не помогла, то переходим к варианту тестирования и исправления базы данных. Другие ошибки касающиеся СУБД также решаются этим способом.
«Ошибка СУБД: Файл базы данных поврежден»
Например, «Ошибка СУБД: Файл базы данных поврежден» решается тестированием и исправлением файла информационной базы.
Тестирование и исправление информационной базы с помощью утилиты chdbfl.exe
Одним из вариантов тестирования и исправления при возникновении ошибок, связанных с СУБД, является использование утилиты chdbfl.exe. Она предназначена для проверки физической целостности базы данных при работе с файловой информационной базой. Этот способ используется также, когда база 1С не запускается в режиме Конфигуратора.
Хотелось бы напомнить, что перед любыми действиями с информационной базой необходимо выполнить резервное копирование – в режиме Конфигуратора через пункт меню «Администрирование»-«Выгрузить информационную базу». Или можно скопировать файл информационной базы – 1Сv8.CD, из каталога, где она размещается.
Файл утилиты chdbfl.exe находится в папке bin, установленной платформы 1С – обычно в папке Program Files (х86)-1cv8, а далее папка с релизом платформы.
Запустив утилиту, в поле «Имя файла БД» указываем путь к файлу базы данных. Здесь надо установить галочку «Исправлять обнаруженные ошибки» и нажать кнопку «Выполнить». В результате утилита проверит физическую целостность базы данных и в случае обнаружения ошибок исправит их.
Если данный способ тестирования не решил проблему, то необходимо провести тестирование информационной базы в режиме «Конфигуратор».
Тестирование информационной базы в Конфигураторе
Для тестирования и исправления информационной базы запустим программу в режиме «Конфигуратор». В пункте меню «Администрирование» выберем «Тестирование и исправление…».
В открывшемся окне тестирования базы устанавливаем необходимые для тестирования галочки.
«Реиндексация таблиц информационной базы» – исправляет ошибки, связанные со сбоем индексов. В программе ошибки могут проявляться наличием незаполненных полей, например, в документе отсутствует наименование или количество и т.п. При тестировании и исправлении рекомендуется выбирать этот пункт, так как он помогает решить большинство проблем, реиндексируя все таблицы.
«Проверка логической целостности информационной базы» – помогает исправить ошибки 1С, связанные с нарушением логической целостности. При ошибках такого рода программа может работать, но при обращении к объекту, в котором произошло нарушение (например, документу), программа будет выдавать ошибку. Установив данную галочку, программа проверит логическую целостность в структуре таблиц информационной базы.
«Проверка ссылочной целостности» – решает проблемы, связанные с возникновением ссылок на несуществующие объекты, которые появляются в результате сбоя или непосредственного удаления объекта. При обнаружении таких объектов необходимо выбрать вариант действия – создать, удалить объект, изменять его.
«Пересчет итогов». При сбое в программе в отчетах могут отображаться неверные данные, при расшифровке которых не видно их детализации, т.е. «цифра» есть, а данных о ней нет. В результате установки этой галочки будут пересчитаны все итоги в информационной базе, и данные восстановятся согласно существующим документам заново.
«Сжатие таблиц информационной базы». При установлении данной галочки происходит физическое удаление записей в таблицах, которые ранее были помечены на удаление в программе. Ведь при удалении объектов в базе, в таблицах они все равно сохраняются, накапливаясь и создавая объем. В результате этой операции таблицы информационной базы становятся меньше.
«Реструктуризация таблиц информационной базы» – данное действие создает новые таблицы, перенося в них данные из старых таблиц. То же самое происходит при выполнении обновления программы. Установление этой галочки исправляет некоторые ошибки.
После установки необходимых галочек нажимаем кнопку «Выполнить» и ждем окончания тестирования. По окончании тестирования программа выведет информацию о результатах тестирования.
При решении некоторых проблем помогает выгрузка и загрузка информационной базы в файл *dt (пункт меню «Администрирование» — «Выгрузка информационной базы…», затем «Загрузка информационной базы…»).
Данные ошибки возможны в файловых информационных базах. В любом случае, возникающие ошибки в программе необходимо анализировать. Но при их появлении, первые действия, которые можно предпринять, это:
- Очистить кэш;
- Провести тестирование и исправление с помощью утилиты chdbfl.exe;
- Тестирование и исправление базы в режиме «Конфигуратор»;
- Обновить платформу «1С:Предприятие».
При этом, конечно же, версия программы должна быть актуальной. Некоторые ошибки устраняются после установки обновления программы. Если проблемы с возникновением ошибок не удалось решить, обратитесь к нашим специалистам: мы проконсультируем и подберем для вас оптимальный тариф сопровождения и стоимость доработки 1С, исходя из ваших конкретных задач и потребностей.
Иногда в работе с программой 1С 8.3 могут возникнуть какие-то непредвиденные ситуации — сбои в работе, программа выдает какие-то ошибки, не проводится документ или же просто некорректно отображаться информация. В таких случаях, первое что может помочь — это произвести тестирование и исправление информационной базы 1С 8.3.
Содержание
- Тестирование и исправление информационной базы 1С
- Тестирование базы 1С, проверка на ошибки
- Реиндексация таблиц информационной базы 1С: что это
- Проверка логической целостности информационной базы 1С
- Проверка ссылочной целостности информационной базы 1С
- Пересчет итогов
- Сжатие таблиц информационной базы 1С
- Реструктуризация таблиц информационной базы 1С
Запускаем информационную базу 1С в режиме Конфигуратор и заходим в пункт меню Администрирование — Тестирование и исправление.
Стоит помнить, что перед любыми действиями с информационной базой 1С необходимо выполнить ее резервное копирование.
В открывшемся окне несколько пунктов выбора вариантов проверки и режимов, и чтобы правильно установить параметры тестирования 1С и правильно установить галочки, нам нужно понимать суть происходящего. Рассмотрим, что означает каждый пункт и для чего он предназначен.
Тестирование базы 1С, проверка на ошибки
Реиндексация таблиц информационной базы 1С: что это
При работе с программой 1С 8.3 вся информация (заполнение справочников, создание документов и т.п.) записывается в таблицы. Кроме основных таблиц существуют вспомогательные таблицы, в которых эти данные сортируются по заданным полям, для ускорения поиска, что увеличивает быстродействие программы 1С — это таблицы индексирования.
В результате программного сбоя индексы могут сбиваться, вследствие чего появляются ошибки, например в документе отсутствует наименование или количество, не заполнено поле и т.п.
Для исправления такого рода ошибок в базе 1С устанавливаем галочку Реиндексация таблиц информационной базы.
При тестировании и исправлении в 1С реиндексируются все таблицы. И хотя данный пункт занимает длительное время, он помогает решить большую часть проблем.
Проверка логической целостности информационной базы 1С
При создании новых объектов в информационной базе 1С 8.3 создаются новые таблицы, связанные с другими таблицами. Ошибки нарушающие логическую целостность могут возникнуть вследствие некорректного обновления программы 1С, выключения компьютера в момент создания или записи документа (или любого другого элемента программы), сбоя в работе сети.
При этом программа 1С может работать, но ошибка будет возникать при обращении к тому документу (или объекту) в момент создания которого произошел сбой.
При тестировании и исправлении и установке данной галочки будет произведена проверка логических ошибок в структурах таблиц информационной базы.
Проверка ссылочной целостности информационной базы 1С
В ходе работы с программой 1С могут возникнуть ссылки на несуществующие или разрушенные объекты, так называемые битые ссылки. Они могут в результате сбоя или непосредственного удаления объекта. В случае, если в ходе проверки будет такой объект найден, необходимо в настройке дополнительно галочками указать, какие действия с ним производить.
При тестировании и исправлении и обнаружении ссылок на несуществующие объекты в 1С предлагается три варианта действия — создать объект, очистить ссылку или не изменять, при обнаружении частично потерянных данных объекта — создать, удалить объект, или не изменять его. При выполнении действия:
- Создавать объекты, система создает своего рода объект-заглушку, которые впоследствии можно будет исправить.
- Очищать ссылки, удалять объект — битые ссылки будут очищены, объекты удалены.
- Не изменять — в этом случае проверка лишь покажет ошибки, не предпринимая никаких действий.
Пересчет итогов
Иногда в отчетах могут отражаться неверные данные. Мы исправляем, перепроводим документы, а они не меняются… Видим цифру, открываем карточку счета — документа нет. В чем может быть проблема? Все просто — сбились итоги.
Для удобства работы в программе 1С 8.3 существуют вспомогательные таблицы, которые хранят данные об уже просчитанных итогах. Они нужны, чтобы при обращении к необходимой информации она не выбиралась из общих таблиц, а получалась из таблицы итогов. Это значительно экономит время обработки информации.
Например, данные из таблицы итогов по регистру Остатки материалов, позволяют нам быстро определить их остатки на складах на определенную дату. Установив галочку при тестировании — Пересчет итогов, будут пересчитаны итоги во всей информационной базе 1С и заново занесены в таблицы итогов.
Сжатие таблиц информационной базы 1С
При удалении объектов в информационной базе 1С (документов, справочников и т.п.) они не удаляются физически, эти записи остаются в таблицах, но пользователь их не видит. В результате накопления таких объектов, увеличивается объем информационной базы 1С, что приводит к замедлению работы.
Сжатие таблиц в 1С 8.3 — это физическое удаление записей, которые ранее были помечены на удаление и удалены из программы, информация о них удаляется полностью из информационной базы, в результате таблицы базы становятся меньше. Такого же эффекта можно достичь путем выгрузки и загрузки файла информационной базы через Конфигуратор (*.dt).
Реструктуризация таблиц информационной базы 1С
Это создание заново структуры информационной базы, создание новых таблиц, и перенос старых данных в новые таблицы. Реструктуризация также происходит при обновлении информационной базы. В результате этих действий также возможно исправление некоторого рода ошибок программы 1С.
Обращаем внимание на переключатель, который задает что делать при тестировании — выполнять Только тестирование (в этом случае будет выведена только информация об ошибках) или Тестирование и исправление ошибок.
После установки параметров тестирования, нажимаем кнопку Выполнить и ждем результат.
В строке состояния отображается информация о ходе тестирования.
По окончании тестирования 1С будет выведена информация об ошибках и их исправлении.
Если в ходе тестирования возникли какие то проблемы, можно восстановить информационную базу из резервной копии, созданной до начала тестирования.
См. также:
- 1С оптимизация: что делать, если программа тормозит
- Обновление 1С: как обновить конфигурацию самостоятельно
- Утилита chdbfl.exe для 8.3
- Свертка базы 1С 8.3
- Резервное копирование 1С 8.3 Бухгалтерия 3.0
- Как удалить помеченные на удаление документы в 1С 8.3
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
В этой статье мы рассмотрим данную системную утилиту «Тестирование и исправление информационной базы» в 1С 8.3 и особенности её использования.
Перед проведением любых операций необходимо сделать резервную копию базы данных!
Режим тестирования и исправления вызывается в конфигураторе системы 1С 8.3 выбором меню Администрирование — Тестирование и исправление.
Проверки и режимы
В этом окне указывается список необходимых проверок и режимов, которые будут произведены в результате работы утилиты. Рассмотрим каждую галочку подробнее:
- Реиндексация таблиц информационной базы — если установлен этот флаг, будет произведена реиндексация таблиц. Реиндексация — полное перестроение индексов для заданных таблиц. Реиндексация существенно повышает производительность системы в целом. Данная процедура никогда не будет лишней и увеличивает производительность системы.
- Проверка логической целостности информационной базы — система умеет проверять логическую и структурную целостность базы данных, находить ошибки в организации данных (например, страниц в файле).
- Проверка ссылочной целостности информационной базы — подпункт логической проверки, проверяет информацию в базе данных на наличие «битых» ссылок. «Битые» ссылки появляются в базе из-за некорректной обработки информации разработчиком, чаще всего при непосредственном удалении данных или неправильно настроенном обмене данных. При нахождении ошибок можно выбрать 3 варианта действий: Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией, Очищать ссылки — «битые» ссылки будут очищены, Не изменять — система только покажет Вам ошибки.
- Пересчет итогов — в платформе 1С в регистрах накопления и регистрах бухгалтерии есть понятие итогов. Итоги — таблица подсчитанных результатов, данные из которой получить быстрее, чем анализировать весь регистр сведений. Как правило, пересчет итогов увеличивает производительность системы.
- Сжатие таблиц информационной базы — если установлен этот флаг, база данных будет сжата и уменьшится в объеме. Связанно это с тем, что при удалении данных из базы данных, 1С не удаляет физически эти объекты, а лишь «помечает» их на удаление. Т.е. пользователь не видит их, а они есть :). Вот именно сжатие базы данных и удаляет такие записи окончательно. Также такого эффекта можно достичь выгрузкой и загрузкой файла базы данных (*.dt).
- Реструктуризация таблиц информационной базы — процесс, с помощью которого система осуществляет пересоздание таблиц баз данных, обычно эта процедура вызывается при внесения изменений в структуру метаданных конфигурации. Реструктуризация всей БД — процесс долгий, будьте внимательны.
Если по каким-то причинам тестирование и исправление не помогает или у вас нет доступа в конфигуратор, воспользуйтесь утилитой chdbfl.exe.
Другие статьи по 1С:
- Администрирование (обновление 1С, резервные копии и т.д);
- Программирование 1С
- Обучение 1С
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
- Самоучитель по 1С Бухгалтерии 8.3;
- Самоучитель по 1С ЗУП 8.3.
Бонус! Видеоинструкция по проведению тестирования и исправления БД 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Тестирование и исправление информационной базы — позволяет проверить базу на наличие ошибок и оптимизировать хранение данных. Данный сервис доступен для информационных баз как файлового так и клиент-серврного варианта. Запускать тестирование необходимо в монопольном режиме. Перед запуском тестирования необходимо сделать резервную копию информационной базы.
Для запуска тестирования и исправления необходимо открыть конфигуратор. В главном меню нажать Администрирование->Тестирование и исправление…
Установки
- Реиндексация таблиц информационной базы
- Проверка логической целостности информационной базы
- Проверка ссылочной целостности информационной базы
- Пересчет итогов
- Сжатие таблиц информационной базы
- Реструктуризация таблиц информационной базы
Реиндексация таблиц информационной базы
Для быстрого поиска система 1С индексирует реквизиты объектов. Реиндексация изменяет, добавляет индексы реквизитов, что позволяет повысить производительность запросов к базе и поиска.
Проверка логической целостности информационной базы
На техническом уровне проверяется системная логика и структура организации информационной базы.
Проверка ссылочной целостности информационной базы
Проверяются все объекты информационной базы на существование. Например если программно удалить объект, то на него могут остаться ссылки в других объектах. Ниже можно выбрать действие при нахождении ссылок на несуществующие объекты.
Создать объект — будет создан пустой объект. Очищать ссылки — ссылки будут очищаться из полей. Не изменять — только выведется информация о ссылках на несуществующие объекты.
Пересчет итогов
В регистрах бухгалтерии и накопления есть встроенная таблица итогов. В ней хранятся остатки в разрезе измерений с периодичностью месяц. Это позволяет быстро получать остатки. Пересчет итогов может повысить производительность.
Сжатие таблиц информационной базы
Это позволяет уменьшить объем информационной базы. При удалении объектов из базы пользователь видит объект удален, а технически он не сразу удаляется из базы. Сжатие информационной базы позволяет избавиться от такой и другой устаревшей информации. Такого же эффекта можно достичь с помощью выгрузки и загрузки (*.dt) файла информационной базы через конфигуратор.
Реструктуризация таблиц информационной базы
Время реструктуризации зависит от количества данных и структуры конфигураци. Таблицы информационной базы пересоздаются заново и данные из старых таблиц записываются в новые. Данная настройка может помочь исправить ошибки связанные с изменениями в структуре базы данных.
Функционирование программы может нарушиться вследствие аварийного прекращения работы, например при отключении электроэнергии. Потом в базу данных не удается войти.
Иногда функционирующая программа может показывать неверные результаты. Из списка «исчезают» документы, при попытке открыть документ программа зависает, в отчетах появляются странные результаты. Все эти «глюки» прекращаются после тестирования и исправления 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 и попытаться спасти данные при помощи этой программы;
- Если все попытки не дают результата, нужно обратиться за помощью к специалистам;
- В случае невосстановимой потери данных установить последнюю работоспособную резервную копию;
- Если резервное копирование не выполнялось – восстанавливать данные по первичным документам и бумажным распечаткам.
Удачное восстановление данных происходит не всегда. Страховкой от потери данных является ежедневное резервное копирование: если информационная база повреждена, можно вернуться на день назад и быстро восстановить потерянные записи.
С ошибками в работе баз данных, возникающими по самым разным причинам, начиная с отключения электричества, заканчивая поломкой оборудования, сталкивался любой пользователь и системный администратор. И если пользователь просто видит, что программа дает, например, перезагрузиться, но закрыть ее не получается, то администратор будет ошибки искать и бороться с ними.
Первым предложением каждого специалиста в такой ситуации, станет восстановление резервной копии. Если таковой не имеется или она устарела, необходимо будет предпринять ряд несложных действий, например, протестировать базу 1С. В данной статье мы рассмотрим только один из механизмов поиска и устранения ошибок в базах данных 1С, а также особенности его использования.
Тестирование и исправление информационной базы 1С мы рассмотрим на примере конфигурации 1С Бухгалтерия редакции 3.0 (релиз – 3.0.54.20), платформа — 8.3.10.2561. Для более старых редакций и других конфигураций, а также версий платформы 8.2, алгоритм работы данной утилиты аналогичен.
Начнем с нашего обязательного напоминания о том, что перед ЛЮБЫМИ манипуляциями с конфигуратором 1С, в том числе и перед тем, как провести тестирование и исправление базы 1С 8.3, рекомендуется создать резервную копию той базы данных, с которой мы собираемся иметь дело.
Нужный нам режим работы, созданный, чтобы протестировать базу 1С и исправить найденные ошибки, доступен в конфигураторе, в разделе меню «Администрирование».
Запустив утилиту, мы увидим следующее окно:
Оно содержит перечень проверок и режимов, а также способы тестирования. Остановимся на каждом из них подробнее.
Реиндексация таблиц ИБ
– при постановке галочки проводится реиндексация таблиц. Это процесс полного перестроения индексов таблиц БД. Реиндексация достаточно сильно улучшает производительность и быстродействие систем 1С.
Контроль логической целостности ИБ
– механизм проверки организации данных, а также нахождения ошибок в логической и структурной целостности исследуемой БД.
Ссылочная целостность ИБ
– проверяет ИБ на наличие «битых» или «пустых» ссылок, которые появляются при некорректной обработке информации, а зачастую и при удалении данных или некорректно настроенном обмене данными.
Пересчет итогов,
с понятием о которых мы сталкиваемся в регистрах 1С. Это таблицы результатов, подсчитанные данные из которых анализировать проще и быстрее, чем «пересматривать» весь регистр. Процедура способна увеличить скорость работы БД.
Сжатие таблиц ИБ
– уменьшает объем БД. Дело в том, что при удалении объектов из БД, 1С не удаляет их окончательно, а только помечает на удаление. Т.е. они остаются в БД, но не доступны в работе. Если такие данные не удаляются специальной обработкой, то они удаляются при сжатии таблиц ИБ. Того же эффекта, кстати, можно достичь выгрузкой/загрузкой файла БД.
Реструктуризация таблиц ИБ
– во время этого процесса система пересоздает таблицы БД. Обычно это происходит при внесении изменений в структуру метаданных конфигурации. Процесс может занять длительное время.
Чуть ниже этого списка находится поле выбора вида тестирования: будет ли проходить просто тестирование, при котором система покажет имеющиеся ошибки, но не будет их исправлять, или тестирование с дальнейшим исправлением. В этом случае система постарается исправить все найденные ошибки.
Еще ниже находятся варианты работы с «битыми» ссылками и при частичной потере данных. Доступны три варианта:
- Создавать объекты
– система создает пустой элемент, который потом можно будет заполнить данными вручную. - Очищать ссылки
– «битые» ссылки и объекты с частичными данными будут удалены. - Не изменять
– только показав ошибки, объекты система менять не станет.
И последняя зона нашего окна – возможность приостановить и продолжить прерванное тестирование. Дело в том, что в некоторых БД процесс тестирования и исправления может занять длительное время (от 1-2, до 20-30 часов). При наличии подозрений на то, что система будет проводить проверку очень долго, можно поставить галочку «Прервать выполнение проверки через» и установить временной промежуток, по истечении которого выполнение проверки будет приостановлено.
При наличии галочки «Продолжить прерванное ранее тестирование», нажатие кнопки «Выполнить» продолжит тестирование с места остановки.
Утилита chdbfl.exe
Если в силу ряда причин попасть в конфигуратор мы не можем – нет прав на запуск, например, то можно воспользоваться утилитой «chdbfl.exe». Это, по сути, аналог тестирования и исправления файловой (для SQL не подходит) информационной базы. Она проводит проверку физической целостности БД. Рассмотрим, где она находится и как ею пользоваться.
Заходим в папку с установленной платформой. Скачивать файл не надо.
После запуска мы увидим следующее окно:
В нем нужно указать путь к файлу БД и подтвердить (или не делать этого) необходимость исправления выявленных ошибок. Путь к файлу БД можно узнать из списка баз данных.
После окончания проверки система сообщит о найденных ошибках.
Если с вашей базой 1С возникли проблемы, полезли различные ошибки или даже она перестала запускаться, то следует выполнить тестирование и исправление базы 1С.Первое и самое важное, что нужно сделать перед исправлением любой конфигурации, – . Мы не зря привели 2 способа создания резервной копии базы 1С. Даже если конфигурация перестала запускаться в режиме конфигуратора, вы всегда сможете сделать ее копию, воспользовавшись 1 способом (копированием файла конфигурации).
Теперь, когда резервная копия сделана, запустите базу в режиме конфигуратора:
Если ваша конфигурация повреждена на столько, что не запускается даже в режиме Конфигуратора, то для ее восстановления можно , которая входит в комплект поставки 1С Предприятие 8.
Выберите пункт ‘Администрирование’-‘Тестирование и исправление…’ :
Перед вами откроется окно с настройками режима проверки и исправления базы 1С, которые нужно выбрать и нажать кнопку ‘Выполнить’.
Данная проверка в зависимости от размера вашей базы может выполняться очень долго. Поэтому рекомендуется выбирать по одному режиму проверки в порядке их следования (вначале только режим «Реиндексация таблиц информационной базы», затем только режим «Проверка логической целостности информационной базы» и т.д.) и после каждого исправления проверять пропали или нет ошибки в базе 1С.
Рассмотрим все режимы проверки и исправления по порядку:
Реиндексация таблиц информационной базы.
Для ускорения поиска по определенным реквизитам объектов нашей конфигурации система 1с формирует индексы. В данном режиме исправления система сформирует все индексы заново.
Проверка логической целостности информационной базы.
Как следует из названия, в данном режиме система проверяет и исправляет логические ошибки в структурах таблиц базы данных.
Проверка ссылочной целостности информационной базы.
В данном режиме система проверяет существование всех ссылок на объекты. Если находятся ссылки на объекты, которые не существуют, то система может либо удалить такие сбойные ссылки, либо попытаться их исправить. Поэтому для данной проверки необходимо дополнительно указать, что делать с такими объектами: создавать новые, очищать или ничего не делать.
Пересчет итогов.
Итоги — это своеобразные индексы для регистров. Например, итоги по регистру остатков товаров позволяют нам быстро получать остатки товаров на нужную дату и т.д. В данном режиме система пересчитывает все итоги за все периоды. Как правило это очень долгая по времени проверка.
Сжатие таблиц информационной базы.
Данный режим больше относится к повышению быстродействия работы конфигурации, нежели к устранению ошибок, но тем не менее. Со временем базы данных сильно увеличиваются в размерах. Это происходит, потому что в базе накапливается много данных, которые мы пометили на удаление, затем удалили, но на самом-то деле в базе они по-прежнему остались (просто мы их больше не видим). Сжатие таблиц информационной базы производит их настоящее удаление и база сокращается в размере.
Реструктуризация таблиц информационной базы.
Самый действенный режим в борьбе с ошибками. Принцип реструктуризации следующий. Для каждой таблицы базы данных создается новая таблица с аналогичной структурой и все данные из старой таблицы переносятся в новую.
Выбрав нужный пункт, запустите проверку нажав на кнопку ‘Выполнить’.
Совсем недавно, начиная с версии 3.0.43.50, в программе 1С:Бухгалтерия 8 редакция 3.0 в документ «Корректировка поступления» разработчиками добавлен новый вид операции Исправление собственной ошибки. Теперь документ позволяет не только регистрировать полученные от поставщика исправленные или корректировочные счета-фактуры и производить соответствующую корректировку в учете, но и исправлять допущенные работниками бухгалтерии технические ошибки. В данной статье мы на конкретном примере подробно рассмотрим, как можно исправить в бухгалтерском учете и в целях налогообложения ошибку, совершенную при вводе в программу сведений из первичного документа.
Напомню, для того, чтобы в программе можно было пользоваться документами Корректировка поступления и Корректировка реализации, необходимо в настройках функциональности программы на закладке Торговля включить флажок Исправительные и корректировочные документы.
Рассмотрим пример
Организация «Рассвет» применяет общий режим налогообложения – метод начисления и Положение по бухгалтерскому учету (ПБУ) 18/02 «Учет расчетов по налогу на прибыль организаций». Организация является плательщиком НДС.
В январе 2016 года при вводе в программу первичного документа, предъявленного сторонней организацией акта об оказании услуг, бухгалтер-операционист допустил две ошибки. Во-первых, указал неверную стоимость услуги, а во-вторых, при регистрации полученного от поставщика счета-фактуры, ошибся в указании его номера. Полученный от поставщика акт об оказании услуг регистрируется в программе с помощью документа Поступление с видом операции Услуги. В графе «Сумма» табличной части документа вместо правильных 6 000 рублей было указано 5 000 рублей.
Полученный счет-фактура регистрируется в «подвале» документа путем указания его номера и даты. Вместо «настоящего» номера 7 был указан номер 1.
Расходы на приобретенную услугу в бухгалтерском учете относятся к общехозяйственным расходам (счет учета 26). Документ Поступление с вышеперечисленными ошибками и результат его проведения представлены на Рис. 1.
При проведении документ в бухгалтерском учете и в целях налогообложения прибыли учел стоимость услуг без НДС по дебету счета 26 «Общехозяйственные расходы», выделил по дебиту счета 19.04 «НДС по приобретенным услугам» сумму предъявленного поставщиком НДС в корреспонденции с кредитом счета 60.01 «Расчеты с поставщиками и подрядчиками». Также документ сформировал запись в регистр накопления НДС предъявленный, который является основанием для формирования записей в книгу покупок.
Следовательно, в результате допущенной ошибки при указании стоимости услуги в бухгалтерском учете и в целях налогообложения прибыли занижена сумма расходов, занижена сумма предъявленного НДС и занижена задолженность перед поставщиком.
Документ Счет-фактура полученный формируется в программе на основании документа Поступление и, как следствие, содержит неправильные сумму и сумму НДС.
Сформированный с неправильным номером документ Счет-фактура полученный приведен на Рис. 2.
В программе сумма НДС может приниматься к вычету либо с помощью регламентного документа Формирование записей книги покупок, либо непосредственно в документе Счет-фактура полученный, при включенном флажке Отразить вычет НДС в книге покупок датой получения.
Результат проведения документа Счет-фактура полученный приведен на Рис. 3.
Документ при проведении в бухгалтерском учете принял к вычету сумму НДС и сформировал запись в регистр НДС Покупки (в книгу покупок), соответственно, с заниженной суммой НДС и ошибочным номером счета-фактуры.
Книга покупок за первый квартал показана на Рис. 4.
Стоимость услуги была оплачена поставщику только в следующем квартале. Документ Платежное поручение был создан на основании ошибочного документа Поступление.
Проводка соответствующего документа Списание с расчетного счета, созданного при получении выписки с расчетного счета, показана на Рис. 5.
Наконец, в результате проведенной с поставщиком сверки взаиморасчетов, во втором квартале данная ошибка была обнаружена. Отчетность по НДС за первый квартал на данный момент уже была сдана.
Давайте вначале вспомним, как должна исправляться такая ошибка в бухгалтерском и налоговом учете.
В соответствии с п. 5 ПБУ 22/2010 «Исправление ошибок в бухгалтерском учете и отчетности», ошибка отчетного года, выявленная до окончания этого года, исправляется записями по соответствующим счетам бухгалтерского учета в том месяце отчетного года, в котором выявлена ошибка.
В соответствии с п. 1 ст. 54 НК РФ, при обнаружении ошибок (искажений) в исчислении налоговой базы, относящихся к прошлым налоговым (отчетным) периодам, в текущем налоговом (отчетном) периоде перерасчет налоговой базы и суммы налога производится за период, в котором были совершены указанные ошибки (искажения).
Правда из этого правила есть исключения. В соответствии с тем же самым пунктом НК РФ, налогоплательщик вправе провести перерасчет налоговой базы и суммы налога за налоговый (отчетный) период, в котором выявлены ошибки (искажения), относящиеся к прошлым налоговым (отчетным) периодам, когда допущенные ошибки (искажения) привели к излишней уплате налога.
Как мы уже говорили, в результате допущенной ошибки, была занижена сумма расходов. Следовательно, в целях налогообложения прибыли, была завышена налогооблагаемая база (прибыль) и, соответственно, это привело к излишней уплате налога. Поэтому исправления в целях налогообложения прибыли можно произвести в текущем отчетном периоде, как и в бухгалтерском учете.
А вот для того, чтобы разобраться, как нам поступить с НДС, мы обратимся к Постановлению Правительства Российской Федерации № 1137 от 26.12.2011 года. В соответствии с п. 4 Правил ведения книги покупок, при необходимости внесения изменений в книгу покупок (после окончания текущего налогового периода) аннулирование записи по счету-фактуре, корректировочному счету-фактуре производится в дополнительном листе книги покупок за налоговый период, в котором были зарегистрированы счет-фактура, корректировочный счет-фактура, до внесения в них исправлений.
Для исправления описанной нами ошибки мы воспользуемся документом Корректировка поступления и в качестве вида операции выберем Исправление собственной ошибки.
На закладке Главное необходимо выбрать основание – это тот документ поступления, в котором допущена ошибка, который мы будем корректировать (в нашем случае это документ Поступление (акт, накладная) № 1 от 11.01.2016 г.). Чуть ниже, при выборе основания, автоматически отражается ссылка на исправляемый документ Счет-фактура полученный и его реквизиты.
Нам необходимо исправить входящий номер (новое значение равняется 7). На данной закладке можно выбрать, где будет отражаться корректировка: только в учете НДС или во всех разделах учета (мы хотим внести исправления в бухгалтерский учет, в учет по налогу на прибыль и в учет НДС). Также можно выбрать счета для отражения доходов и расходов.
Заполненная закладка Главное документа Корректировка поступления представлена на Рис. 6.
Если для исправления ошибки, необходимо исправлять какие-то суммовые показатели, то тогда могут понадобиться закладки: Товары, Услуги, Агентские услуга.
Так как в нашем примере ошибка допущена при вводе в программу акта об оказании услуг, мы воспользуемся закладкой Услуги и укажем правильную цену – 6 000 рублей.
Закладка Услуги документа Корректировка поступления представлена на Рис. 7.
При проведении документ в бухгалтерском учете сторнирует ошибочную проводку по вычету НДС (Дт 68.02 — Кт 19.04) на сумму 900 рублей и сформирует правильную проводку на сумму 1 080 рублей. Дополнительно выделит по дебету счета 19.04 недостающую сумму предъявленного поставщиком НДС (180 рублей), увеличит по дебету счета 26 «Общехозяйственные расходы» в бухгалтерском и налоговом учете сумму расходов на услугу (1 000 рублей) и, соответственно, увеличит по кредиту счета 60.01 сумму задолженности поставщику (1 180 рублей).
Проводки документа Корректировка поступления представлены на Рис. 8.
Кроме проводок в бухгалтерском и налоговом учете документ сформирует записи в регистрах накопления по НДС.
В регистре НДС предъявленный (суммы НДС, предъявленные поставщиками) будет зафиксирован приход на правильную сумму НДС, и, так как эта сумма НДС непосредственно документом регистрируется в книге покупок, сразу же будет отражен ее расход.
В регистре НДС Покупки будут сформированы две записи. Первая запись — это сторно не правомерно принятой к вычету суммы НДС с ошибочным номером счета-фактуры. А вторая запись — это вычет правильной суммы НДС по счету-фактуре с правильными реквизитами. Так как исправления вносятся в прошлый налоговый период по НДС, в сформированных записях будет проставлен признак дополнительного листа и прописан соответствующий корректируемый период.
Сформированные документом Корректировка поступления записи в регистры накопления представлены на Рис. 9.
Также при проведении документа в программе будет создан (зарегистрирован) новый документ Счет-фактура полученный с пояснением «исправление собственной ошибки» (смотри Рис. 6). Данный документ можно просмотреть в списке документов Счет-фактура полученный. Ошибочный и исправленный документы показаны на Рис. 10.
Форма исправленного документа Счет-фактура полученный содержит дату исправления и ссылку на исправляемый документ. Также в форме документа присутствуют значения реквизитов полученного от поставщика счета-фактуры до исправления ошибки и после ее исправления (Рис. 11).
Давайте, для проверки корректности наших действий, сформируем книгу покупок за первый квартал – налоговый период, в котором была допущена ошибка.
В формируемом нами отчете укажем нужный период. В настройках отчета включим флажок «Формировать дополнительные листы» и укажем вариант формирования – за текущий период.
Настройки отчета Книга покупок показаны на Рис. 12.
Посмотрим дополнительный лист книги покупок.
Как и положено, в дополнительном листе указывается номер дополнительного листа, налоговый период и дата составления. В графе 16 табличной части приводится итоговая сумма НДС за налоговый период до составления дополнительного листа.
В дополнительном листе присутствуют, как мы и ожидали, две строки: сторно по счету-фактуре с ошибочными номером и суммами и исправленная запись с правильным номером счета-фактуры и правильными суммами.
Дополнительный лист книги покупок за первый квартал представлен на Рис. 13.
Как сделать тестирование и исправление базы 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С напомнит о том, что нужно сделать резервную копию, но вы ее уже сделали, если следовали нашей инструкции, поэтому нажимаем «Продолжить».
Откроется окно «Тестирование и исправление информационной базы». Выглядит оно так:
Давайте чуть подробнее остановимся на проверках:
Реиндексация таблиц информационной базы — благоприятно повлияет на скорость работы программы.
Проверка логической целостности информационной базы — исправит некоторые ошибки в работе программы
Проверка ссылочной целостности информационной базы — один из способов борьбы с «битыми ссылками». Битые ссылки чаще всего возникают при непосредственном удалении данных из программы без контроля логической целостности, а также при неправильной работе обмена.
Для этой проверки есть отдельная группа настроек:
Настройка «При наличии ссылок на несуществующие объекты».
Если вы выберите «Создавать объекты», тогда вместо битых ссылок 1С автоматически создаст элементы – заглушки, которые потом можно будет заполнить корректными данными. Если вы выберите «Очищать ссылки» — битые ссылки будут очищены, а вместо них останутся пустые поля.
По аналогии работает настройка «При частичной потере данных объектов».
Внимание! Если вы не совсем понимаете какой именно результат работы этой проверки вам нужен, либо не проводите ее вообще, либо выберите «Не изменять» для настроек «При наличии ссылок на несуществующие объекты» и «При частичной потере данных объектов».
Пересчет итогов — увеличит быстродействие программы, исправит некоторые ошибки.
Сжатие таблиц информационной базы — уменьшит объем информационной базы.
Реструктуризация таблиц информационной базы — исправит некоторые ошибки.
Какие проверки выбрать?
Проверки не зависят друг от друга, а это значит, что можно выполнять только некоторые из них, а не все сразу. (Есть одно исключение – «Проверку ссылочной целостности» нельзя выполнить без проведения «Проверки логической целостности»).
Если вы пытаетесь победить конкретную ошибку и знаете как ее воспроизвести, то можете выполнять проверки по отдельности, и после выполнения каждой из них проверять – ушла ошибка или нет. Это целесообразно в том случае, если у вас объемная база и вы ограничены во времени, так как некоторые проверки могут долго выполняться.
С другой стороны, если время вас не поджимает, то вы можете выполнить все проверки сразу, так мы и поступим в нашем примере.
Запускаем тестирование и исправление!
Удостоверимся в том, что мы выбрали все интересующие нас проверки, а также выберем «Тестирование и исправление», после чего нажмем кнопку «Выполнить».
Процесс тестирования и исправления запущен. Ждем.
Как только тестирование и исправление будет завершено, программа уведомит вас об этом в служебных сообщениях.
Поздравляем, вы справились!
Теперь можно зайти в программу и проверить удалось ли победить ошибки или нет. Если вдруг после тестирования и исправления стало хуже чем было, вы всегда можете развернуть резервную копию, которую делали в самом начале.
Если у вас остались вопросы или вам требуется помощь квалифицированных специалистов, обращайтесь к нам. Мы с радостью поможем!
Как восстановить базу 1С из резервной копии?
Если с вашей базой 1С (например, с 1С Бухгалтерией) возникли проблемы, полезли различные ошибки или даже она перестала запускаться, то не стоит торопиться вызывать 1с программиста. Вы можете самостоятельно выполнить тестирование и исправление базы 1С (конфигурации).
1 шаг. Первое и самое важное, что нужно сделать перед исправлением любой конфигурации, – сделать резервную копию базы 1С. Мы не зря привели 2 способа создания резервной копии базы 1С. Даже если конфигурация перестала запускаться в режиме конфигуратора, вы всегда сможете сделать ее копию, воспользовавшись 1 способом — копированием фала конфигурации.
2 шаг. Запускаем систему 1с в режиме конфигуратора. В главном меню программы выберите «Администрирование – Тестирование и исправление…».
Если ваша конфигурация повреждена на столько, что не запускается даже в режиме Конфигуратора, то для ее восстановления можно использовать специальную утилиту chdbfl, которая входит в комплект поставки 1С Предприятие 8.
3 шаг. Перед нами открывается окно с настройками режима проверки и исправления базы 1С. После выбора подходящего режима вы можете нажать кнопку «Выполнить».
Данная проверка в зависимости от размера вашей базы может выполняться очень долго. Поэтому рекомендуется выбирать по одному режиму проверки в порядке их следования (вначале только режим «Реиндексация таблиц информационной базы», затем только режим «Проверка логической целостности информационной базы» и т.д.) и после каждого исправления проверять пропали или нет ошибки в базе 1С.
Давайте рассмотрим все режимы проверки и исправления по-порядку:
Реиндексация таблиц информационной базы
Для ускорения поиска по определенным реквизитам объектов нашей конфигурации система 1с формирует индексы. В данном режиме исправления система сформирует все индексы заново.
Проверка логической целостности информационной базы
Как следует из названия, в данном режиме система проверяет и исправляет логические ошибки в структурах таблиц базы данных.
Проверка ссылочной целостности информационной базы
В данном режиме система проверяет существование всех ссылок на объекты. Если находятся ссылки на объекты, которые не существуют, то система может либо удалить такие сбойные ссылки, либо попытаться их исправить. Поэтому для данной проверки необходимо дополнительно указать, что делать с такими объектами: создавать новые, очищать или ничего не делать.
Пересчет итогов
Итоги — это своеобразные индексы для регистров. Например, итоги по регистру остатков товаров позволяют нам быстро получать остатки товаров на нужную дату и т.д. В данном режиме система пересчитывает все итоги за все периоды. Как правило это очень долгая по времени проверка.
Сжатие таблиц информационной базы
Данный режим больше относится к повышению быстродействия работы конфигурации, нежели к устранению ошибок, но тем не менее.
В процессе работы наша база 1с фрагментируется и её таблицы начинают занимать больше места, чем им реально требуется. Например, когда мы создали новый документ, то размер нашей базы немного увеличился, а когда мы это документ удалили, то размер нашей базы не вернулся к прежнему состоянию, а стал чуть больше прежнего. Сжатие таблиц информационной базы – это дефрагментация всех таблиц и как результат – уменьшение размера нашей конфигурации до оптимального значения.
Реструктуризация таблиц информационной базы
Самый действенный режим в борьбе с ошибками. Принцип реструктуризации следующий. Для каждой таблицы базы данных создается новая таблица с аналогичной структурой и все данные из старой таблицы переносятся в новую.
4 шаг. С помощью кнопки «Выполнить» запускаем проверку и ожидаем сообщение о её результатах.
Как выполнить тестирование и исправление базы 1С с помощью утилиты chdbfl?
Ошибка при реструктуризации базы |
Я |
trim89
14.06.19 — 05:00
Доброго времени суток.
Стал замечать что перестала автоматом обновляться конфигурация базы. Попытался обновить вручную, на этапе реструктуризации вышла ошибка
Недопустимое состояние объекта
[backend — srcRestructInfoStorage.cpp (792)]
База серверная, SQL. Кэш чистил, 1с сносили и переустанавливали, ТИИ делать не могу, так как эта ошибка, даже dt выгрузить не могу. С остальными базами всё в порядке.
Куда копать, что смотреть?
ЛЮС
1 — 14.06.19 — 07:09
Выгрузить сф-ник, развернуть отдельно демо базу, накатить на нее сф-ник. Если там ошибка сохранится — проблема в конфигурации, если нет — в данных.
Можно попробовать выявить на реструктуризации чего он падает — маловероятно, но вдруг прокатит.
Попробовать запустить копию базы на новой платформе на другом сервере. Тоже может прокатить.
В самых запущенных случаях делали так: брали конфу поставщика, ручками переносили все наработки в нее. Разворачивали новую пустую базу и переносили данные из боевой в эту новую. Долгий вариант.
trim89
2 — 14.06.19 — 07:48
(1) cf-ник пока выгружаю/загружаю. «Можно попробовать выявить на реструктуризации чего он падает» — а как это делать?
rphosts
3 — 14.06.19 — 07:56
(0) бэкэнд? платформа на сервере поди патченная?
rphosts
5 — 14.06.19 — 07:57
Попробуй подключить эту базу к другому серверу СУБД
Cyberhawk
6 — 14.06.19 — 08:09
Расширения есть?
ЛЮС
7 — 14.06.19 — 08:14
(2) при реструктуризации в строке состояния пишется имя таблицы (не всегда актуальное, но все-таки). Можно в скуле смотреть создание таблиц с постфиксом *_NG
trim89
8 — 14.06.19 — 08:14
(6) Есть, но опять таки, тестовая — почти копия, с ней всё ок (3) Вроде да, но с другими всё нормально
trim89
9 — 14.06.19 — 08:16
(7) Не доходит до того как пишет имя таблицы. Загрузил cf в новую базу, всё работает.
Cyberhawk
10 — 14.06.19 — 08:17
(8) Ну так дело конечно же в них тогда. Столько уже сообщений по этому поводу.
shuhard
11 — 14.06.19 — 08:18
(10) при выгрузке dt расширение ?
Cyberhawk
12 — 14.06.19 — 08:21
(11) Конечно, ведь при сем действе тоже кое-чего происходит (база меняет свое состояние)
Сияющий в темноте
13 — 14.06.19 — 08:45
в расширении,поди,реквизиты в обьекты добавляли?
тут даже не делает лучше,чем делает и сносит таблицы с данными в никуда
trim89
14 — 14.06.19 — 08:48
(13) Попробую снести все расширения
trim89
15 — 14.06.19 — 09:04
(13) (12) (10) Хм, действительно. Снял галку активно в расширении, куда регистр добавлял, вроде заработало. Сейчас заново копию скульную восстановлю, ещё раз попробуй для чистоты эксперимента.
ice777
16 — 14.06.19 — 09:07
(15) а как мне про эти расширения в уши жужжали! фтопку их, короче.)
trim89
17 — 14.06.19 — 09:26
(16) Не, они хороши, что касается изменения, доработки кода. А объекты метаданных добавлять стоит в крайнем случае.
trim89
18 — 17.06.19 — 02:58
В общем, восстановил ещё раз, удалил расширения. Вылезла ошибка, мол «Ошибка обновления», обновил ещё раз — получилась реструктаризация. Теперь снова проблема, если добавить новый объект метаданных, всё обновляется, но если в режиме предприятия зайти в данный документ/справочник/регистр то будет ошибка «Запись не найдена в менеджере имен базы данных».
Попытаюсь на другой платформе открыть, очень сильно надеюсь, что это баг именно платформы.
trim89
19 — 18.06.19 — 10:39
Получилось только так. В режиме предприятия снимаю галку активно с расширения. Пытаюсь его удалить, выдаёт ошибку «попытка переключить менеджер имен базы данных без сохранения информации», он не удаляется. После этого лезу в конфу и чудо!!!! можно делать реструктаризацию, при добавлении метаданных нет ошибки «Запись не найдена в менеджере имен базы данных».
Фишка в том, что 1) нужно попытаться расширение удалить 2) не нужно расширение окончательно удалять.
Расширение будет висеть, пока не знаю как его грохнуть. Попробую позже через скуль.
Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.
Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации
Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.
При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.
Для случаев, когда объемы данных небольшие, это не так чувствительно.
Но реструктуризация больших баз, в которых содержатся таблицы с десятками миллионов строк, может затянуться на несколько часов или даже дней. Потеря такого количества времени – это уже весьма болезненно.
Еще в платформе 8.3.11 появился механизм, который помогает ускорить реструктуризацию в разы, а в некоторых случаях – на порядки.
С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.
Сегодняшнее видео закрывает этот вопрос:
- Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
- Показываем, как настроить и использовать новый механизм
- Демонстрируем его преимущества и рассказываем о его недостатках
- Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.
Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.
Но даже если Вы работаете в маленькой компании и с этой проблемой еще не столкнулись – рекомендуем все-таки найти 17 минут и посмотреть его. Если завтра Вы поменяете работу и столкнетесь с такой проблемой – не придется волноваться из-за того, что Вы не в курсе таких нюансов.
Ключевые моменты видео:
- 00:00 – Постановка задачи
- 00:28 – Старый способ реструктуризации и его недостатки
- 01:50 – Новый способ реструктуризации
- 02:17 – Плюсы нового способа
- 03:04 – Установка Java на сервер 1С
- 04:18 – Настройка файла conf.cfg на клиенте
- 05:40 – Демонстрация работы старого механизма
- 07:36 – Демонстрация работы нового механизма
- 08:58 – Особенности использования нового механизма
- 09:10 – Включение протокола TCP/IP для СУБД
- 10:52 – Проверка сторонних индексов
- 13:20 – Настройка параметра MAXDOP в MS SQL
- 16:36 – Итоги
После курса Вы сможете:
- Оценивать состояние системы в любой момент времени
- Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
- Отслеживать динамику производительности за определенный период
- Устранять ожидания на блокировках и решать проблемы со взаимоблокировками
Для кого этот курс
Вам нужен этот курс, если Вы хотите:
- Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
- Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
- Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь.
При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?
20 июня, 2019
20 июня, 2019
Дано
При применении конфигурации в РИБ возникает критическая ошибка и конфигуратор аварийно завершается.
Затем, при попытке зайти в конфигуратор, 1С выдает следующее сообщение: “При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?”
Выбор любого из действий ни к чему не приводит и если ответить утвердительно, то повтор обновления не происходит.
Попытка вернуться к конфигурации БД через параметр командной строки /RollbackCfg так же не увенчалась успехом. При использовании этого метода в диспетчере задач видно, что 1С запускается на 2-3 секунды и даже не успевает развернуться в памяти, и фактически не отрабатывает.
Версия платформы 8.3.13.1809 (клиент-сервер)
Решение
На просторах интернета конечно же есть решение, которое реально помогает, но нужно заметить его небезопасность и то, что все действия нужно выполнять с осторожностью перепроверяя свои действия.
Итак суть решения состоит в том чтобы очистить некоторые данные в таблицах БД (SQL), которые говорят системе о незавершенном обновлении. Нужно выполнить запросы к БД.
Конечно же я настоятельно рекомендую выполнять все действия при наличии резервной копии БД, причем средствами сервера БД. Но если на это нет времени, то мы себя немного обезопасим резервной копией таблиц.
select * into Config_tmp from Config select * into ConfigSave_tmp from ConfigSave delete from ConfigSave delete from config where FileName = ‘commit’ delete from config where FileName = ‘dynamicCommit’ delete from config where FileName = ‘dbStruFinal’ |
Кстати о возможности возврата к отправной точке, первые два select копируют две таблицы, с которыми мы будем выполнять действия и создают временные таблицы Config_tmp и ConfigSave_tmp на всякий случай для возможности возврата.
первый из delete удаляет все данные таблицы ConfigSave.
остальные удаляют определенные записи из таблицы config.
После выполнения этих действий вы сможете зайти в 1С в режиме конфигуратора, при этом все ваши изменения будут потеряны.
Если все прошло удачно, то нужно удалить временные таблицы которые мы создавали.
drop table Config_tmp drop table ConfigSave_tmp |
Собственно это решение было найдено в интернете и протестировано в реальных условиях и показало результат. Огромное спасибо тому кто потратил время, на изучение этого вопроса и поделился этой информацией.
Пару раз уже случалось увидеть такую надпись при обновлений конфигурации 1С. Причем не важно на какой платформе, что на 8.3.6, что на более новых 8.3.12. И что то мне кажется, что эта еще одна причуд системы, обычными методами в виде галочек, кнопочек и других атрибутов интерфейса, реализовано в ближайшее время не будет.
И мы остаемся с возможностью увидеть такое:
Чтобы не искать в следующий раз, запишу заметку на будущее.
С файловыми базами я не работаю, по этому и проблем как таковых для меня нет. Если возникают проблемы:
— Чистим кеш на локальном компьютере.
— Запускаем обработку chdbfl.exe для проверки конфигурации.
— Если не помогло, лезем в файлы базы. Находим обработку Tool_1CD.exe и с помощью ее редактируем файлы
— Есть метод описанный в статье https://infostart.ru/public/182889/
Фактически таблицы SQL базы и файловой не отличаются. По этому переходим к описанию действий на SQL:
— сперва смотрим, что есть в таблице dbo.configsave. Если что то там есть, удаляем : delete from configsave
— далее, если запустить profiler первое сообщение в 1С выводится после запроса select * from Config WHERE FileName = ‘commit’. Удаляем, чтобы сообщение не выводилось: delete from config where FileName = ‘commit’
— так же сообщение выводится после запроса select * from Config WHERE FileName = ‘dbStruFinal’. Удаляем тоже его: delete from config where FileName = ‘dbStruFinal’
Подводим итог:
Все изменения хранятся в таблице configsave. Если она пуста, а присутствует флаг для обновления конфигурации, данные копируются в таблицу config и следовательно затирают пустыми.
Список команд в SQL которые нужно выполнить последовательно,для того чтобы отменить обновление:
—delete from configsave
—delete from config where FileName = ‘commit’
—delete from config where FileName = ‘dynamicCommit’
—delete from config where FileName = ‘dbStruFinal’
Напоминаю, изложение данного материала не являются призывом к действию, а служит только для информации и ознакомления, которую читатель вправе сам выбирать, использовать или нет. Спасибо.
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы «.dbo.»; в столбце запрещены значения NULL. Ошибка в INSERT.
Описание ошибки:
Столкнулся с ошибкой при выполнении процедуры Тестирование и исправление… на этапе реструктуризации таблиц информационной базы. База клиент-серверная. 1С: Управление торговлей 10.3.31. Платформа 1С: Предприятие 8.3.9
Найденные решения:
Сложно сказать, что посчастливилось, но все же ошибка преследовала меня в базе не единожды. Но по своей сути каждая последующая формулировка «В процессе обновления информационной базы произошла критическая ошибка…» отличалсь в причине и решении незначительно. С такой ошибкой столкнулся, если быть откровенным, впервые, но интернет в принятии решения устранения ошибки сильно не помог, кроме вот этого обсуждения на форуме Как удалить строки содержащие NULL в таблице где NULL недопустимо. Зацепок решения не было. Но все же решение было найдено. Читаем… ниже.
Итак, начнем с первого факта возникновения ошибки при выполнении тестирования и исправления базы данных на этапе реструктуризации таблиц базы данных.
Кнопка «Подробно…»:
Полный текст ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld412», таблицы «Торговля.dbo._Reference19NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1
Если взглянуть скрином ранее, то нельзя упустить из виду подсказку, оставленую программой в левом нижнем углу окна программы, в строке состояния, о том, что выполнение реструктуризации прервалось на справочнике «Банковские счета». В базе справочник имел более 3х с половиной тысяч элементов, поэтому сходу было сложно понять, в каком из них скрывается ошибка. Была написана простая обработка, которая просто должны была обойти все элементы справочника и перезаписать их. Надежда была на то, что запись проблемного элемента завершиться ошибкой.
Исполняемый код обработки прост:
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| БанковскиеСчета.Ссылка
|ИЗ
| Справочник.БанковскиеСчета КАК БанковскиеСчета»;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СпрОбъект = Выборка.Ссылка.ПолучитьОбъект();
СпрОбъект.Записать();
КонецЦикла;
Предположение было оправдано. Ошибка при записи возникла. Теперь было понятно, элемент с каким кодом может быть причиной критической ошибки в процессе обновления информационной базы.
Это оказался элемент справочника, у которого не был заполнен ни одни реквизит, так что мне даже не удавалось пометить такой элемент на удаление. Дальше была написана простая обработка для удаления выбранного элемента справочника без проверки ссылочной целостности. Элемент был удален.
Тестирование и исправление было запущено повторно. Но уже вскоре после запуска процедуры в режиме реструктуризация таблиц базы мен ожидала идентичная ошибка, но уже связанная со справочником «Организации».
Новый текст ошибки отличался лишь немногим, названием таблицы и именем столбца:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld888», таблицы «Торговля.dbo._Reference66NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1
По опыту предыдущей инцидента уже казалось понятным, что в справочнике у какого-то элемента не заполнены данные. Так и оказалось. Проблемный элемент справочника был найден мгновенно и в этом случае повезло больше элемент можно было пометить на удаление, был помечен и удален с помощью «Удаление помеченных объектов».
Тестирование и исправление было запущено в третий раз. Но и этот раз не обошелся без «критической ошибки в процессе обновления информационной базы».
Текст третьей ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld1024RRef», таблицы «Торговля.dbo._Reference88NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1
Но и в этот раз программа оставила подсказку, что проблема содержится в записях справочника «ТипыЦенНоменклатурыКонтрагентов».
Удалить проблемные элементы справочника пришлось программно с помощью все той же, указанной выше простой обработки непосредственного удаления без проверки ссылочной целостности.
И в итоге очередной запуск, уже четвертый по счету, в режиме «Реструктуризация таблиц информационной базы» в рамках тестирования и исправления завершился успешно.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
31-10-2018
Журавлев А.С.
(Сайт azhur-c.ru)
Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?
Опубликовано: 16.02.2018 /
Переезжали мы на новый сервер. На нем SQL и 1C. В сравнении со старыми был намного круче. И тест Гилева это тоже подтвердил: против 10-15 на старых серверах выдавал 39. Поэтому мы сразу после покупки перенесли базу и начали работу.
Но в какой-то момент что-то пошло не так — пользователи стали жаловаться на медленную работу. Произвели определенные настройки сервера и служб (какие — тема отдельного поста) и решили перезагрузить сервер, благо скорость перезагрузки — 2 минуты (на других серверах до 10 доходило). После этого при входе в 1С получаем следующее сообщение:
«Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» «Да, Нет»
После нажатия кнопки «Да» появляется следующее:
«Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.»
Первое, что решил сделать — CHECKDB на в Managment Studio — после 2х часов ожидания (база 500 ГБ) — все ОК.
На просторах сети нашел информацию, что такая же ошибка бывает при динамическом обновлении.
Решения, предложенные в сети сходу не помогли, но вкупе с другими действия дали результат. Итак, что я делал:
Решение:
- То, чего не хватало для решений из сети:
sp_configure ‘allow updates’, 1
reconfigure with override
go
2. Переводим базу в режим восстановления
alter database [db_name] set EMERGENCY, SINGLE_USER
3. Выполняем тестирование базы:
dbcc checkdb(‘db_name’, REPAIR_ALLOW_DATA_LOSS )
4. Выводим базу из режима восстановления:
alter database [db_name] set ONLINE, MULTI_USER
5. В принципе, если уверены что с самой базой все ок, то можно не делать 2-4 пункты. Далее выполняем два запроса в профайлере SQL:
delete from config where FileName = ‘commit’
delete from config where FileName = ‘ dbStruFinal’Эти записи и отвечают за динамическое обновление — можно не бояться их удалять.
В рабочих версиях баз запросы:
select * from Config WHERE FileName = ‘commit’
select * from Config WHERE FileName = ‘dbStruFinal’
будут пустые.
6. возвращаем настройки:
sp_configure ‘allow updates’, 0
go
7. После этого удалось запустить конфигуратор и база заработала.
Также база может заработать после удаления первого флага.
Еще из решений, которые есть в сети, полная замена таблицы Config.
Что у меня использовалось:
Платформа 1С: 1С:Предприятие 8.3 (8.3.10.2466)
SQL: Microsoft SQL Server 2008 R2 Standard Edition (64-bit) 10.50.6220.0
Также обратил внимание, что проблема повторяется на всех версиях платформ и SQL.
Всем удачи с решением таких проблем. Если есть трудности, обращайтесь, помогу.
p.s. бекап был, но терять даже несколько часов работы не очень хотелось