Администрирование · 12 мин
Как сделать выгрузку файлов в 1С: рабочие способы и проверка результата
Способы выгрузки файлов из 1С: через типовые обработки, универсальный обмен XML, выгрузку в Excel и через код. Проверка результата, ошибки и FAQ.
Выгрузка файлов из 1С — задача, с которой сталкивается почти каждый бухгалтер, менеджер или администратор базы: нужно передать данные в банк, налоговую, контрагенту, другую информационную базу или просто сохранить документы в Excel. В зависимости от цели применяются разные механизмы: типовые обработки обмена, выгрузка табличных документов, универсальный обмен данными в формате XML, выгрузка конфигурации или всей информационной базы.
Главный принцип безопасной выгрузки — сначала определить, что именно требуется на выходе (файл определённого формата, архив базы, таблица для анализа), и только потом выбирать инструмент. Ошибка на этом этапе приводит к тому, что полученный файл не открывается на стороне получателя или содержит неполные данные.
Перед любой массовой выгрузкой, особенно из рабочей базы, рекомендуется сделать резервную копию. Сама выгрузка, как правило, не изменяет данные, но сопутствующие операции (пометка объектов, перепроведение, очистка регистров) — вполне могут.
Определяем, какой файл нужен на выходе
Под «выгрузкой файлов» пользователи обычно понимают одну из пяти задач. Первая — выгрузить прикладные данные (справочники, документы) для переноса в другую базу 1С. Вторая — выгрузить документ или отчёт в Excel, PDF или CSV для передачи людям. Третья — выгрузить платёжные поручения или выписки для обмена с банком. Четвёртая — выгрузить регламентированную отчётность для налоговой и фондов. Пятая — выгрузить всю информационную базу в файл dt для архива или переноса.
Каждая задача решается своим инструментом, и смешивать их не стоит: например, файл dt нельзя открыть в Excel, а выгрузка в XML по правилам обмена не подойдёт для сдачи отчётности в ФНС. Правильная постановка задачи экономит большую часть времени.
Как выбрать способ выгрузки
Выгрузка документов и отчётов в Excel, PDF и CSV
Самый частый сценарий — сохранить печатную форму документа или отчёт в файл. Откройте сформированный табличный документ (печатную форму, отчёт), затем в главном меню выберите «Файл → Сохранить копию» (в старых версиях — «Файл → Сохранить как») и укажите нужный формат: лист Excel, PDF, HTML, текстовый документ или табличный документ 1С (mxl). Платформа сохранит файл в выбранную папку.
Если нужно выгрузить список документов или справочник, откройте форму списка и используйте команду «Ещё → Вывести список». В появившемся окне отметьте нужные колонки — система сформирует табличный документ, который дальше сохраняется в Excel описанным выше способом. Это универсальный приём, работающий практически в любой типовой конфигурации без прав администратора.
Для выгрузки в CSV удобно использовать отчёт с нужными колонками: сформируйте отчёт, сохраните его как табличный документ, а затем при сохранении выберите формат «Текстовый документ с разделителями» (если доступен) или Excel с последующим сохранением в CSV уже из Excel. Учитывайте, что разделитель (точка с запятой или запятая) зависит от региональных настроек системы.
Универсальный обмен данными в формате XML
Для переноса данных между базами 1С (например, справочников и документов из рабочей базы в тестовую или в базу с аналогичной конфигурацией) применяется обработка «Универсальный обмен данными в формате XML». В типовых конфигурациях на управляемых формах она часто встроена в раздел администрирования, для старых версий обработка поставляется на диске ИТС или входит в состав конфигурации «Конвертация данных».
Порядок работы: откройте обработку через «Файл → Открыть», на закладке «Выгружаемые данные» отметьте объекты для выгрузки (справочники, документы, регистры), при необходимости установите отборы по периоду или организации, укажите имя файла выгрузки и нажмите «Выгрузить данные». Если конфигурации источника и приёмника идентичны, правила обмена можно не загружать — обработка сформирует их автоматически.
После выгрузки откройте протокол: в нём видно количество выгруженных объектов по каждому типу и возможные ошибки. Нулевое количество объектов при установленных отборах — почти всегда признак того, что отбор настроен неверно (не тот период, не та организация).
Выгрузка всей базы в файл dt
Выгрузка информационной базы в файл с расширением dt — способ сделать полный архив или перенести базу на другой сервер. Операция выполняется в конфигураторе: запустите базу в режиме «Конфигуратор», откройте меню «Администрирование → Выгрузить информационную базу», укажите путь и имя файла и подтвердите действие. Для больших баз процесс может занять значительное время.
Важные ограничения: на время выгрузки желательно, чтобы пользователи не работали в базе, иначе данные могут быть несогласованными. Файл dt предназначен только для загрузки в 1С той же линейки платформы — открыть его сторонними программами нельзя. Для клиент-серверных баз большого объёма вместо dt надёжнее использовать штатные средства резервного копирования СУБД.
Как проверить результат выгрузки
Файл существует в указанной папке и имеет ненулевой размер
Файл отсутствует или размер 0 байт — выгрузка не выполнилась
XML/CSV открывается и содержит ожидаемые записи, dt загружается в пустую базу
Файл не открывается, пустой или содержит только заголовки
Количество объектов в протоколе совпадает с количеством в источнике по отбору
Протокол показывает меньше объектов, чем должно быть
Файл загружается в базу-приёмник или клиент-банк без ошибок
Ошибки формата, кодировки или несовпадения версий
Программная выгрузка через встроенный язык
Когда типовых средств недостаточно — нужен свой формат, расписание или выгрузка внешних печатных форм — применяется встроенный язык 1С. Табличный документ сохраняется методом Записать с указанием типа файла, произвольные данные выгружаются через объекты ЗаписьXML, ЗаписьТекста или через универсальную функцию ЗначениеВФайл для сериализации.
Типичный фрагмент сохранения табличного документа в Excel выглядит так: сформировать табличный документ, затем вызвать метод записи с типом файла XLSX. Для текстовых форматов используется объект ЗаписьТекста с явным указанием кодировки — это важно, потому что по умолчанию кодировка может отличаться от ожидаемой приёмником.
ТабДок = Новый ТабличныйДокумент;
// ... заполнение табличного документа ...
ТабДок.Записать("C:\Выгрузка\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Запись = Новый ЗаписьТекста("C:\Выгрузка\данные.csv", КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку("Номенклатура;Количество;Цена");
Запись.Закрыть();Программную выгрузку стоит поручать разработчику или внедрять через внешние обработки, если у вас нет опыта работы с конфигуратором. Ошибка в коде, выполняемом по расписанию, может формировать некорректные файлы незаметно для пользователей.
Частые ошибки и ограничения
Самая распространённая проблема — кодировка текстовых файлов. Клиент-банки и сторонние системы могут требовать Windows-1251, в то время как 1С по умолчанию записывает UTF-8. Признак проблемы — «кракозябры» вместо кириллицы на стороне получателя. Решение — явно задавать кодировку при записи или пересохранять файл в нужной кодировке.
Вторая группа ошибок связана с правами доступа. Если команда выгрузки недоступна или выгружается меньше данных, чем ожидалось, проверьте роли пользователя: ограничение доступа на уровне записей (RLS) молча «обрезает» выгрузку до разрешённых данных. Третья типичная ситуация — попытка выгрузить dt из файловой базы, в которой работают пользователи, что приводит к ошибкам монопольного доступа.
Что важно запомнить
Сначала определите требуемый формат файла, затем выбирайте инструмент: «Сохранить копию» для Excel/PDF, универсальный обмен XML для переноса между базами, обмен с банком для платёжек, выгрузку dt для архива базы. Всегда проверяйте протокол выгрузки и открывайте полученный файл до его передачи получателю.
Частые вопросы
Как выгрузить данные из 1С в Excel без прав администратора?
Используйте команду «Ещё → Вывести список» в форме списка справочника или документов — она доступна большинству пользователей. Полученный табличный документ сохраните через «Файл → Сохранить копию» в формате Excel. Прав администратора для этого не требуется, достаточно права просмотра данных.
Почему выгруженный XML-файл не загружается в другую базу 1С?
Чаще всего причины — несовпадение версий конфигураций источника и приёмника, отсутствие или неверные правила обмена, либо файл был повреждён при передаче (например, открыт и пересохранён в редакторе). Проверьте, что конфигурации идентичны по составу объектов, и загружайте файл той же обработкой, какой он был выгружен.
В какой кодировке сохранять файл для клиент-банка?
Большинство клиент-банков работает с кодировкой Windows-1251, но требования зависят от конкретного банка. Уточните формат в документации банка или проверьте настройки обмена в 1С — в типовых конфигурациях кодировка часто задаётся в настройках обмена с банком. Признак неверной кодировки — нечитаемые символы вместо русских букв.
Можно ли выгрузить только часть документов за период?
Да. В обработке «Универсальный обмен данными в формате XML» для документов доступны отборы по периоду, организации и другим реквизитам. Для списков в интерфейсе используйте стандартный отбор списка перед командой «Вывести список» — в файл попадут только отображаемые строки.
Чем выгрузка в dt отличается от копирования файла 1Cv8.1CD?
Копирование файла 1Cv8.1CD — это побайтовая копия файловой базы, быстрая, но требующая монопольного доступа. Выгрузка в dt — логическая выгрузка через конфигуратор: она медленнее, зато позволяет при загрузке перестроить базу и иногда помогает «вылечить» повреждённые данные. Для клиент-серверных баз оба способа заменяет резервное копирование средствами СУБД.
Как автоматизировать регулярную выгрузку файлов?
Используйте регламентные задания: напишите процедуру выгрузки в общем модуле и настройте её выполнение по расписанию (в клиент-серверном режиме — на сервере, в файловом — через запуск сеанса с параметром выполнения обработки). Обязательно добавьте запись результатов в журнал регистрации, чтобы замечать сбои автоматической выгрузки.