1с при построении очереди отложенных обработчиков обнаружены ошибки

Обновлено: 01.07.2024

Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.

Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.

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

Причины появления ошибки в 1С

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

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

Часто возникающие ошибки 1С

Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:

  1. Недостаточно памяти.
  2. Ошибка доступа.
  3. Ошибка формата потока.
  4. Ошибка СУБД: Файл базы данных поврежден.
  5. Неправильное отображение блоков формы.
  6. Внутренняя ошибка компоненты dbeng.
  7. Dump при запуске.
  8. Неверный формат хранилища.
  9. Ничего не работает.

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

Недостаточно памяти

Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.

Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.

Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.

Ошибка доступа

Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.

Ошибка формата потока

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

Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.

Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.

Ошибка СУБД: Файл базы данных поврежден

Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:

  • Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
  • Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.

Неправильное отображение блоков формы

Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:

Если приведенные методы не помогают, рационально будет провести обновление платформы.

Внутренняя ошибка компоненты dbeng

Dump при запуске

Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».

На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.

Неверный формат хранилища

Ничего не работает

Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:

  • чистится кэш;
  • открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
  • выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
  • обновление «1С».

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

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


Причин этому много, основная - ошибки в процессе обновления.

При этом получить доступ к полному интерфейсу программы невозможно - можно только открыть внешнюю обработку или посмотреть журнал регистрации.
(Фирма 1С анонсировала ключ запуска приложения ОтключитьЛогикуПриНачалеРаботыСистемы.
цитирую:

При этом блокируется открытие всех форм на рабочем столе. Для отладки.

но у меня это не сработало)

Поэтому пойдем другим путем. Открываем внешнюю обработку ОтменитьОбновлениеИнформационнойБазы.epf


и редактируем РегистрСведений.ВерсииПодсистем

Здесь нужно сделать две вещи:


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


Затем возвращаем все значения регистра в исходное состояние и перезапускаем программу.

Обработка обновления запустится заново.
И если вы исправили все ошибки - пройдет успешно.

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

: Не указана процедура заполнения данных отложенного обработчика обновления "Документы.ТранспортнаяНакладная.ПеренестиДанныеИзРеквизитовВНовыйДокумент".

хотя 100% был уверен, что у меня и документов таких нет.
А на нет, как говорится, суда нет.


Открываем вторую обработку НовыеСведенияОбОбновлении.epf находим

фильтр поля найти работает и по подстроке


Нажимаем кнопку - открыть форму удаления обработчика.

и удаляем сбоящую процедуру.



После этого запускаем обновление ИБ.

Не забываем про ключ командной строки ЗапуститьОбновлениеИнформационнойБазы

Код обработки открыт.

Проверена на конфигурации Управление торговлей, редакция 11.2 (11.2.2.106)


P.S. Появился вопрос про относительно старые конфигурации.
У них при ошибке в обработке обновления нет кнопки "Открыть внешнюю обработку", только "Завершить работу" и "Перезапустить", более того - окно открыто модально.
Для владельцев базовых версий почти патовая ситуация, т.к. перезапуск приведет к этому же окну.

Лайфхак невеликий - но выход есть.
Нажимаете F1, или по ссылке открываете технологический журнал, там будет активна кнопка - "Справка".

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

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

Такие обработчики бывает основные и отложенные.

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

Обновлятор по умолчанию выполняет и те и другие обработчики в своём цикле обновления сразу.

И это правильно, так как зачастую применяется несколько обновлений. И если не выполнить обработчики обновления тут же – потом это может быть сделать весьма проблематично (будут возникать ошибки).

Контроль при подключении

При любом подключении к базе (будь то проверка настроек или любая другая операция, требующая подключения) обновлятор проверяет всё ли в порядке с основными и отложенными обработчиками.

Если он находит ошибки или невыполненные обработчики - в отчёте появляется соответствующая строка, а статус операции сменяется на "есть предупреждения":


Контроль до начала обновления, а также сразу после выполнения обработчиков

Перед каждым обновлением, а также сразу после выполнения обработчиков обновления обновлятор также смотрит всё ли в порядке с обработчиками.

Если он находит ошибки или невыполненные обработчики - обновление прерывается.

Как настраивается контроль за обработчиками

Настройки, отвечающие за этот контроль, можно изменить в дополнительных настройках программы:



При необходимости их можно переопределить для конкретных баз в их свойствах:


Обновлятор показывает ошибку, но с обработчиками полный порядок

Возможно такое, что обновлятор пишет о проблемах с основными или отложенными обработчиками. Вы проверяете по инструкции (ссылка), и никаких проблем не видите.

С такой проблемой можно столкнуться на какой-нибудь отраслевой конфигурации, с типовыми обычно всё ок.

В этом случае по возможности пришлите мне выгрузку (.cf) с вашей конфигурацией, а также сам отчёт из обновлятора с ошибкой про обработчики. Я посмотрю и отпишусь вам - смогу ли я доработать обновлятор и под этот случай.

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

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

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

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

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


Причин этому много, основная - ошибки в процессе обновления.

При этом получить доступ к полному интерфейсу программы невозможно - можно только открыть внешнюю обработку или посмотреть журнал регистрации.
(Фирма 1С анонсировала ключ запуска приложения ОтключитьЛогикуПриНачалеРаботыСистемы.
цитирую:

При этом блокируется открытие всех форм на рабочем столе. Для отладки.

но у меня это не сработало)

Поэтому пойдем другим путем. Открываем внешнюю обработку ОтменитьОбновлениеИнформационнойБазы.epf


и редактируем РегистрСведений.ВерсииПодсистем

Здесь нужно сделать две вещи:


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


Затем возвращаем все значения регистра в исходное состояние и перезапускаем программу.

Обработка обновления запустится заново.
И если вы исправили все ошибки - пройдет успешно.

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

: Не указана процедура заполнения данных отложенного обработчика обновления "Документы.ТранспортнаяНакладная.ПеренестиДанныеИзРеквизитовВНовыйДокумент".

хотя 100% был уверен, что у меня и документов таких нет.
А на нет, как говорится, суда нет.


Открываем вторую обработку НовыеСведенияОбОбновлении.epf находим

фильтр поля найти работает и по подстроке


Нажимаем кнопку - открыть форму удаления обработчика.

и удаляем сбоящую процедуру.



После этого запускаем обновление ИБ.

Не забываем про ключ командной строки ЗапуститьОбновлениеИнформационнойБазы

Код обработки открыт.

Проверена на конфигурации Управление торговлей, редакция 11.2 (11.2.2.106)


P.S. Появился вопрос про относительно старые конфигурации.
У них при ошибке в обработке обновления нет кнопки "Открыть внешнюю обработку", только "Завершить работу" и "Перезапустить", более того - окно открыто модально.
Для владельцев базовых версий почти патовая ситуация, т.к. перезапуск приведет к этому же окну.

Лайфхак невеликий - но выход есть.
Нажимаете F1, или по ссылке открываете технологический журнал, там будет активна кнопка - "Справка".

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

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