1с ошибка при работе с файлом

Обновлено: 03.07.2024

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

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

Сначала сделайте копию

Перед исправлением ошибок настоятельно рекомендуется сделать архивную копию базы. Копию можно сделать разными способами:

  1. Из режима 1С: Предприятие (пользовательский режим работы). Меню Администрирование –> Обслуживание –> Создание резервной копии . Выбрать каталог, в который сохранится копия и нажать Сохранить резервную копию .
  2. Из режима Конфигуратор : Меню Администрирование –> Выгрузить информационную базу . Так же, как и в первом варианте нужно выбрать каталог, в который сохранится копия. Копия будет иметь расширение .dt .
  3. Непосредственное копирование базы в другой каталог. Найти папку с базой и скопировать (важно: не вырезать, а именно скопировать) файл 1Cv8.1CD в другую папку. Можно скопировать и всю папку в которой лежит данный файл. На скриншоте это папка называется DemoAccounting .

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

База не открывается

Очистка временных файлов. Самый простой способ — это удалить информационную базу из списка и добавить её снова. Нужно выделить проблемную базу, запомнить (записать, скопировать) её путь и нажать удалить. База пропадет из списка.

Затем нажать добавить -> добавление в список существующей информационной базы .Далее указать наименование и каталог информационной базы. Готово.

Тестирование физической целостности утилитой chdbfl . Нужно зайти в папку с установленной платформой в конечную папку bin. Запустить файл chdbfl, прописать путь к базе, поставить галку исправлять обнаруженные ошибки и нажать выполнить.

После окончания тестирования окно закрыть и проверить базу на работоспособность.

Ошибка СУБД. Внутренняя ошибка компоненты dbeng

  • Обновление платформы – чаще всего ошибка связана с устаревшей платформой;
  • Тестирование физической целостности утилитой chdbfl .
  • Выгрузка и загрузка файла .dt. В режиме конфигуратор Администрирование –> выгрузить информационную базу . И соответственно загрузка: Администрирование –> загрузить информационную базу .

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

Данная ошибка возникает чаще всего из-за неправильного или аварийного завершения работы программы 1С. Например отключение электричества или выключение компьютера при открытой программе.

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

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

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

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

Также может помочь:

  • Тестирование физической целостности утилитой chdbfl, о котором писалось выше;
  • Выгрузка архивной копии и повторная загрузка;

Тестирование из конфигуратора (при условии, что в него можно зайти). Меню Администрирование –> тестирование и исправление . Установить флажки как на рисунке и нажать выполнить .

Обнаружено нарушение целостности системы

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

Отсутствует файл базы данных

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

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

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

Ошибка появляется, если на выполнение операций с программой выделено мало оперативной памяти компьютера. Ошибка может возникнуть, например, при закрытии месяца, формировании большого отчета, проведении документов и т.п. Самостоятельно увеличить размер выделенной памяти можно следующим способом: запустить адресную строку Пуск –> Выполнить и ввести команду cmd и нажать ОК .

В открывшемся окне ввести bcdedit /set increaseuserva 4096 и нажать Enter . Цифра 4096 – новый выделяемый объем оперативной памяти. Перезагрузить компьютер. Проблема должна быть исправлена.

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

Это поможет сайту развиваться и расширять аудиторию.

Вас может заинтересовать

Проведение реклассификации расходов (изменение аналитики отражения), регистрация и распределение расходов будущих периодов в 1С:Управление торговлей 11.

Инструкция по настройке распределенной информационной базы в 1С на примере Управление торговлей 11. Нюансы работы, наиболее частые ошибки и пути их решения.

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

Описание ошибки:
Обнаружена при разработке обработки для изменения содержимого файла формата XML в серверной базе 1С 8 в режиме управляемого приложения. При тестировании на сервере ошибка не возникала. Проявила себя при работе на рабочем месте пользователя.

1С 8 ошибка файл не обнаружен при чтении файла

По факту ошибка возникала при выполнении метода "Прочитать()" для объекта "ТекстовыйДокумент". Как было отмечено, при тестировании работы обработки непосредственно на сервере данной ошибки не возникало. Она проявила себя уже при попытке работы на другом рабочем месте. Обработка разрабатывалась для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая работает в режиме управляемого приложения - это необходимо отметить. Т.к. это проясняет причины возникновения проблемы.

По привычке разместил операции по чтению содержимого текстового файла и извлечению его содержимого на стороне сервера - см. "&НаСервере" перед процедурой "ОбрабткаНаСервере()". Клиент-серверная архитектура платформы 1С: Предприятие 8.3, казалось бы, к этому обязывала.

1с 8.3 при чтении файла пишет, выводит ошибку: Файл не обнаружен

В итоге получалось, что платформа на клиентском рабочем месте искала файл по указанному пути на сервере, где развернут сервер 1С: Предприятия 8 исходя из директивы "&НаСервере", а не на рабочем компьютере, где была запущена обработка.

Но, как оказалось позже - конструктор "Новый ТекстовыйДокумент", методы "Прочитать()", "ПолучитьТекст()" - все они доступны не только на стороне сервера, но и на стороне тонкого и толстого клиента. Поэтому замена директивы "&НаСервере" на "&НаКлиенте" решила проблему.

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

Общие ошибки, возникающие в 1С при работе с XML

Не установлен MS XML Core Services 4.0

На компьютере не установлен Microsoft XML Core Services 4.0, используемый "1С:Предприятием 8" для работы с XML.

Попробуйте установить Microsoft XML Core Services 4.0. При установке "1С:Предприятия 8" Microsoft XML Core Services 4.0 устанавливается автоматически.

Ошибка разбора XML

Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой "1С:Предприятие 8".

Проверьте правильность оформления и синтаксис данных XML.

Ошибочный порядок записи XML

Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента.

Текст XML содержит недопустимые символы

Записываемый текст XML содержит недопустимые символы.

Текст XML должен соответствовать требованиям к XML.

Недопустимое имя XML

Записываемое имя XML содержит недопустимые символы.

Имя XML должно соответствовать требованиям к XML.

Пустое значение URI допустимо только для пространства имен по умолчанию

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

Значение URI пространства имен должно соответствовать рекомендации Namespaces in XML.

Переопределение пространства имен по умолчанию для текущего элемента XML недопустимо

Текущий записываемый элемент не относится ни к какому пространству имен. Поэтому для него недопустимо определение непустого пространства имен по умолчанию.

Переопределение пространства имен по умолчанию для элемента, не относящегося ни к какому пространству имен – запрещено.

Ошибка преобразования данных XML

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

Значения данного типа не могут быть представлены в XML

Производится попытка записи в XML значения, для типа которого не определена процедура записи в XML. Или производится попытка чтения из XML значения неизвестного типа или типа, для которого не определена процедура чтения из XML.

Ошибка данных XML

Ошибка возникает при получении некорректных данных из источника XML или же в случаях неудачного считывания из базы данных содержимого объекта, данные которого должны быть прочитаны из источника XML: блокировка объекта или же отсутствие прав на чтение данного объекта.

Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка.

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

Ситуации, возникающие при обмене данными в рамках распределенной информационной базы в 1С

Узел не является узлом распределенной ИБ

При вызове одного из методов встроенного языка, относящегося к распределенной ИБ, значение переданного параметра - узла плана обмена - не принадлежит плану обмена с установленным признаком "Распределенная информационная база".

Необходимо убедиться в правильности передаваемого в метод параметра.

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

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

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

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

Попытка приема изменений от неизвестной конфигурации

Искажены изменения конфигурации!

Конфигурация узла распределенной ИБ не соответствует ожидаемой!

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

Из главного узла распределенной ИБ получены изменения конфигурации

Из главного узла получены изменения конфигурации.

Данные не входят в состав плана обмена

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

В информационных базах на платформе 1С могут возникнуть множество различных ошибок:

нарушение логической/физической целостности базы, ошибки пользователей, «кривой» код разработчика и многое другое.

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

Во-первых, стоит задать несколько уточняющих вопросов пользователю:

1) Релизы платформы/конфигурации.

4) Возникает ли если запустить 1с с другого компьютера/от другого пользователя? Это даст нам пищу для размышлений – сможет ли помочь очистка кэша, настройка прав, или очистка настроек пользователя.

Теперь немного о самих ошибках и том как их решать.

Общее:
Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.).

Распространенный пример – ломаная платформа. Один из патчей взламывает конкретную версию платформы, поэтому после установки новой версии платформы и попытке зайти в базу можно увидеть окно «Не обнаружено свободной лицензии».

Если Вы встретили ошибку в первый раз - возможно, кто-то уже ее встречал -

поищите в google, возможно кто-то уже с этим сталкивался и решил проблему, и Вы не потратите лишних пару часов своего времени.

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

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

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

. ВАЖНО

Перед любыми действиями с базой - сделать архивную копию!

Если база не открывается в конфигураторе - скопировать папку с базой и выполнять все операции на копии!

1) База вообще не открывается ни в пользовательском режиме, ни в конфигураторе.

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

  • Также можно попытаться зайти в базу от другого пользователя.
  • Если база файловая, то стоит запустить утилиту для тестирования физической целостности базы chdbfl. Она находится в папке:
    C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe
  • Если база sql-ная то тестирование средствами sql.

2) Если база при запуске уходит в дамп.

  1. Откройте свойства экрана. Это можно сделать через Панель управления, или просто щелкнув правой кнопкой мыши по любому месту рабочего стола, свободному от окон и значков, и выбрав пункт контекстного меню «Свойства».
  2. В открывшемся окне настройки дисплея перейдите на закладку «Параметры» и нажмите кнопку «Дополнительно».
  3. В открывшемся окне свойств видеокарты перейдите на вкладку «Диагностика».
  4. Передвиньте движок «Ускорение» в крайнюю левую позицию («нет») и нажмите «Применить» или «Ок». Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
  1. Откройте Панель управления (Пуск — Панель управления).
  2. Найдите и откройте элемент «Экран».
  3. В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
  4. В открывшемся окне нажмите на ссылку «Дополнительные параметры».
  5. Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
  6. В открывшемся окне передвиньте движок в крайнее левое положение («нет») и нажмите «Ок». Если UAC включен, придется подтвердить, что изменения санкционированы пользователем. Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.

В Windows 7 в некоторых случаях кнопка «Изменить параметры» будет неактивна. В этом случае отключить аппаратное ускорение невозможно, так как видеокарта и ее драйвер не поддерживают манипуляции аппаратным ускорением.

4) При каком-то действии выкидывает на код в конфигуратор.

  • Для проверки стоит очистить кэш.
  • Если не помогло то скорей всего ошибка в коде - особенно актуально для нетиповых и самописных конфигураций, но встречается иногда и в типовых.

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

Если типовая, то возможно ошибка в релизе.

В любом случае стоит пробежать в отладчике и посмотреть что не так.

5) Под одним пользователем дает что-то сделать, под другим нет.

  • Настройки прав пользователей.
  • Настройки пользователя.
  • Очистка кэша.

6) С одного ПК заходит, с другого нет.

  • Проверить в проводнике видит ли базу – может к папке с базой не предоставлен общий доступ.
  • Очистка кэша.
  • Зайти под другим пользователем.

7) Я ничего не делал/делала но у меня все сломалось

  • Если смогут подсказать что именно «не делали» и когда, то можно воспользоваться

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

Был у меня случай, пришел клиент, говорит, при закрытии месяца вылетает ошибка "Недостаточно памяти". Взялся я за эту проблему. Думал, что легко, сначала добавил оперативки - ошибка. Было 2 гигабайта, стало 4, а все равно 1с-ке мало. Размер файла подкачки менял - ошибка, переустановка системы (поставил Windows 7) дало только временный результат, где-то на неделю. Перепробовал все. Спустя некоторое время решение было найдено.

Решение

На клиентском компе запустить командную строку от имени администратора, прописать там следующее:

BCDEdit /set increaseuserva xxxx - вместо хххх пишите объем виртуального адресного пространства в мегабайтах, т.е. сколько нужно памяти под работу приложений. По умолчанию 2 гига. Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 - на приложения и 2 на нужды самой ОС. Я выбрал 3000 (т.е. CDEdit /set increaseuserva 3000). Однако система может подглючивать. Особенно, если у вас 2 гига оперативки, как у меня. Это для ОС семейства Windows Vista, 7, Windows 2008.

Для Windows XP \ Windows 2003 пишем
/3GB /userva=xxxx (xxxx в МБ в диапазоне 2048 - 3072) в файле boot.ini, рекомендуемый максимум значений userva 2900–3030.

9) Элементы форм налезают друг на друга и имеют неправильное расположение.

10) Ошибка СУБД Внутренняя ошибка компоненты dbeng8

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

Решение: обновиться до актуального релиза на всех рабочих местах.

Если не помогло, тогда делаем следующее:

    Тестирование и исправление

11) Ошибка в платформе 8.3.4.428

  • В версии 8.3.4.428 платформы "1С:Предприятие" обнаружена критичная ошибка, возникающая при реструктуризации данных. Данная ошибка локализована и будет исправлена в следующей версии платформы.

12) Конфликт блокировок при выполнении транзакции:


Microsoft OLE DB Provider for SQL Server: Could not continue scan with NOLOCK due to data movement.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=3, Severity=C, native=601, line=1

Конечно список далеко не полный, так что буду рад, если его дополнят в комментариях.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

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

При любой непонятной фигне чистить кэш потом разбираться.

У меня пользователи уже научены что сначала давят Сервис\Очистить кэш и перезапустить программу а потом уже звонить и жаловаться.

Хорошая статья! По первому пункту могу добавить. Если не получилось ничего из перечисленного, можно воспользоваться программкой Tool_1CD и с ее помощью удалить записи в таблице configsave. Только это мне и помогло в свое время. 1 пункт. Как же можно выгрузить в *.dt, если по условию не загружается конфигуратор?
8. пункт это не решение. Увеличение до 3Гб памяти под процесс зачастую не помогает. Решение - это 64-разряда для клиента и для сервера.
Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 - на приложения и 2 на нужды самой ОС. Строго говоря, 4 гигабайта это адресное пространство 32-разрядных систем, а не "выделяется". Из которых MS еще что-то резервирует под аппаратную часть, плюс еще ограничивает каждый процесс 2 Гигами.
9. Проще сделать "Восстановить положение окна Alt-Shift-R"
Многократно повторенный совет использовать chdbfl.exe довольно сомнителен. Утилита известна тем, что зачастую добивает базу окончательно.
(6)(9) - присоединяюсь. С программными лицензиями проблемы возникают гораздо чаще. Статья классная, я плюсанул. Одно но "Часть ошибок возникает при использовании нелицензионного ПО (windows, 1C и т.д.)." - очень сомнительное предложение. Terve!R; user705520_admin; roman8115; virtmon; Sophus; Bukaska; JesteR; buganov; for-elenak; plmshka; Sergafan10; + 11 – 1 Ответить

(9) Aspire1C,
Скорее это относится к карявым патчам в которых "что-то не учли"

(0)
Статья хорошая, хотя у нас с одним клиентом, в клиент-серверном варианте, возникла ошибка, которая не была описана ни где в интернете (по крайней мере я не нашёл):
При попытки открыть форму справочника или сделать запрос хотя бы к одному его полю - рабочий сервер 1С 8.3 падает и перезапускается. Тут ни чиска кешев, ни dt, ни чекдб в скуле, ни выгрузка-загрузка через файловую базу (с проверкой chdbfl и тестированием-исправлением) не помогают :-) Хотя в файловом варианте всё работало отлично.

(9) Aspire1C,
Скорее это относится к карявым патчам в которых "что-то не учли"
Там учитывать нечего.
Но из за повального спроса, их часто снабжают дополнительным потребительским сервисом - троянами.
Если в процессах висит что-то типа rundll32 C:\windows\temp\pagefile.sys - это вот оно. (9) Aspire1C, Описал частый пример с ломаной платформой. (26) Aspire1C, да, часто это ошибка, возникшая вследствие незнания администратором специфики механизмов лицензирования 1С/HASP.

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

Далее по пунктам:
0) Кэш (и Local, и Roaming) чистим в первую очередь. И при возможности перезапускаем серверы приложения и СУБД.

1) Правильное решение - технологический журнал.
2) Приведена только одна из возможных причин, к тому же не самая частая. (проверьте в системном логе ошибок GDI). И даже в этом случае лучшее решение - обновлять драйвера видео. Наблюдается это только со старыми дровами встроенного видео Intel. А вообще правильное решение - технологический журнал.
3) Правильное решение - технологический журнал
4) Не нужно гадать - сразу идем в отладчик.
5) Верно.
6) Скорее всего, это какая-то проблема связи либо авторизации. В случае с файловой базой первичная рекомендация верная, а при клиент-серверной помогут всяческие пинги, телнеты, анализ системных логов и опять же - технологический журнал.
7) Не забыть написать служебку о саботаже рабочего процесса пользователем. В следующий раз пользователь будет помнить, что он делал. А так да, ЖР, минимальный ТЖ (excp, excpcntx) и логи.
8) Вообще-то в современных конфигурациях механизмы, требовательные к памяти, обычно выполняются на сервере. Может помочь оптимизация проблемных запросов. А в некоторых случаях поможет только сервер x64. Ну и о фрагментации адресного пространства памяти не забываем, спасет плановый перезапуск рабочих процессов.
9) Не факт. В УФ может быть виноват браузер, в ОФ - кривые привязки элементов формы.
10) Тоже не факт. Сбойная база к такой ошибке может приводить.
11) Версия платформы отозвана. Решение - только поднимать базу из бэкапа.

12) С чего вы вообще взяли, что конфликт блокировок - это ошибка? Это показатель некорректной работы СУБД или логики конфигурации, и dbcc checkdb Вас от этого не спасет.
"Конфликт блокировок" бывает двух видов:
а) таймаут - тут нужно выяснять, почему не удалось наложить блокировку за отведенное время.
б) дедлок - тут нужно анализировать порядок наложения блокировок, и далеко не всегда эту проблему удается решить "малой кровью".

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