Страницы: 1
RSS
PQ: сбой в загрузке файла xml
 
Есть стандартная выгрузка из 1С книги продаж в формате xml. Весит очень много - 454 Мгб.
Хотелось попробовать ее загрузить в PQ для дальнейшей обработки, но выдает вот такую ошибку:

Произошла ошибка при попытке подключения:
Подробности: "Сбой обработки XML. Введенные данные недопустимы или не поддерживаются. (Внутренняя ошибка: Знак "�", шестнадцатеричное значение 0xFFFD, не может стоять в начале имени., строка 1, позиция 241.)"

Есть подозрение, что ругается на русские символы/слова в данном файле, но менять их все там на англ - не вариант. Все выгрузки 1С именно такие.  Да и до конца нет уверенности, что ругается именно на это.

Вопрос - что-то вообще с этим можно сделать на уровне пользователя? Какие-то есть доступные экономисту варианты решения проблемы? Программистов могу привлечь, но это адски долгий путь)) Да и им нужно объяснить, что конкретно делать.
 
В xml это прямо принципиально? В CSV эту выгрузку сохранять религия не позволяет? Или есть другие веские причины?
Плюс ко всему 1С очень уж много всякого мусора пихает что в xlsx что в xml, mxl и во все остальное.
Маленький пример на 300 кб этой выгрузки показать можете? Можно в архиве.
Если без примера, то подозрения на кодировку. Что у функции Xml.Document, что у Xml.Tables Есть параметры, в которых можно указывать тип кодировки. По-ковыряйтесь с этим параметром, думаю поможет.
Изменено: PooHkrd - 11.02.2019 10:10:18
Вот горшок пустой, он предмет простой...
 
Доброе время суток.
Цитата
PooHkrd написал:
Маленький пример на 300 кб этой выгрузки показать можете?
Судя по сообщению, достаточно первых 250 символов. Ошибка же в 241. Хотя конечно вы правы, судя по этой статье Заменяющий символ, это сбой кодировки.
 
Цитата
PooHkrd написал:
В CSV эту выгрузку сохранять религия не позволяет? Или есть другие веские причины?
Религия-то позволяет, но из-за размера исходного файла  - приходится преобразовывать xml в несколько файлов csv, т.к. есть ограничение по количеству строк в Excel  - 500 тыс. В моем случае исходный xml пилится на 3 csv по 500 тыс. строк. И нужно объединять снова эти 3 файла в 1 через PQ. Я хотела избежать этого шага и обратиться к исходной выгрузке xml.
 
alvira77, во-первых, в Экселе ограничение на 1 млн. с копейками строк, а не на 500 тыс. Во вторых, csv не имеет никакого к Экселю отношения, кроме того, что Эксель умеет считывать из них информацию. Это текстовый файл, в который выгружаются табличные данные с разделителями столбцов. На эти файлы никаких ограничений не накладывается, кроме ограничений файловой системы на размер одного файла. PQ чудесно считывает данные из огромных по размеру текстовых файлов, и делает это шустрее чем из того же xlsx/xls. про скорость считывания мз xml не в курсе - не замерял.
И последнее, пока вы не покажете пример данных, помочь вам вряд ли смогут - это очень индивидуальная тема, что у кого и в какой кодировке выгружается/сохраняется.
Изменено: PooHkrd - 11.02.2019 11:16:21
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
И последнее, пока вы не покажете пример данных, помочь вам вряд ли смогут - это очень индивидуальная тема, что у кого и в какой кодировке выгружается/сохраняется.
Это понятно, попросила программистов сделать мне выгрузку с 2 первыми строками, т.к. имеющимися средствами я не могу даже хоть как-то открыть этот файл в силу того, что он большой
По поводу ограничений..

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

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

Спасибо за комментарии!
 
Цитата
alvira77 написал:
берем стандартную выгрузку xml из 1С (другой просто нет)
Это как нет? Если выгрузка делается вручную, то при сохранении можно выбрать формат файла. Другой вопрос, если она выгружается по расписанию и сохраняется на диск, тогда придется лезть в настройку расписания и там менять формат файла. Вообще при таких объемах, я бы выгружал в какую-нибудь БД, можно даже бесплатную, и таскал бы запросами оттуда. Все таки полгига писать в файл и тащить оттуда нужные куски каждый раз считывая весь файл это не комильфо. Благо 1С умеет писать выгрузки и напрямую почти в любую известную БД, и можно даже подгружать только недостающие строки, а не делать такую дурачью выгрузку. Это и на сервер 1С нагрузку снизит значительно.
Изменено: PooHkrd - 11.02.2019 12:10:12
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Это как нет?
а вот так. Есть кнопочка после заполнения декларации в 1С - "Загрузить" и никаких вариантов не предлагается, просто грузит в xml формате.
К вопросу о csv: если не пилить выгрузку на несколько файлов, то файл преобразовывается, но при открытии выдает ошибку: Файл загружен не полностью.
Код
Вообще при таких объемах, я бы выгружал в какую-нибудь БД, можно даже бесплатную, и таскал бы запросами оттуда 
да, хороший вариант, согласна полностью. Но это нужно писать руками программистов, а я пыталась как-то без этого обойтись. Подумаю над этим, спасибо.
 
Цитата
alvira77 написал:
файл преобразовывается
Чем преобразовывается?
Цитата
alvira77 написал:
но при открытии выдает ошибку: Файл загружен не полностью.
При открытии чем? Экселем? Ясен пень выдает ошибку, строк то много! Открывайте его через PQ и тащите нужные данные. Но скорость будет очень сильно не фонтан.
Вот горшок пустой, он предмет простой...
 
Цитата
написал:
Есть стандартная выгрузка из 1С книги продаж в формате xml. Весит очень много - 454 Мгб.
Хотелось попробовать ее загрузить в PQ для дальнейшей обработки, но выдает вот такую ошибку:

Произошла ошибка при попытке подключения:
Подробности: "Сбой обработки XML. Введенные данные недопустимы или не поддерживаются. (Внутренняя ошибка: Знак "�", шестнадцатеричное значение 0xFFFD, не может стоять в начале имени., строка 1, позиция 241.)"

Есть подозрение, что ругается на русские символы/слова в данном файле, но менять их все там на англ - не вариант. Все выгрузки 1С именно такие.  Да и до конца нет уверенности, что ругается именно на это.

Вопрос - что-то вообще с этим можно сделать на уровне пользователя? Какие-то есть доступные экономисту варианты решения проблемы? Программистов могу привлечь, но это адски долгий путь)) Да и им нужно объяснить, что конкретно делать.
Сохрани xml а комп, открой через Akel Pad, кодировка появится сверху если ее не было.
Страницы: 1
Наверх