Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

ERR_1C_LARGE_EXPORT_CRASH 1С:Предприятие и СУБД

Экспорт больших массивов данных из 1С: решение проблемы сбоев через CSV

Обновлено: 27.08.2026 · Официальная документация ↗

Почему 1С вылетает при выгрузке больших таблиц в Excel?

Когда аналитику или маркетологу требуется выгрузить историю всех чеков или движений товаров за несколько лет (более 500 000 – 1 000 000 строк), попытка сохранить результат в формате .xlsx гарантированно приводит к зависанию компьютера, переполнению оперативной памяти и аварийному падению программы 1С с системным сбоем.

Сравнение экспорта в XLSX и потоковый CSV

ПараметрФормат Excel (.xlsx)Потоковый текстовый CSV (.csv)
Лимит строкСтрого 1 048 576 строкНе ограничен (миллионы строк)
Потребление памятиГигантское (строит DOM-дерево стилей в ОЗУ)Минимальное (построчная запись на диск)
Скорость формирования15–30 минут (или вылет)20–40 секунд
СовместимостьMicrosoft ExcelPower BI, Python, SQL, ClickHouse, Excel

Пример быстрого потокового экспорта данных в CSV на языке 1С

Для выгрузки массивов данных любого объема без нагрузки на оперативную память используйте объект платформы ЗаписьТекста:

// Потоковая выгрузка выборки запроса напрямую в CSV-файл:
ПутьКФайлу = "C:\Export\large_data.csv";
Текст = Новый ЗаписьТекста(ПутьКФайлу, КодировкаТекста.UTF8);

// Записываем заголовок таблицы:
Текст.ЗаписатьСтроку("Артикул;Номенклатура;Количество;Сумма;Дата");

Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
    СтрокаCSV = Строка(Выборка.Артикул) + ";" + 
                """" + СтрЗаменить(Выборка.Номенклатура, """", """""") + """" + ";" + 
                Формат(Выборка.Количество, "ЧГ=0") + ";" + 
                Формат(Выборка.Сумма, "ЧГ=0; ЧДЦ=2") + ";" + 
                Формат(Выборка.Дата, "ДФ=yyyy-MM-dd");
    
    Текст.ЗаписатьСтроку(СтрокаCSV);
КонецЦикла;

Текст.Закрыть();
Предупреждение("Выгрузка успешно завершена!");

Как открыть CSV в Excel: В Excel перейдите на вкладку «Данные» → «Из текстового/CSV-файла», укажите разделитель «Точка с запятой» и кодировку UTF-8. Данные загрузятся мгновенно и без сбоев форматирования.

💡 Практика специалистов: при регулярной выгрузке сотен миллионов записей из 1С в аналитические хранилища (Data Warehouse) используйте прямое чтение таблиц через HTTP-сервисы с отдачей данных чанками (chunked transfer) в формате JSON Lines или CSV.

Частые вопросы (FAQ)

Какой разделитель лучше использовать в CSV?

Для русскоязычных версий Windows стандартом де-факто является точка с запятой (`;`), так как запятая используется в качестве разделителя дробной части чисел.

Что делать, если русские буквы в выгруженном CSV открываются «крякозябрами»?

При создании объекта ЗаписьТекста укажите кодировку `КодировкаТекста.ANSI` (Windows-1251) для старых версий Excel или сохраняйте UTF-8 с BOM-сигнатурой.

Каков максимальный размер файла CSV, который может открыть Excel?

Сам файл CSV может весить гигабайты, но Excel отобразит только первые 1 048 576 строк. Для анализа файлов большего объема используйте Power BI, надстройку Power Pivot или СУБД.

Можно ли запустить потоковую выгрузку в фоновом режиме на сервере?

Да, процедура на стороне сервера (`&НаСервере`) выполнится в разы быстрее, так как серверные дисковые массивы и процессор не тратят ресурсы на передачу данных по сети клиенту.

Полезные материалы
Рекомендуем