1с ошибка чтения файла списка загружаемых файлов

0

Надо работать

25.10.18

13:24

У вас работает ключ -ListFiles? Постоянно пишет «Ошибка чтения файла-списка загружаемых файлов», платформа 8.3.10.2561

Вообще, реализовывал кто-то выгрузку-загрузку через /DumpConfigToFiles C:\xml -getChanges C:\diff.txt и анализ файла diff.txt?

1

twinsen

09.11.18

10:03

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

Есть программа, которая создает список файлов такого формата

Config.dat CD875A24B64F1BDE6014D68E846365AD 1024

имя файла, хеш, размер
Но есть некоторые файлы, в названии которых есть пробел

BGM (25).30071 9755F66F2D04E3E05E51F4C8EE216E2D 42258

При скачивании получаю ошибку о неверном формате. То есть строка делится не на три сигмента, как мне нужно, а на 4

public static UpdateFile FromString(string line)
    {
        if (line == null)
            throw new ArgumentNullException("line");

        if (line.StartsWith(" "))
            line = line.TrimStart();

        if (line.EndsWith(" "))
            line = line.TrimEnd();

        string[] segments = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        if (segments == null || segments.Length != 3)
        {
            throw new FormatException("Переданная строка имеет неверный формат");
        }

        long fileSize = long.Parse(segments[2]);
        return new UpdateFile(segments[0], segments[1], fileSize);
    }

Подскажите, как я могу решить эту проблему?

Ситуация: у клиента перестала запускаться 1С. Файловая БП. При открытии она долго думала, но потом показывала ошибку AppCrash — критический сбой приложения.

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

Оказалось, что основной файл базы 1Cv8.1CD попросту не читается с диска. Ни открыть, ни скопировать. Стандартный проводник не понимал, как к нему приступиться.

Штатная утилита chdbfl работала только в режиме проверки, сообщая, что есть ошибки. При опции «Исправлять обнаруженные ошибки» — зависала напрочь.

К этому всему, система могла уйти в синий экран. Показывала причину в файле ntfs и возвращала код KERNEL_DATA_INPAGE_ERROR. Бэкапов нет. Во дела.

🌀 Маленькая да удаленькая

Шансы на восстановление таяли. Намного быстрее, чем мы думали. Но. Решили проверить одну программу — Non-Stop Copy v.1.04. И она помогла.

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

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

🔻 В итоге:

  1. 1CD-файл базы все-таки скопировали в другой каталог.
  2. Через Конфигуратор запустили Тестирование и исправление (ТиС).
  3. База открылась.

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

P. S. Вдруг, если вы обновляли базу через режим Предприятие — есть шанс найти в папке %temp% старые временные копии базы. И совсем минимальный — найти предыдущий в свойствах битого файла 1cv8 на вкладке «Предыдущие версии» или через ShadowExplorer.

__________
Если не получается или требуется дополнительная поддержка, наши программисты 1С готовы помочь. +7-911-500-10-11

Вам помог наш сайт?

Тогда и мы с радостью примем Вашу помощь
Перечислите любую сумму на Билайн-номер +7-777-398-41-00


Каждое перечисление поможет форуму!

Новые сообщения:

[11.09.2023 обновлена] Версия ИС СОНО 4.0.36 [31.08.2023]
Кайрат-F2
Сегодня, 10:01


Работа налоговых серверов в 3 квартале 2023 года
Кайрат-F2
Вчера, 19:22


[19.09.2023 обновлена] Шаблоны форм на 2023 год для ИС СОНО
Кайрат-F2
19 сен 2023, 16:25


[13.09.2023 обновлена] [e-Salyq Azamat] eSalyq — Мобильное приложение
Кайрат-F2
13 сен 2023, 22:31


Цены на овощи и фрукты в Казахстане
Кайрат-F2
12 сен 2023, 09:47


[12.09.2023 обновлена] Правила заполнения налоговых форм на 2019 год
Кайрат-F2
12 сен 2023, 00:51


[12.09.2023 обновлена] Шаблоны форм на 2020 год для ИС СОНО
Кайрат-F2
12 сен 2023, 00:51


[12.09.2023 обновлена] Шаблоны форм на 2022 год для ИС СОНО
Кайрат-F2
12 сен 2023, 00:51


[12.09.2023 обновлена] Шаблоны форм на 2021 год для ИС СОНО
Кайрат-F2
12 сен 2023, 00:51


Экономические последствия коронавируса, COVID-19
Кайрат-F2
11 сен 2023, 16:16


[Новость] Перспективы развития интернета в Казахстане
Кайрат-F2
03 сен 2023, 09:49


Проблемы образования.
Кайрат-F2
01 сен 2023, 23:47


Налоговые проверки
Нуреке
31 авг 2023, 15:28


[Новость] www.esf.gov.kz — Портал по выписке электронных счетов-фактур
Кайрат-F2
24 авг 2023, 15:10


Экономика Казахстана к 2060 годам и сегодняшней рождаемость
Кайрат-F2
24 авг 2023, 10:25


Темиртау — город-юбиляр
Кайрат-F2
21 авг 2023, 17:27


[14.07.2023 обновлена] Версия ИС СОНО 4.0.35 [14.07.2023]
Кайрат-F2
17 авг 2023, 10:03


[15.08.2023 обновлена] e-Salyq Business — мобильное приложение
Кайрат-F2
15 авг 2023, 22:42


[Новость] Новости от 1С
physik_gumanitar
08 авг 2023, 18:02


[Новость] Заявление на проведение зачета (возврата) в Кабинете НП
Нуреке
08 авг 2023, 09:47


Девальвация или инфляция в Казахстане?
Кайрат-F2
04 авг 2023, 22:34


[01.07.2023 обновлена] Правила заполнения налоговых форм на 2018 год
Кайрат-F2
01 июл 2023, 18:58


Многодетные семьи в Казахстане
Кайрат-F2
29 июн 2023, 18:44


А вы знаете, что………….
Кайрат-F2
24 июн 2023, 08:55


[Новость] Хорошие новости и хорошие инициативы
Кайрат-F2
20 июн 2023, 13:48


Кто что читает?
Кайрат-F2
20 июн 2023, 12:25


[17.06.2023 обновлена] Правила заполнения налоговых форм на 2017 год
Кайрат-F2
16 июн 2023, 23:10


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

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

//На клиенте
ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);//На сервере
ПолноеИмяФайла = ПолучитьИмяВременногоФайла(«XLS»);
ДД.Записать(ПолноеИмяФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);

Доработал и забыл. Как вдруг новая напасть — попросили доработать обработку, начинаю ее отлаживать, а она не считывает данные из XLSX файла.

Причем выдает ошибку доступа к временному файлу:

Я попробовал записывать во временный каталог, но это не принесло результата:

ТекКаталог = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ТекКаталог);
ПолноеИмяФайла = ТекКаталог + «\» + Новый УникальныйИдентификатор() + ТипФайла; //ПолучитьИмяВременногоФайла(«XLS»);ДД.Записать(ПолноеИмяФайла);Ф = Новый Файл(ПолноеИмяФайла);
Сообщить(ПолноеИмяФайла » Существует: » + Ф.Существует());ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст); //, ТипФайлаТабличногоДокумента.ODS);

Причем 1С писала, что файл существует:

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

ПотокДанных = Новый ПотокВПамяти();
ЗаписьДД = Новый ЗаписьДанных(ПотокДанных);
ЗаписьДД.Записать(ДД);
ЗаписьДД.Закрыть();
ПотокДанных.Перейти(0, ПозицияВПотоке.Начало);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПотокДанных, СпособЧтенияЗначенийТабличногоДокумента.Текст, ТипФайлаТабличногоДокумента.ODS);
ПотокДанных.Закрыть();

Увы, при этом выдавалась все та же ошибка доступа. Кроме того, в документации я посмотрел, что из памяти можно считывать не все форматы, а только MXL и ODS. Бред, конечно, но такова 1С.

И тут до меня дошло попробовать поменять расширение на XLSX:

//на клиенте
ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);
Ф = Новый Файл(ПолноеИмяФайла);
ТипФайла = Ф.Расширение);//на сервере
ТекКаталог = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ТекКаталог);
ПолноеИмяФайла = ТекКаталог + «\» + Новый УникальныйИдентификатор() + ТипФайла;
ДД.Записать(ПолноеИмяФайла);ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);

И всё заработало. У 1С, как обычно, беда с диагностикой ошибок. Она пишет совсем не ту ошибку, которая вызывает проблему. Доступ к файлу есть, просто формат файла 1С определяет по расширению, а не содержимому файла.

Время факт: 0,5 час. На поиски решения проблемы.

Понравилась статья? Поделить с друзьями:

Интересное по теме:

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

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

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: