Работа с файлами в 1С:Предприятие — одна из самых востребованных задач, с которой сталкиваются и обычные пользователи, и разработчики.hether вы хотите выгрузить отчёт в Excel для анализа, сохранить данные в XML для обмена с другой системой или просто создать текстовый файл с логом операций — в этой статье вы найдёте подробные инструкции для всех сценариев.

Мы разберём как стандартные возможности платформы (доступные без программирования), так и методы для опытных пользователей с использованием встроенного языка. Особое внимание уделим типичным ошибкам и нюансам, которые часто упускают из виду. Например, почему при выгрузке в Excel русские буквы превращаются в"кракозябры", или как правильно указать путь к файлу, чтобы не получить ошибку доступа.

Статья будет полезна:

  • 📊 Бухгалтерам и аналитикам, которые регулярно выгружают отчёты для дальнейшей обработки
  • 🔄 Специалистам по интеграциям, настраивающим обмен данными между системами
  • 💻 Программистам 1С, которым нужно автоматизировать создание файлов
  • 📂 Администраторам, отвечающим за резервное копирование данных

Все примеры актуальны для последних версий платформы 1С:Предприятие 8.3 (включая 8.3.23 и новее) и проверены на конфигурациях Бухгалтерия 3.0, Управление торговлей 11 и Зарплата и управление персоналом 3.1. Если вы работаете с другой конфигурацией, уточните наличие описанных функций в её документации.

📊 Как часто вы выгружаете данные из 1С в файлы?
Ежедневно
Несколько раз в неделю
Редко, по необходимости
Никогда не делал этого

1. Стандартная выгрузка в Excel через меню 1С

Самый простой способ записать файл из 1С — использовать встроенные механизмы выгрузки табличных данных. Этот метод не требует знания программирования и доступен любому пользователю с правами на просмотр отчётов.

Рассмотрим пошаговую инструкцию на примере выгрузки отчёта Оборотно-сальдовая ведомость:

  1. Откройте нужный отчёт через меню Отчёты → Стандартные отчёты → Оборотно-сальдовая ведомость.
  2. Задайте период и другие параметры отчёта, нажмите Сформировать.
  3. В открывшемся окне отчёта найдите кнопку Ещё (или Действия) и выберите Выгрузить в Excel.
  4. Укажите путь для сохранения файла. По умолчанию 1С предложит папку Документы текущего пользователя.
  5. Выберите формат:
    • 📑 XLS (Excel 97-2003) — устаревший формат, поддерживает до 65 536 строк
    • 📑 XLSX (Excel 2007 и новее) — современный формат, рекомендуется для больших объёмов данных
    • 📑 ODS (OpenDocument) — открытый формат, совместим с LibreOffice и OpenOffice
  6. Нажмите Сохранить.
  7. Если при открытии выгруженного файла вы видите вместо кириллицы непонятные символы (например, Наименование), проблема в кодировке. Исправляется это так:

    Откройте файл через Excel|Перейдите на вкладку"Данные"|Выберите"Из текста/CSV"|Укажите кодировку"Windows-1251" или"UTF-8"|Загрузите данные-->

    ⚠️ Внимание: При выгрузке больших отчётов (более 100 000 строк) 1С может"зависнуть" или выдать ошибку нехватки памяти. В этом случае разбейте отчёт на части по периодам или используйте программную выгрузку (см. раздел 4).
    Формат файла Макс. строк Поддержка формул Размер файла Совместимость
    XLS 65 536 Да Большой Excel 97-2003
    XLSX 1 048 576 Да Малый Excel 2007+
    ODS 1 048 576 Да Средний LibreOffice, OpenOffice
    CSV Не ограничено Нет Минимальный Любой табличный редактор

    2. Сохранение отчётов в файлы других форматов (PDF, TXT, HTML)

    Помимо Excel, 1С позволяет сохранять отчёты в другие популярные форматы. Это полезно, если вам нужно:

    • 📄 Отправить отчёт по email в виде PDF (не редактируется, но сохраняет форматирование)
    • 📝 Сохранить данные в TXT для дальнейшей обработки скриптами
    • 🌐 Опубликовать отчёт на сайте в формате HTML
    • 📊 Экспортировать в XML для обмена с другими программами

    Инструкция для сохранения в альтернативные форматы:

    1. Сформируйте нужный отчёт (например, Анализ счёта или Карточка счёта).
    2. В окне отчёта нажмите Ещё → Сохранить как....
    3. Выберите формат из списка:
      • PDF — идеален для печати и архивирования
      • TXT — простой текст без форматирования
      • HTML — сохраняет цвета и шрифты, но может плохо открываться в Excel
      • XML — структурированные данные для обмена
      • MXD — внутренний формат 1С для сохранения макета отчёта
    4. Укажите путь и имя файла. Для XML и TXT рекомендуется явно прописывать расширение (например, отчёт.xml).
    5. При сохранении в PDF обратите внимание на настройки печати:

      • 🖼️ Ориентация — выберите Альбомная для широких таблиц
      • 📏 Масштаб — если данные не помещаются, уменьшите до 80% или По ширине страницы
      • 🖨️ Печатать заголовки — включите, если отчёт многостраничный
      💡

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

      ⚠️ Внимание: Формат MXD предназначен только для внутреннего использования в 1С. Файлы с таким расширением нельзя открыть в других программах — они содержат служебную информацию о макете отчёта.

      3. Выгрузка данных через обработку"Универсальный обмен данными"

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

      • 🔄 Выгружать данные в XML, CSV, DBF
      • 📁 Сохранять не только табличные данные, но и иерархические структуры (например, справочники с подчинёнными элементами)
      • 🔄 Настраивать правила преобразования данных

      Как найти и использовать эту обработку:

      1. Откройте меню Файл → Открыть....
      2. В поле Тип файла выберите Обработка (*.epf).
      3. Перейдите в папку с шаблонами 1С (обычно C:\Program Files\1cv8\tmlts) и выберите файл UnivObm.epf.
      4. В открывшейся обработке выберите:
        • 📌 Источник данных — справочник или документ (например, Справочник.Номенклатура)
        • 📌 Формат файла — XML, CSV или DBF
        • 📌 Путь к файлу — укажите полный путь (например, C:\Export\номенклатура.xml)
      5. Нажмите Выгрузить.
      6. Пример настройки выгрузки справочника Контрагенты в XML:

        Источник: Справочник.Контрагенты
        

        Формат: XML (Универсальный обмен данными)

        Файл: C:\Export\контрагенты_2026.xml

        Параметры:

        - Выгружать группы = Да

        - Выгружать пометки удаления = Нет

        - Кодировка = UTF-8

        Если обработка UnivObm.epf отсутствует в вашей установке, её можно:

        • 🔍 Найти в дистрибутиве 1С (папка Templates\Exchange)
        • 📥 Скачать с сайта 1С:ИТС (требуется подписка)
        • 💻 Создать самостоятельно через конфигуратор (для программистов)
        Что делать если обработка выдаёт ошибку"Недостаточно прав"

        Ошибка возникает если у пользователя нет прав на чтение выгружаемых данных. Решение: 1) Зайдите в 1С под администратором; 2) Откройте"Администрирование → Пользователи"; 3) Найдите своего пользователя и добавьте ему роль"Полные права" или"Выгрузка данных".

        4. Программная запись файлов на встроенном языке 1С

        Для автоматизации выгрузки данных или создания файлов по расписанию используется встроенный язык 1С:Предприятие. Этот метод требует знания основ программирования, но даёт максимальную гибкость.

        Рассмотрим триных сценария:

        4.1. Запись текстового файла (TXT, CSV)

        Пример кода для сохранения данных в файл C:\Temp\export.txt:

        Текст = Новый ЗаписьТекста;
        

        Текст.Открыть("C:\Temp\export.txt", КодировкаТекста.UTF8);

        Текст.ЗаписатьСтроку("Номер;Наименование;Цена");

        Для Каждого Товар Из Справочник.Номенклатура Цикл

        Текст.ЗаписатьСтроку(Товар.Артикул +";" + Товар.Наименование +";" + Товар.Цена);

        КонецЦикла;

        Текст.Закрыть;

        Особенности работы с текстовыми файлами:

        • 📌 Всегда указывайте кодировку (UTF-8 или Windows-1251), иначе русские буквы отобразятся некорректно
        • 📌 Для CSV используйте разделитель ; (точка с запятой) — он надёжнее запятой при работе с русскими числами
        • 📌 Проверяйте права доступа к папке — 1С должна иметь право на запись

      4.2. Создание XML-файла

      XML часто используется для обмена данными между системами. Пример создания файла с данными о контрагентах:

      ЗаписьXML = Новый ЗаписьXML;
      

      ЗаписьXML.ОткрытьФайл("C:\Export\контрагенты.xml","UTF-8");

      ЗаписьXML.ЗаписатьОбъявлениеXML;

      ЗаписьXML.ЗаписатьНачалоЭлемента("Контрагенты");

      Выборка = Справочник.Контрагенты.Выбрать;

      Пока Выборка.Следующий Цикл

      ЗаписьXML.ЗаписатьНачалоЭлемента("Контрагент");

      ЗаписьXML.ЗаписатьАтрибут("Ид", Выборка.Ссылка.УникальныйИдентификатор);

      ЗаписьXML.ЗаписатьЭлемент("Наименование", Выборка.Наименование);

      ЗаписьXML.ЗаписатьЭлемент("ИНН", Выборка.ИНН);

      ЗаписьXML.ЗаписатьКонецЭлемента; // Контрагент

      КонецЦикла;

      ЗаписьXML.ЗаписатьКонецЭлемента; // Контрагенты

      ЗаписьXML.Закрыть;

      4.3. Генерация JSON-файла

      Для работы с JSON в 1С 8.3.14+ доступен объект ЗаписьJSON, который автоматически преобразует данные 1С в JSON-формат с учётом вложенных структур. Пример:

      ЗаписьJSON = Новый ЗаписьJSON;
      

      ЗаписьJSON.УстановитьСтроку;

      ЗаписьJSON.ЗаписатьНачалоОбъекта;

      ЗаписьJSON.ЗаписатьКлюч("ДатаВыгрузки");

      ЗаписьJSON.ЗаписатьЗначение(ТекущаяДата);

      ЗаписьJSON.ЗаписатьКлюч("Товары");

      ЗаписьJSON.ЗаписатьНачалоМассива;

      Выборка = Справочник.Номенклатура.Выбрать;

      Пока Выборка.Следующий Цикл

      ЗаписьJSON.ЗаписатьНачалоОбъекта;

      ЗаписьJSON.ЗаписатьКлючИЗначение("Код", Выборка.Код);

      ЗаписьJSON.ЗаписатьКлючИЗначение("Наименование", Выборка.Наименование);

      ЗаписьJSON.ЗаписатьКонецОбъекта;

      КонецЦикла;

      ЗаписьJSON.ЗаписатьКонецМассива;

      ЗаписьJSON.ЗаписатьКонецОбъекта;

      ТекстJSON = ЗаписьJSON.Закрыть;

      ТекстJSON.Записать("C:\Export\товары.json", КодировкаТекста.UTF8);

      ⚠️ Внимание: При записи файлов программно путь указывается относительно сервера 1С (для файлового варианта) или сервера приложений (для клиент-серверного). Используйте полные пути (например, C:\Export\file.txt) или функции вроде КаталогДокументов для получения путей к системным папкам.

      5. Автоматическая выгрузка по расписанию

      Если файлы нужно создавать регулярно (например, ежедневно выгружать остатки товаров), можно настроить автоматическую выгрузку с помощью регламентных заданий.

      Инструкция по настройке:

      1. Откройте конфигуратор 1С (требуются права администратора).
      2. Перейдите в Администрирование → Регламентные задания.
      3. Создайте новое задание с типом Выполнение кода.
      4. В поле Код вставьте скрипт выгрузки (см. раздел 4). Например:
        ВыгрузитьОстаткиТоваров;
        
        

        Процедура ВыгрузитьОстаткиТоваров

        Запрос = Новый Запрос;

        Запрос.Текст ="ВЫБРАТЬ

        | Номенклатура.Наименование КАК Наименование,

        | СУММА(ОстаткиТоваров.КоличествоОстаток) КАК Остаток

        |ИЗ

        | РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваров

        | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура

        | ПО ОстаткиТоваров.Номенклатура = Номенклатура.Ссылка

        |ГДЕ

        | ОстаткиТоваров.КоличествоОстаток > 0

        |СГРУППИРОВАТЬ ПО

        | Номенклатура.Наименование";

        Результат = Запрос.Выполнить;

        Выборка = Результат.Выбрать;

        Текст = Новый ЗаписьТекста;

        Текст.Открыть(КаталогДокументов +"\Остатки_" + Формат(ТекущаяДата,"ДЛФ=DT") +".csv", КодировкаТекста.UTF8);

        Текст.ЗаписатьСтроку("Наименование;Остаток");

        Пока Выборка.Следующий Цикл

        Текст.ЗаписатьСтроку(Выборка.Наименование +";" + Выборка.Остаток);

        КонецЦикла;

        Текст.Закрыть;

        КонецПроцедуры

      5. Настройте расписание выполнения (например, ежедневно в 23:00).
      6. Укажите пользователя, от имени которого будет выполняться задание (должен иметь достаточные права).
      7. Сохраните и запустите задание.

      Преимущества автоматической выгрузки:

      • Экономия времени — не нужноremember о выгрузке вручную
      • 📈 Актуальность данных — файлы создаются по свежим данным
      • 🔄 Интеграция — можно настроить автоматическую загрузку файлов в другие системы
      💡

      Для отладки регламентных заданий используйте журнал регистрации (Администрирование → Журнал регистрации). Там отображаются все ошибки выполнения автоматических операций.

      6. Распространённые ошибки и их решение

      При записи файлов из 1С пользователи часто сталкиваются с типичными проблемами. Разберём самые частые из них и способы их устранения.

      Ошибка Причина Решение
      Недостаточно прав для записи файла 1С не имеет прав на запись в указанную папку Используйте папки с открытым доступом (например, C:\Temp) или настройте права на папку в Windows
      Файл не найден после выгрузки Указан неверный путь или файл сохранён в другом месте Проверьте путь в настройках выгрузки. Используйте полные пути (например, C:\Export\file.xlsx)
      Русские буквы отображаются как"кракозябры" Неверная кодировка при записи файла Явно указывайте кодировку UTF-8 или Windows-1251 в параметрах выгрузки
      Ошибка"Неверный формат файла" Попытка открыть CSV-файл как XLS или наоборот Проверьте расширение файла и используйте соответствующую программу для открытия
      Данные в Excel отображаются в одной колонке Неверный разделитель в CSV-файле При импорте в Excel укажите разделитель ; (точка с запятой)

      Если вы получаете ошибку Ошибка при вызове метода контекста (Записать): Доступ запрещён, это означает, что:

      • 🔒 У пользователя Windows нет прав на запись в указанную папку
      • 🔒 Папка находится на сетевом диске, который в данный момент недоступен
      • 🔒 Антивирус блокирует запись файлов программой 1С

      Решения:

      1. Попробуйте сохранить файл в другую папку (например, C:\Temp).
      2. Отключите антивирус на время выгрузки.
      3. Запустите 1С от имени администратора (правый клик по ярлыку → Запуск от имени администратора).
      4. Проверьте, не установлен ли атрибут Только чтение на папке.

      Для программистов: если при записи файла возникает ошибка Исключение при вызове метода Записать, добавьте обработку исключений:

      Попытка
      

      Текст.Записать("C:\Export\data.txt");

      Исключение

      Сообщить("Ошибка записи файла:" + ОписаниеОшибки);

      Текст.Закрыть;

      КонецПопытки;

      7. Оптимизация больших файлов

      При выгрузке больших объёмов данных (десятки тысяч строк) 1С может работать медленно или выдавать ошибки нехватки памяти. Вот несколько способов оптимизации:

      Для пользователей:

      • 📊 Разбивайте данные на части — выгружайте не весь справочник, а по группам (например, по первым буквам наименования)
      • 📉 Уменьшайте количество колонок — оставьте только необходимые поля
      • 🗃️ Используйте формат CSV вместо XLSX — он занимает меньше места

      Для программистов:

      • 💾 Используйте потоковую запись — записывайте данные порциями, не храня всю выборку в памяти
      • 🗑️ Очищайте временные объекты — после записи данных вызывайте Очистить для больших коллекций
      • 🔄 Настраивайте пакетную обработку — обрабатывайте данные пакетами по 1000-5000 строк

      Пример оптимизированного кода для выгрузки большого справочника:

      // Оптимизированная выгрузка с пакетной обработкой
      

      Запрос = Новый Запрос;

      Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 1000

      | Номенклатура.Ссылка КАК Ссылка,

      | Номенклатура.Наименование КАК Наименование

      |ИЗ

      | Справочник.Номенклатура КАК Номенклатура

      |УПОРЯДОЧИТЬ ПО

      | Номенклатура.Наименование";

      Текст = Новый ЗаписьТекста;

      Текст.Открыть("C:\Export\big_export.csv", КодировкаТекста.UTF8);

      Текст.ЗаписатьСтроку("Ссылка;Наименование");

      Позиция = 0;

      Пока Истина Цикл

      Запрос.УстановитьПараметр("Смещение", Позиция);

      Результат = Запрос.Выполнить;

      Выборка = Результат.Выбрать;

      Если НЕ Выборка.Следующий Тогда

      Прервать; // Данные закончились

      КонецЕсли;

      Пока Выборка.Следующий Цикл

      Текст.ЗаписатьСтроку(Выборка.Ссылка.УникальныйИдентификатор +";" + Выборка.Наименование);

      КонецЦикла;

      Позиция = Позиция + 1000;

      Сообщить("Обработано записей:" + Позиция);

      КонецЦикла;

      Текст.Закрыть;

      Для очень больших файлов (более 1 ГБ) рассмотрите возможность:

      • 🗄️ Использовать архивацию на лету (записывать данные сразу в ZIP)
      • 🔗 Выгружать данные непосредственно в базу данных (SQL, PostgreSQL)
      • ☁️ Сохранять файлы в облачное хранилище (Yandex Disk, Google Drive) через API

      8. Безопасность при работе с файлами

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

      Основные правила:

      • 🔐 Ограничивайте доступ к папкам с выгруженными файлами — настраивайте права доступа в Windows
      • 🗑️ Удаляйте временные файлы — не оставляйте конфиденциальные данные в открытых папках
      • 🔄 Используйте шифрование для файлов с персональными данными (ФИО, паспортные данные, ИНН)
      • 📋 Ведите журнал выгрузок — фиксируйте, какие данные и когда были выгружены

      Пример кода для записи файла с шифрованием (используется алгоритм AES-256):

      // Шифрование файла после выгрузки
      

      Текст = Новый ЗаписьТекста;

      Текст.Открыть("C:\Temp\data.txt");

      Текст.ЗаписатьСтроку("Конфиденциальные данные...");

      Текст.Закрыть;

      // Шифруем файл

      Шифрование = Новый ШифрованиеДанных;

      Шифрование.УстановитьПароль("СложныйПароль123!");

      Шифрование.ЗашифроватьФайл("C:\Temp\data.txt","C:\Temp\data.enc");

      // Удаляем оригинальный файл

      УдалитьФайлы("C:\Temp\data.txt");

      Для автоматизированных систем обмена данными:

      • 🔑 Используйте сертификаты ЭЦП для подтверждения подлинности файлов
      • 📡 Настраивайте SFTP вместо обычного FTP для передачи файлов
      • 🔍 Ведите логи передачи с указанием времени, объёма данных и получателя
      ⚠️ Внимание: При выгрузке данных, содержащих персональную информацию (