Двоичные данные файла были удалены возможно файл очищен как ненужный 1с
Перейти к содержимому

Двоичные данные файла были удалены возможно файл очищен как ненужный 1с

  • автор:

УТ11.4 Создание элементов справочника НоменклатураПрисоединенныеФайлы

Слепил функцию
Функция СоздатьПрикрФайлНаСервере(ПутьКФайлу,Том,НомеклатураСсылка)
Спр=Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
Спр.ВладелецФайла=НомеклатураСсылка;
Спр.Автор=ПараметрыСеанса.ТекущийПользователь;
Спр.ДатаСоздания=ТекущаяДата();
спр.ТипХраненияФайла=Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
Спр.ПутьКФайлу=ПутьКФайлу;
Спр.Том=Том;
Спр.Описание=ПутьКФайлу;
Спр.Расширение="jpg";
Попытка
Спр.Записать();
Сообщить("Записан "+Спр.Ссылка+" "+" "+Том+ПутьКФайлу+" "+НомеклатураСсылка);
Исключение
Сообщить("При записи "+Спр.Ссылка+"//Ошибка:"+ОписаниеОшибки());
КонецПопытки;
Возврат спр.Ссылка;
КонецФункции

Не удалось открыть файл:
.jpg
который присоединен к:
Присоединен к Номенклатура : —
по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный или удален антивирусной программой.
Обратитесь к администратору.
.
Путь к файлу — это имя файла без расширения.
Файл реально существует. Режим хранения — на диске в каталоге Том
..
Подскажите, что я мог забыть в коде или лишнее?

Нашёл функцию РаботаСФайлами.СоздатьФайлНаОсновеФайлаНаДиске(ВладелецФайлов, ПутьКФайлуНаДиске);
Параметр
// ВладелецФайлов — ОпределяемыйТип.ВладелецПрисоединенныхФайлов — папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.

У меня есть НоменклатураСсылка. Как преобразовать НоменклатураСсылка во ВладелецФайлов?

Разрулил. Окончательный код.
Функция СоздатьПрикрФайлНаСервере(Знач Результат,Знач Выборка)
ПутьКФайлу=СтрЗаменить(Результат.ПолноеИмяФайла,Результат.Том.ПолныйПутьWindows,"");

ТипСтр=Новый ОписаниеТипов(Метаданные.ОпределяемыеТипы.ВладелецПрисоединенныхФайлов.Тип);
ВладелецФайлов=ТипСтр.ПривестиЗначение(Выборка.Ссылка);

Спр=Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
Спр.Наименование=Результат.ИмяФайла;
Спр.ВладелецФайла=ВладелецФайлов;
Спр.Автор=ПараметрыСеанса.ТекущийПользователь;
Спр.ИндексКартинки=РаботаСФайламиСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Неопределено);
Спр.СтатусИзвлеченияТекста=Перечисления.СтатусыИзвлеченияТекстаФайлов.Извлечен;
Спр.ТипХраненияФайла=Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
Спр.ПутьКФайлу=ПутьКФайлу; //Здесь путь файла без Тома
Спр.Том=Результат.Том.Том;
Спр.Описание="Картинка "+ПутьКФайлу;
Спр.Расширение="jpg";
Спр.Заполнить(Неопределено);
Спр.ДатаМодификацииУниверсальная= СуществующийФайл.ПолучитьУниверсальноеВремяИзменения();
Спр.Размер=СуществующийФайл.Размер();
Спр.ДатаСоздания=СуществующийФайл.ПолучитьВремяИзменения();
Спр.Изменил=ПараметрыСеанса.ТекущийПользователь;

Попытка
Спр.Записать();
Сообщить("Записан "+Результат.ИмяФайла+" —> "+ВладелецФайлов);

Возврат спр.Ссылка;
Исключение
Сообщить("При записи "+Результат.ИмяФайла+" —> "+ ВладелецФайлов+" ?"+ОписаниеОшибки());

Возврат Неопределено;
КонецПопытки;
КонецФункции
..
Исправил ошибки:
-в реквизит Том надо было передавать СправочникСсылка.Тома
-в реквизит ВладелецФайла передал нужный тип (по факту СправочникСсылка. Номенклатура
-добавил заполнение реквизитов с параметрами файла на диске
-в реквизит ПутьКФайлу надо было передавать полный путь к файлу без пути к тому
После этого заработало.

.
В БСП были функции работы с файлами (справочник Файлы), но я не смог прикрутить к справочнику НоменклатураПрикрепленныеФайлы. Поэтому вернулся к первоначальному коду и правил его
.
для меня этот квест завершён

Тема: ОШИБКА 1С 8.3. Файл не найден в хранилище файлов. Возможно файл удален антивирусной п

ОШИБКА 1С 8.3. Файл не найден в хранилище файлов. Возможно файл удален антивирусной п

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение

Re: ОШИБКА 1С 8.3. Файл не найден в хранилище файлов. Возможно файл удален антивирусн

Как вариант — "тупо" удаляешь эту позицию номенклатуры из справочника (помечаешь на удаление в форме списка, а затем штатная процедура удаления помеченных)
Ну а затем, если позиция нужна, то заводишь её снова.

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

Не найден файл в хранилище данных. Исправление структуры БД

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

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

1. Первым делом закройте программу , и сделайте на всякий случай копию базы данных. Для этого зайдите в папку, в которой хранится база данных, и скопируйте куда-нибудь файл 1Cv8.1CD :

2. Теперь нам нужно узнать, в какой папке хранятся временные файлы программы 1С . Для этого снова запустите программу 1С:Предприятие . В стартовом окне выделите название вашей информационной базы и нажмите справа кнопку “Настройка ”:

В открывшемся окошке видим путь, по которому хранятся временные файлы 1С. У меня это следующий путь: C:\Users\VLADIMIR\AppData\Roaming\1C\1cv8\tmplts:

Папки с кешем будут находится по адресу C:\Users\VLADIMIR\AppData\Roaming\1C\1cv8 . В вашем случае путь может быть таким: .

3. Итак, закрываем . Затем средствами Windows заходим в папку C:\Users\Имя_пользователя\AppData\Roaming\1C\1cv8 (если у вас не отображается папка AppData , то читайте первый комментарий под этой статьей). Здесь выделяем все папки с буквенно-цифровыми длинными именами и смело удаляем их :
После удаления папок, снова запускаем программу 1С Предприятие. На этот раз обновление программы должно пройти успешно и ошибка “Неверный формат хранилища данных” не должна повториться.

Нояб 08, 2017 32634

Может возникнуть ситуация, когда 1С 8.3 не запускается и появляется ошибка — «Неверный формат хранилища данных» с указанием пути к файлу file c users config runtimecachestorage. Но, не стоит паниковать, ошибка неверного формата данных хранилища не такая редкая как может показаться на первый взгляд. Поэтому в данной статье давайте узнаем как исправить ошибку в 1С 8.3.

Причины появление ошибки «Неверный формат хранилища данных» в 1С 8.3

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

Что такое кэш 1С 8.3?

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

Как очистить 1С 8.3?

Файлы кэша хранятся в папке AppData, в профиле пользователя, под которым запускается программа 1С 8.3. Проще всего её открыть через команду Пуск \ Выполнить \ %userprofile%\AppData

Здесь нам нужно удалить все содержимое следующих папок:

После выполнения операций удаления вновь запускам программу 1С Предприятие 8.3 и радуемся жизни.

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

К сожалению, при работе с программой зачастую встречаются ошибки, не имеющие единственного общего способа устранения. К ним можно отнести ошибку 1С 8.3 (8.2) — «Неверный формат хранилища данных». Дело в том, что причин может быть множество, соответственно и способов устранения.

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

Данный способ является самым распространенным исходя из многочисленных сообщений на формах тех, кто победил ошибку «Неверный формат хранилища данных» в 1С. В том случае, когда программа работает корректно на одном компьютере, а на другом выдаёт ошибку, данный способ для вас. Очистить кэш самостоятельно очень просто, но если у вас все-таки возникли трудности, то всё необходимое можете узнать в .

Исправление структуры БД

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

Если информационная база является клиент – серверной, тогда откройте ее в режиме конфигуратора и в меню «Администрирование» выберите пункт «Тестирование и исправление…».

Для файловой базы воспользуйтесь утилитой ChDBFl.exe, которая является аналогом тестирования и исправления в конфигураторе.

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

Перезапуск сервера 1С

На клиент–серверных базах иногда встречается ошибка такого плана:

Попробуйте остановить сервер 1С:

net stop «1C:Enterprise 8 Server Agent (x64)»

Удалить все файлы с расширением *.dat из папки, на которую ссылается ошибка:

del «C:\Program Files\1cv82\srvinfo\reg_1541\snccntx\*.dat»

Запустить службу заново:

net start «1C:Enterprise 8 Server Agent (x64)»

Перенос данных

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

Первым делом вам необходимо создать чистую базу с конфигурацией того же релиза с такой же структурой. Далее при помощи стандартной обработки «Выгрузка Загрузка данных XML» перенести все данные в пустую рабочую базу (скачать — для 8.2 или для 1С 8.3 или на ИТС).

Обязательно убедитесь в том, что структура и все реквизиты из «битой» базы есть в чистой!

Восстановление внешних обработок

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

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

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

Скопируйте все найденные по маске «v8_*.tmp» из папки TMP в безопасное место. Теперь можно запускать 1С. Попробуйте определить, какой файл является именно вашей обработкой по его размеру, и измените его расширение с.tmp на.epf. Если вам сложно определить, какой именно файл является вашим, то переименуйте все и поочередно запускайте их в 1С. Но чаще всего получается найти нужный файл достаточно быстро, особенно если отсортировать его по дате.

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

Ищите вашу обработку по текстам модулей. Распакуйте старую версию обработки при помощи утилиты V8Unpack.exe . Скопируйте и замените все необходимые тексты модулей и запакуйте при помощи этой утилиты обратно.

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

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

Иногда при работе с программой 1С может возникнуть ошибка СУБД. И программа сообщает «Файл базы данных поврежден» и указывает путь к файлу нашей информационной базы. Рассмотрим, что делать, если возникает такая ошибка и как ее исправить.

Файл базы данных поврежден 1С — что делать

Эта ошибка может возникнуть вследствие неожиданного завершения работы программы 1С 8.3, что может быть вызвано сбоем работы сети, выключением главного компьютера, когда другие пользователи работают, выключение электроэнергии и т.п. При этом программа 1С может открываться, работать, а ошибка зачастую появляется при попытки создать объект (документ или элемент справочника) или провести документ, с которым работал пользователь во время сбоя.

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

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

В случае, если резервная копия делалось давно или вовсе отсутствует, или введен большой объем информации, то можно воспользоваться средствами тестирования и исправления ошибок.

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

Ошибка СУБД в 1С: как исправить

Для проверки физической целостности файла базы данных 1С предусмотрена утилита chdbfl.exe.

Она находится в папке с установленной платформой 1С Предприятие в папке bin. В нашем случае она располагается по адресу: диск С:\ProgramFiles\1cv8\8.3.12.1440\bin, где 8.3.12.1440 — номер установленной платформы 1С.

Откроем папку, найдем файл утилиты и запустим ее.

В открывшемся окне укажем путь к файлу нашей информационной базы — это файл 1Cv8.1CD.

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

Выбираем файл нашей конфигурации, который нужно исправить, устанавливаем галочку Исправлять обнаруженные ошибки и нажимаем кнопку Выполнить .

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

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

В большинстве случаев утилита chdbfl.exe справляется со своей задачей по исправлению ошибок СУБД в 1С 8.3. После окончания проверки необходимо проверить результат.

В нашем случае исправление ошибки прошло успешно, база 1С 8.3 работает, документ проведен и ошибка больше не появляется.

В случае если этот способ Вам не помог, то можно попробовать восстановить поврежденную базу через Конфигуратор — пункт меню Тестирование и исправление . Подробнее об этом способе тестирования в статье Исправление базы 1С 8.3 какие галочки ставить.

См. также:

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

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

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

    Иногда при работе в 1С может возникнуть ошибка «Конфликт блокировок.При работе с программой 1С, пользователь может столкнуться с сообщением.При работе с 1С может возникнуть ошибка: Ошибка работы с.Ошибка Переменная не определена в 1С 8.3 указывает на то.

(13 оценок, среднее: 4,54 из 5)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *