Куда 1С сохраняет выгруженные файлы и как задать свою папку
Содержание
Путь выгрузки в 1С прописывают в той форме, которая создаёт файл: в окне сохранения печатной формы, в настройке обмена с банком, в параметрах синхронизации данных (Администрирование → Синхронизация данных) или в настройках обмена с сайтом. Общей «папки для всех выгрузок» в программе нет. Главное правило: если база клиент-серверная и файл пишет сервер, путь должен быть виден с сервера 1С, а не с вашего компьютера.
Типичная история: бухгалтер указывает в обмене папку D:\Обмен, всё работает в файловой базе, а после перевода на сервер выгрузка падает с ошибкой доступа. Причина не в обмене, а в том, что папку теперь ищет сервер 1С, у которого свой диск D и свои права. Как только путь указан с учётом этого, выгрузка работает и вручную, и по расписанию.
Где физически пишется файл: на клиенте или на сервере
Перед тем как прописать путь, ответьте на один вопрос: какой компьютер будет создавать файл. От этого зависит, какой путь правильный.
| Что выгружаем | Кто пишет файл | Какой путь указывать |
|---|---|---|
| Печатная форма, отчёт через кнопку «Сохранить» | Компьютер пользователя | Любая папка на вашем ПК или сетевая папка, доступная вам |
| Выписка или платёжки для клиент-банка | Обычно компьютер пользователя | Папка, которую видит программа банка |
| Синхронизация данных по расписанию | Сервер 1С (в клиент-серверной базе) | Путь, доступный с сервера 1С |
| Регламентное задание вашей доработки | Сервер 1С | Только серверный или UNC-путь |
| Веб-клиент | Браузер | Папка загрузок браузера или диалог сохранения |
В файловой базе клиент и «сервер» — один и тот же процесс на компьютере пользователя. Поэтому там любой путь, который открывается в проводнике, обычно работает. Проблемы начинаются при переходе на клиент-серверный вариант.
💡 Если не уверены, где выполняется код выгрузки, проверьте простым приёмом: укажите путь C:\Temp\test и посмотрите, на каком компьютере появился файл.
Сохранение печатных форм и отчётов в нужную папку
Для печатных форм и отчётов путь задают при каждом сохранении, постоянной настройки нет.
- Сформируйте печатную форму документа (кнопка «Печать»).
- В окне печатной формы нажмите кнопку сохранения (значок дискеты).
- Отметьте нужные форматы: PDF, XLSX, DOCX, MXL и другие.
- Выберите вариант сохранения на компьютер и укажите папку в стандартном диалоге Windows.
- Нажмите «Сохранить».
В том же окне есть вариант присоединить файл к документу: тогда он сохраняется не в папку, а внутрь базы, в присоединённые файлы.
Для отчётов (ОСВ, анализ счёта, отчёты по зарплате) путь выбирают так же: кнопка сохранения на панели отчёта или команда «Сохранить как» в меню «Ещё». Диалог запоминает последнюю выбранную папку, поэтому достаточно один раз зайти в нужный каталог.
Выгрузка регламентированной отчётности
Декларации и отчёты в контролирующие органы, если они сдаются не через встроенный сервис 1С-Отчётность, выгружают в файл командой выгрузки в форме отчёта. Программа предложит выбрать каталог, а имя файла сформирует сама по правилам формата: переименовывать его не нужно, иначе сторонняя программа сдачи может его не принять.
Выгрузка в клиент-банк
В Бухгалтерии 3.0 платёжные поручения выгружают из списка платёжек командой отправки в банк. Открывается форма «Обмен с банком», в ней есть поле с именем файла выгрузки. Традиционно файл называется 1c_to_kl.txt, а файл загрузки выписки — kl_to_1c.txt.
- 📁 Укажите в поле ту папку, из которой программа банка забирает платёжки.
- 🔁 Путь сохраняется в настройках обмена для этого банковского счёта, повторно вводить его не нужно.
- 🏦 Если используется DirectBank, файл не нужен: документы уходят в банк напрямую.
Сетевые папки: пишите UNC-путь, а не букву диска
Буква подключённого диска (Z:\Обмен) существует только в сеансе того пользователя, который её подключил. Служба сервера 1С, планировщик Windows и другой пользователь этот диск не видят.
Поэтому в любых настройках, которые могут выполняться не от вашего имени, указывайте полный сетевой путь:
\\FILESERVER\Exchange\1C\Out
Здесь FILESERVER — имя компьютера с общей папкой, Exchange — имя общего ресурса, дальше — подпапки.
Что проверить для сетевой папки:
- ✅ Папка расшарена, и у нужной учётной записи есть права на запись и в свойствах общего доступа, и на вкладке «Безопасность» (NTFS).
- ✅ Путь открывается командой
Win + R→\\FILESERVER\Exchangeс той машины, где выполняется выгрузка. - ✅ В пути нет лишнего обратного слэша в конце, если форма ожидает имя файла, а не каталог.
Кириллица и пробелы в пути 1С обрабатывает нормально, но внешние программы (клиент-банки, старые скрипты) иногда ломаются на них. Для папок обмена надёжнее латиница без пробелов.
Клиент-серверная база: путь глазами сервера 1С
В клиент-серверном варианте серверный код выполняют рабочие процессы rphost на сервере 1С. Они работают от имени учётной записи службы агента сервера. При стандартной установке это локальный пользователь USR1CV8.
Отсюда три следствия:
- Путь
C:\Выгрузкав серверной выгрузке — это диск сервера, а не вашего ПК. - Доступ к сетевой папке проверяется от имени учётной записи службы, а не от вашего доменного пользователя.
- Локальный
USR1CV8на сервере ничего не значит для файлового сервера в домене. Права на чужую машину ему не выдать.
Как решить вопрос с правами:
| Вариант | Когда подходит | Риски |
|---|---|---|
| Папка на диске самого сервера 1С | Обмен с программами, которые работают там же | Пользователям нужен доступ к этой папке |
| Служба 1С под доменной учётной записью с правами на шару | Домен, отдельный файловый сервер | Нужно управлять паролем учётной записи |
| Права на шару для учётной записи компьютера сервера 1С | Служба работает под системной учётной записью | Доступ получают все службы этого компьютера |
Смена учётной записи службы сервера 1С требует её перезапуска: все пользователи будут отключены от баз. Делайте это вне рабочего времени и предупредите коллег заранее.
Если сервер 1С работает на Linux, пути пишутся в формате /mnt/exchange/out. Сетевую папку Windows сначала монтируют в систему (например, через CIFS), а права выдают пользователю, от которого запущен сервер 1С.
Каталог, FTP и обмен с сайтом: где прописать путь выгрузки данных
Обмены между базами 1С (БП с ЗУП, УТ с БП и другие) в типовых конфигурациях настраиваются в разделе Администрирование → Синхронизация данных. Путь задают в параметрах подключения конкретной синхронизации.
Обмен через каталог
- Откройте
Администрирование → Синхронизация данных. - Перейдите к настройкам синхронизации и откройте нужную настройку.
- В параметрах подключения выберите способ через локальный или сетевой каталог.
- Укажите каталог обмена. Для клиент-серверной базы — UNC-путь, доступный серверу.
- Повторите настройку во второй базе с тем же каталогом.
- Выполните синхронизацию вручную и убедитесь, что в папке появились файлы сообщений.
В настройке есть флажок сжатия файлов: при большом объёме данных включите его, архив передаётся быстрее.
Обмен через FTP
Для обмена между удалёнными офисами вместо сетевой папки используют FTP-ресурс. В параметрах подключения указывают:
- 🌐 адрес в виде
ftp://ftp.example.ru/1c/exchange; - 🔑 логин и пароль FTP-пользователя;
- 🔌 порт (стандартный — 21) и, при работе через NAT, пассивный режим;
- 📦 максимальный размер файла, если провайдер ограничивает объём.
FTP-пользователю нужны права на чтение, запись и удаление в этой папке: после загрузки 1С удаляет обработанные сообщения.
Обмен с сайтом
Выгрузка каталога товаров и заказов на сайт в формате CommerceML настраивается через узел обмена с сайтами в том же разделе синхронизации (в УТ, Рознице и других торговых конфигурациях). Здесь «путь» — это не папка, а адрес скрипта обмена на сайте, например для 1С-Битрикс https://site.ru/bitrix/admin/1c_exchange.php, плюс логин и пароль пользователя сайта.
💡 Для отладки удобно сначала выгрузить данные в каталог на диске, а не сразу на сайт. Так видно, какие XML-файлы формирует 1С, и проще найти ошибку на стороне сайта.
Универсальная выгрузка в XML
Для разовой выгрузки между нетиповыми базами используют обработки «Универсальный обмен данными в формате XML» или «Выгрузка и загрузка данных XML». В них путь к файлу указывают в поле имени файла на форме обработки. Если обработка выполняет выгрузку на сервере, действуют те же правила, что и для синхронизации: путь должен быть доступен серверу 1С.
Выгрузка по расписанию через регламентные задания
Синхронизация данных умеет работать сама: в настройке синхронизации включите расписание и задайте интервал, например каждые 30 минут в рабочее время.
Как это работает в разных вариантах базы:
- 🖥 Клиент-серверная база . Регламентные задания выполняет сервер 1С. Путь из настройки обязан быть доступен учётной записи службы, иначе ручная выгрузка пройдёт, а автоматическая — нет.
- 💾 Файловая база. Регламентные задания выполняются в сеансе одного из запущенных клиентов. Если никто не зашёл в базу, выгрузка не случится.
Для файловой базы обычно выделяют компьютер, где постоянно открыта 1С. Ещё вариант — запуск через планировщик Windows с параметром /AllowExecuteScheduledJobs -Force, который разрешает этому сеансу выполнять регламентные задания.
Проверить, отработало ли задание, можно в форме регламентных и фоновых заданий в разделе Администрирование: там видны дата последнего запуска, состояние и текст ошибки.
Путь выгрузки в собственной обработке или расширении
Если выгрузку пишет программист, путь не стоит зашивать в код. Его хранят в константе, в настройках обработки или в справочнике настроек, чтобы бухгалтер мог поменять папку без доработки.
Пример серверной процедуры: сохраняет табличный документ в PDF в каталог из настроек и заранее создаёт каталог, если его нет.
&НаСервере
Процедура ВыгрузитьВПапку(ТабДок, КаталогВыгрузки, ИмяФайла)
Разделитель = ПолучитьРазделительПути();
Если Прав(КаталогВыгрузки, 1) <> Разделитель Тогда
КаталогВыгрузки = КаталогВыгрузки + Разделитель;
КонецЕсли;
Каталог = Новый Файл(КаталогВыгрузки);
Если Не Каталог.Существует() Тогда
СоздатьКаталог(КаталогВыгрузки);
КонецЕсли;
ПолноеИмя = КаталогВыгрузки + ИмяФайла + ".pdf";
ТабДок.Записать(ПолноеИмя, ТипФайлаТабличногоДокумента.PDF);
КонецПроцедуры
Полезные функции платформы для путей:
| Функция | Что возвращает |
|---|---|
КаталогВременныхФайлов() | Временный каталог там, где выполняется код |
ПолучитьИмяВременногоФайла("xml") | Уникальное имя временного файла с расширением |
ПолучитьРазделительПути() | \ на Windows, / на Linux |
Для веб-клиента и для выгрузки на компьютер пользователя из серверного кода файл сначала формируют на сервере во временном каталоге, помещают во временное хранилище и затем передают клиенту для сохранения.
Почему 1С не пишет файл в указанную папку
Большинство сбоев выгрузки связано не с 1С, а с путём и правами. Выберите свой симптом:
Чтобы проверить права именно сервера, выполните пробную запись файла из внешней обработки в серверной процедуре: так проверка идёт от имени службы, как у реальной выгрузки.
Не выдавайте группе «Все» полные права на папку обмена ради быстрого результата. Достаточно права на изменение для конкретной учётной записи.