1с ошибка при выгрузке информационной базы

Обновлено: 04.07.2024

Версия платформы 8,3,7,1860 Файловый вариант
При попытке в конфигураторе выгрузить БД в ДТ выдает ошибку
Нарушение целостности информационной базы.
Ошибка в размере файла ХХХХХ-ХХХХ-ХХХХ-хххх.pfl при выгрузке таблицы files. Ожидаемое значение 0, а значение в таблице 123456

Исправление БД через конфиг сделано - ошибок нет
chdbfl.exe ошибок не обнаружил
Поудалял все папки ХХХХХ-ХХХХ-ХХХХ-хххх с файлами pfl

Перенес 1cv8.cd на другой комп. Платформа та же. Базу проверил на наличие ошибок обеими способами. Ошибок нет. Пытаюсь выгрузить - результат та же самая ошибка.

Нарушение целостности информационной базы.
Ошибка в размере файла ХХХХХ-ХХХХ-ХХХХ-хххх.pfl при выгрузке таблицы files. Ожидаемое значение 0, а значение в таблице 123456

Получается дело не во временных файлах, а внутри файла 1cv8.1cd
Ребят - кто сталкивался? Подскажите как полечить

(1) "Версия платформы 8,3,7,1860 Файловый вариант"

Вообще очень ожидаемая ситуация, как раз в 8.3.7 добавили проверку корректности при выгрузке. Раньше бы выгрузилась. но не загрузилась.

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

Чисто теоретически.
Если откатить платформу до 8.3.6, то шанс какой-никакой но появится.

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

А вообще надо стучаться в Фирму и узнавать, как предполагается восстанавливать данные.
Ведь реальная проблема "Исправление БД через конфиг сделано - ошибок нет chdbfl.exe ошибок не обнаружил"

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

(3) CaptainMorgan,
ОчиститьНастройкиПользователя(ПользователиИнформационнойБазы.ТекущийПользователь());
Вот еще попробовал - Не помогло У нас была такая же проблема. база УПП доработанная, на 8.3.6 в dt выгружается без проблем на 8.3.7 (все проверил до 8.3.7.1860) выдается аналогичная ошибка на files.
Решили так:
выгрузили под 8.3.6 файловом варианте загнали в MSSQL под 8.3.7 средствами MSSQL нашли таблицу files, в ней запись на которую ругается - поставили ее размер = 0 и все база стала выгружаться.
По содержимому этой таблицы было что то типа истории при динамическом обновлении полгода назад. 8.3.5 тогда платформа была.
Если в MSSQL не перевести то на infostarte где то есть бета-редактор 1CD файлов там тоже можно найти эту таблицу (но сам не пробовал хотя его и скачал) Была такая же ошибка и с базой на Камине 3.5 - помогло просто обновление до последнего релиза. Попробовал сделать выгрузку на 1С:Предприятие 8.2 (8.2.19.80) Выгрузило!
Загрузил на 1С:Предприятие 8.3 (8.3.7.1860)
Загрузило!
Запустил - работает. данные есть
Но при выгрузке DT снова пишет ту же ошибку! Т.е. всосало с ошибками и выплюнуло с ними же! Ответ выше - загрузите в SQL, почистите эту таблицу средствами SQL, выгрузите базу и загрузите в файловый вариант. Ну или ждите пока 1с пофиксит chdbfl.exe.


Загрузил БД в MS SQL
Нашел нужный файл и косячную запись в таблице - как ее удалить?

(9) На закладке Дополнительно надо указать каталог где будут располагаться файлы.
После этого выделить таблицу и нажать кнопку экспорт текущей таблицы

В указанном каталоге появляется папка с файлами.
blob
data
descr
index
root

Исправляешь их или заменяешь исправленными и выполняешь обратный процесс

Указываешь тот же каталог импорта
Кнопка Импорт текущей таблицы

(10) CaptainMorgan,
Взял tools_1cd
Выгрузил, получил файлы

blob
data
descr
index
root

открыл файл blob - какой то странный формат. Вроде и текстовый а вроде и xml подобный. Нужную запись по содержимому поля FILENAME так и не нашел в нем!
Как с ним бороться?

Обыскался не нашел Дополнительно. Ребята ткните пальцем

(11) Я рассказал про программу Tool_1CD версии 3.0 beta
Эта программа позволяет корректно работать с файловой базой 1С
Вы же писали "Версия платформы 8,3,7,1860 Файловый вариант"

А на скриншоте я не разобрал что за программа, очки потерял а зрение уже не то что раньше.

Если вам удалось базу залить в SQL, то там в контекстном меню Изменить первые 200 строк

А вообще, попробуйте переименовать dbo.Files что в этом случае получится?

(13) Вы пишите "Изменить 200 подошло! Удалил косячные записи"
Уважаемый ah7777777 , очень хочется узнать результат.

Если по правде, то именно это нововведение, появившееся с релиза 8.3.7 сдерживает меня от внедрения его у пользователей.

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

Но 8.4 сейчас не просто сырая платформа, а вообще ультра сырая.

(14) CaptainMorgan,
Результат по восстановлению работоспособности БД (Нарушение целостности информационной базы.
Ошибка в размере файла ХХХХХ-ХХХХ-ХХХХ-хххх.pfl при выгрузке таблицы files. Ожидаемое значение 0, а значение в таблице 123456 )
прошел успешно.
8.3.7 в этом случае только выявила ошибку при выгрузке, т.к. 8.2 выгрузило ту же БД без ошибок. Поэтому про 8.3.7 ничего плохого сказать не могу, но и хорошего то же, т.к. Исправление ошибок средствами конфигуратора (логическая целостность) ошибок не выявило.

Сегодня столкнулся с такой же проблемой. Внутреннее + внешнее тестирование не давало результатов. Уже отчаялся. Думал вскрывать базу через МС СКуЛ (вычитал на руборде), но решил на последок под всеми пользователями прогнать ОчиститьНастройкиПользователя(ПользователиИнформационнойБазы.ТекущийПользователь()); Вот прям зашел под каждым, и выполнил. Платформа 1С:Предприятие 8.3 (8.3.7.1970). И произошло чудо! База выгрузилась и загрузилась! :) Я рад
Можете не благодарить

Но есть побочный эффект. Все настройки послетали. Кучу внешних обработок перенастраивать заново. ех.

forwork1c; type; nedopro; onetone; doronin70; freeek; virtmon; + 7 – Ответить (17) Воспользовался вашим советом. У меня платформа 8.3.7.1790, Бухгалтерия 2.0. Прогнал команду ОчиститьНастройкиПользователя(ПользователиИнформационнойБазы.ТекущийПользователь() под каждым пользователем.
ВСЕ В ПОРЯДКЕ. Ошибка ушла!

(40)
Чтобы не перебирать пользователей можно использовать следующий код, например во внешней обработке:

МассивПользователей=ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого СтрокаМассива Из МассивПользователей Цикл
Сообщить("Чистим "+СтрокаМассива);
ОчиститьНастройкиПользователя(СтрокаМассива);

Сталкивался с такой же ерундой, в sql перевести базу не было возможности. В итоге откатился до последнего бэкапа, где ошибки не было и с помощью стандартной обработки ВыгрузкаЗагрузкаДанныхXML перетащил недостающие данные. Столкнулся с такой же проблемой, нужно было сконвертировать Бухгалтерия 2.0 в Бухгалтерию 3.0;
Решение оказалось интересным, сначала попробовал очень ранний релиз 1С 8.3, и там и выгружалось и загружалось, проблем не было, но ругалась конвертация, что ей нужна платформа не ниже 8.3.6.2449, ну я и решил установить эту платформу, и В.С.Е. проблема решилась, конфигурация успешно конвертнулась в 3.0. И самое интересное, что ошибка переносится и в 8.3 скорее всего 1С пофиксит эту проблему когда нибудь, но до той поры советую данный релиз не удалять для такого рода ошибки.

Как дополнение, после загрузки БД в Postgre решил я найти эту таблицу и исправил в таблице размер файла. После проверили 1С Бухгалтерию, и оборотка и справочники и документы, все на месте, сложилось впечатление что разницы была забита пустыми строками. Но это в моем случае, в других случаях возможно потеря данных, короче надо экспериментировать.
У меня проблема решена полностью.

Повторяю. Это касаемо Бухгалтерской конфигурации.
1. Ставите релиз платформы 8.3.6.2449
2. Конвертируете в Бухгалтерию 3.0 (БД должна находиться либо в SQL, Postgre).
3. После конвертации ищем в SQL (Postgre) таблицу на которую ругается 1С и ставим тот размер который предлагает 1С.
Далее проверяем.

Спасибо,за совет!
Выгрузил с помощью 1с 8.2 (в 8.3 не выгружается)
Загрузил в MsSQL
в Dbo.Files нашел файл на который ругается 1с 8.3
Datasize поставил 0 - такой размер ожидала выгрузка 1с
Загрузил 1с 8.3 и. выгрузка прошла нормально!
Еще раз спасибо!

Протокол моих действий в скулевой базе:

похоже, 1С-ка ругается на эту запись

FileName Creation Modified Attributes DataSize BinaryData PartNo
2001-01-01 00:00:00.000 2001-01-01 00:00:00.000 0 99616 0x 0

т.е. ту, в которой пустой FileName и BinaryData = 0x

Попробуем ее удалить.
Пишем DELETE FR OM [имяВашейБазы].[dbo].[Files] WH ERE FileName=''

Все прошло удачно!

Здравствуйте!
столкнулся а аналогичной проблемой. прочитал тему, решил пойти более быстрым путем, использовать Tool_1CD, а SQL оставить на крайний случай. Скачал утилиту. Открыл свой файл 1Cv8.CD. нашел табличку и файл на которые ругались при выгрузке. поставил значение 0 как просила 1С. сохранил значение. выгружаю ДТ из 1С второй раз снова выходит ошибка, но уже на другой файл ругается. Повторил процедуру в Tool_1CD. Снова выгрузить ДТ попробовал и все получилось. Изначально ДТ был выгружен со стартера 8.2. Загружен в 8.3.7. Из него выгрузка не проходила, пока таблички не поправил. Дальше ради эксперимента ДТ от 8.2 загрузил на стартер 8.3. Снова попробывал выгрузить в ДТ и опять ошибки. Исправил через Tool_1CD. Дальше на старетере 8.3 выгрузка прошла. (25) nick-name, tool_1cd, которую мне удалось добыть не загружает базу БП 2.0 работавшую на 8.3.7, пишет что это не база 1С.
Какая у вас версия и где ее можно взять? Проблема такая же как в теме. (нужна версия с редактированием) снял с поддержки и поставил обратно и все заработало Такая же ошибка возникла на клиент-серверном варианте. Помогла остановка и повторный запуск сервера 1С Была такая же ошибка на платформе 8.3.7.
Поставила платформу 8.3.8.1652, сделала Исправление черезchdbfl.exe ошибок не обнаружил, копию потом сделал была такая же проблема. Решил путем отката на предыдущий бэкап, где все работало, и перенес данные с битой базы в рабочую (30) kondrv, Также столкнулась с такой же проблемой,ничего не окатывала, просто запустила программу со старой платформой,в данный момент 8.3.5.1486 всё выгрузилось и обновилось, ошибка же возникла на платформе 8.3.8.1933. Проблема не с видом базы (серверная или файловая), а именно в релизе.

Возникла подобная проблема на платформе 8.3.8.2054 после обновления с платформы 8.3.6.1251. База 1С Бухгалтерия 3.0 На SQL 2014 (на самом деле от версии SQL не зависит).
Ошибка
Нарушение целостности информационной базы. Ошибка в размере файла 0070d942-3a6c-43e2-a265-b76c6943d100.pfl при выгрузке таблицы Files. Ожидаемое значение: 109444, значение в таблице: 172141

Решили следующим образом.
Зашли на SQL сервер нашли в нужной базе таблицу DBO.FILES
Вывели таблицу. Для тех кто не знает, Контекстное меню на таблице "Select top 1000 rows"
Нашли строку с файлом и некорректными данными
Открыли первых 200 записей для редактирования. Для тех кто не знает, Контекстное меню на таблице Edit top 200 rows

У меня было повреждение только при выгрузке таблицы CONFIC.

Решение, которое помогло.

Все манипуляции в режиме конфигуратора.

1) Открыл другую базу с аналогичным релизом и выгрузил конфигурацию в файл (.cf). (Конфигурация -> Сохранить конфигурацию в файл)
2) Снимаю проблемную базу с поддержки (чтобы можно было загрузить конфигурацию). (Конфигурация -> Поддержка -> Настройка поддержки -> Включить возможность изменения -> Снять с поддержки)
3) Загружаю ранее выгруженный .cf файл. (Конфигурация - Загрузить конфигурацию из файла)

Что делать?

Варианты действий:

  1. Восстановить информационную базу из резервной копии (если есть).
  2. Использовать встроенную утилиту для проверки целостности — chdbfl.exe.
  3. Выполнить тестирование и исправление базы через Конфигуратор.
  4. Создать новую пустую базу и загрузить сформированный dt-файл.

Рассмотрим каждый из вариантов подробнее.

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

I. Восстановление из резервной копии

Откройте Конфигуратор. Через меню « Администрирование — Загрузить информационную базу… » выполните восстановление рабочей резервной копии.

Рекомендация : для этих целей рекомендуем создать новую базу и выполнить загрузку копии в неё.

II. Использование утилиты chdbfl.exe

  • Найдите папку с установленной платформой 1С — например, « C:\Program Files (x86)\1cv8\8.x.xx.xxxx », где 8.x.xx.xxxx - номер релиза платформы. Или проверьте в свойствах ярлыка запуска 1С, значение «Рабочая папка».
  • Откройте приложение из каталога bin, где находится искомый файл.
  • Выберите файл 1Cv8.1CD, установите признак « Исправлять обнаруженные ошибки » и нажмите на кнопку « Выполнить ».

По окончанию проверки программа покажет результаты, а при возможности — исправит обнаруженные ошибки.

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

  • Откройте Конфигуратор.
  • Выберите пункт « Тестирование и исправление… ».
  • В блоке « Проверки и режимы »: — если база большая, проверьте последовательно операции; если малого размера, то все разом:

— Проверка логической целостности;

— Проверка ссылочной целостности;

  • Установите параметр « Тестирование и исправление ».

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

Рекомендация : проверьте для начала режим ссылок «Не изменять». Программа выведет найденные ссылки, и после этого примете решение, очищать их или создавать.

IV. Выгрузить dt-файл и создать новую базу

Пункт аналогичен варианту №1 с тем различием, что вы восстанавливаете не резервную копию, а сначала выгружаете dt-файл.

  • Откройте Конфигуратор для ИБ, где наблюдаются ошибки.
  • Через меню « Администрирование — Выгрузить информационную базу… » выполните выгрузку базы в dt-файл.
  • Создайте новую информационную базу и войдите в Конфигуратор.
  • Через меню « Администрирование — Загрузить информационную базу… » выполните загрузку копии базы.

V. Дополнительные действия

При подозрениях на ошибки жёсткого диска, на котором располагается информационная база:

  • скопируйте каталог базы на другой физический диск;
  • удалите все файлы и папки, кроме файла 1Cv8.1CD;
  • войдите в базу с нового расположения.

VI. Нестандартные ситуации

Когда один пользователь входит в базу 1С и работает без ошибок, а у другого — сбой. В этом случае выполните очистку кэша на рабочем месте, где возникает ошибка. Подробнее здесь .

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

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.

При выгрузке ИБ в конфигураторе возникает ошибка (Запись дампа и "Программа "1cv8" не работает").

В логах вот это:
42:30.047000-0,EXCP,3,process=1cv8,Usr=Тест,OSException=1cv8_8.3.9.1818_1bb0ce55_20161121184230_2808
42:30.047000-0,EXCP,3,process=1cv8,Usr=Тест,OSException=1cv8_8.3.9.1818_1bb0ce55_20161121184230_2808
42:30.047001-0,EXCPCNTX,0,ClientComputerName=DESKTOP-3RTRKCN,ServerComputerName=DESKTOP-3RTRKCN,UserName=Тест,ConnectString='File="C:\Users\alekk\Documents\InfoBase12";'
42:30.047002-15989,EXCPCNTX,2,SrcName=DBV8DBEng,OSThread=15692,process=1cv8,Usr=Тест,Trans=0,Func=serializeTable,tableName=_InfoRgOpt20925
42:30.047003-327039003,EXCPCNTX,1,SrcName=SCOM,OSThread=15692,process=1cv8,Usr=Тест,ProcessName=RHostRoot,SrcProcessName=RHostRoot
42:30.047004-332414004,EXCPCNTX,0,SrcName=PROC,OSThread=15692,process=1cv8
42:56.797000-0,EXCP,3,process=1cv8,Usr=Тест,DumpError=C:\dumps\1cv8_8.3.9.1818_1bb0ce55_20161121184230_2808.mdmp

В минидампе вот это:
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(af8.3d4c): Access violation - code c0000005 (first/second chance not available)
eax=00000000 ebx=0fc41008 ecx=00000000 edx=0019de4c esi=000002cc edi=0fc40ff8
eip=7707eb7c esp=0019c6bc ebp=0019c6c8 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00200202
ntdll!NtGetContextThread+0xc:
7707eb7c c20800 ret 8

Тестирование chkdbfl.exe не выдает ошибок.
Тестирование и исправление в конфигураторе вылетает с той же ошибкой на реиндексации таблиц ИБ.

Единственное, что мне понятно из дампа и логов - это имя таблицы _InfoRgOpt20925.
Эта таблица "РегистрСведений.СведенияОбИнвалидностиФизическихЛиц" с назначением "НастройкиХраненияИтоговРегистраСведений".

В Tool_1CD не нашел таблицы с таким названием (_InfoRgOpt20925) на вкладке "Просмотр". Но на вкладке "Утилиты - Файлы таблиц" эту таблицу видно.
Пробовал снимать с поддержки, удалять из конфигурации этот регистр сведений - не помогло. Та же самая ошибка, на ту же таблицу ругается.

Конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.44.199).
Платформа 1С:Предприятие 8.3 (8.3.9.1818)

Здравствуйте. У меня конфигурация ЗУП 2.5 на платформе 8.1. Не могу выгрузить ИБ, пишет " Ошибка исключительной блокировки информационной базы. Возможно информационная база используется другой задачей". База находится на сервере. Нет активных пользователей. Помогите пожалуйста.

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

(4)+ Если в консоли сервера для информационной базы действительно нет соединений, то с большой долей вероятности это ошибка, связанная с утечкой памяти на сервере 1С Предприятия. Лечение этой проблемы - перезагрузка сервера или перезапуск процессов сервера.

Если имеется в виду клиент-серверный вариант работы


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

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

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

а как перезагрузить сервер или перезапустить процессы?

(8) Salavat88,
Мне обычно помогает следующая процедура:
1. Открываем оснастку Администрирование->Службы. Находим службу "Агент сервера 1С:Предприятия 8.х", на нее правой кнопкой мыши - "Стоп".
2. Открываем диспетчер задач (Ctrl+Shift+Esc) и на закладке "Процессы" ищем процесс(ы) "rphost.exe". Если есть, то до выполнения следующего пункта ждем, когда они закроются (пропадут). Если в течение 10-15 минут не отвалились - убиваем вручную (такое часто случается на 32-битных серверах, которые давно не перезагружались)
3. Запускаем службу "Агент сервера 1С:Предприятия 8.х" - на нее правой кнопкой мыши - "Пуск".

Спасибо. я на консоли сервера удалил и создал новый рабочий процесс и все заработало. ура!!))

Преподаватель 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Временный (на проект)

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