Куда 1С сохраняет отчёты и документы и как этим управлять
Содержание
Отдельной общей настройки «папка для сохранения» в 1С 8.3 нет. Папку и формат вы выбираете каждый раз в окне сохранения отчёта или печатной формы, а постоянные пути задаются в трёх местах: в томах хранения присоединённых файлов, в рассылках отчетов и в коде обработок. В веб-клиенте файл вообще уходит в папку загрузок браузера.
Ручное сохранение подходит для разовых выгрузок. Тома нужны, когда сканы и вложения раздувают базу. Рассылка или обработка выручают, если один и тот же отчёт нужно класть в общую папку каждое утро. Главная ловушка во всех случаях одна: путь читает не тот компьютер, о котором вы думаете.
Где в интерфейсе 1С выбирают папку и формат файла
Отчёты и табличные документы
Любой сформированный отчёт в БП 3.0, ЗУП 3.1 или УТ 11 сохраняется одинаково:
- Сформируйте отчёт.
- Нажмите кнопку с дискетой на панели отчёта или откройте главное меню (три полоски слева вверху) →
Файл → Сохранить как.... СочетаниеCtrl+Sтоже работает, когда курсор стоит в табличной части отчёта. - В окне Windows выберите папку, впишите имя и укажите тип файла.
Доступные форматы зависят от версии платформы, но основные есть всегда:
| Формат | Когда выбирать |
|---|---|
xlsx | дальше работать в Excel, считать, фильтровать |
pdf | отправить контрагенту или в банк, чтобы не правили |
mxl | открыть потом снова в 1С без потери оформления |
docx, odt | вставить таблицу в письмо или договор |
html, txt | загрузить в другую систему или на сайт |
💡 Окно сохранения стандартное, оно запоминает последнюю папку. Если отчёты «пропадают», первым делом посмотрите адресную строку окна при следующем сохранении: файл лег туда же.
Печатные формы документов
В формах «Печать» (счёт, накладная, акт, расчётный листок) есть своя кнопка «Сохранить». Она открывает окно, где можно:
- ✅ отметить сразу несколько форматов — например, PDF и XLSX одним нажатием;
- 📦 упаковать результат в zip-архив;
- 🔤 включить транслитерацию имён файлов (пригодится, см. раздел про кодировку);
- 📁 выбрать, куда положить: в папку на компьютере или присоединить файл к самому документу.
Второй вариант удобен для архива: PDF счёта будет лежать прямо в карточке документа, а не в чьей-то папке «Загрузки».
Веб-клиент и браузер
В веб-клиенте окно выбора папки показывает браузер, а не 1С. Если браузер настроен «скачивать без вопросов», файл молча уходит в Загрузки. Поменять это можно только в настройках браузера — пункт «Спрашивать, где сохранять файлы».
Для работы с файлами на диске (выбор папки, загрузка из каталога) веб-клиенту нужно расширение для работы с файлами. Платформа сама предложит его установить при первой такой операции. Без расширения часть команд сохранения и загрузки будет недоступна.
Какой путь писать: локальный, сетевой или относительный
Путь в 1С может быть трёх видов:
- 💻 абсолютный локальный —
C:\Отчеты\2024\илиD:\Выгрузка\; - 🌐 сетевой (UNC) —
\\fileserver\buh\Отчеты\; - ↪️ относительный —
Отчеты\ОСВ.xlsx, без диска и без двух слешей в начале.
Относительный путь в 1С почти всегда плохая идея. Он отсчитывается от текущего каталога процесса, а это может быть каталог bin платформы, профиль пользователя или папка службы сервера. Файл создаётся, но найти его потом трудно. В настройках и коде указывайте полный путь.
Главное правило: кто выполняет запись
| Режим работы | Где выполняется код записи | Что означает C:\Отчеты |
|---|---|---|
| Файловая база, тонкий или толстый клиент | на компьютере пользователя | диск C: пользователя |
| Клиент-серверная база, код на клиенте | на компьютере пользователя | диск C: пользователя |
| Клиент-серверная база, код на сервере, регламентное задание | на сервере 1С | диск C: сервера 1С |
| Работа через RDP или терминал | на терминальном сервере | диск C: терминального сервера |
Отсюда классическая ситуация. Бухгалтер вписывает в рассылку C:\Отчеты, на своём компьютере папку создаёт, а рассылка выполняется на сервере 1С. Файлы аккуратно складываются на диск сервера, куда бухгалтер не заглядывает.
Для всего, что работает на сервере 1С или по расписанию, используйте только UNC-путь к общей папке. Подключённые сетевые диски (Z:\) тоже не подходят: служба сервера их не видит, буквы дисков существуют только в сеансе пользователя.
Права на папку: учётная запись службы и общий доступ
Если путь правильный, а файл не появляется, почти всегда дело в правах. Писать в папку должен тот пользователь Windows, под которым выполняется код.
- В файловом режиме это сам пользователь, который запустил 1С.
- В клиент-серверном режиме серверный код выполняется от имени учётной записи службы «Агент сервера 1С:Предприятия 8.3». По умолчанию установщик создаёт пользователя
USR1CV8, но администратор мог указать другого.
Посмотреть, под кем работает служба, можно в services.msc: откройте свойства службы агента сервера, вкладка «Вход в систему».
Что настроить на общей папке
- На файловом сервере откройте свойства папки → вкладка «Доступ» → «Расширенная настройка». Дайте учётной записи службы право «Изменение».
- На вкладке «Безопасность» (права NTFS) добавьте ту же учётную запись с правом «Изменение». Нужны оба уровня: действует более строгий из них.
- Если служба работает от
Локальная система, в сеть она выходит как учётная запись компьютера —ДОМЕН\ИМЯСЕРВЕРА$. Права выдавайте именно ей.
Если для смены учётной записи нужно перезапустить службу агента сервера, все сеансы пользователей оборвутся. Делайте это вне рабочего времени и предупредите людей заранее.
Безопасность каталогов
- 🔒 Не давайте службе 1С права на весь диск. Хватит одной папки для выгрузок.
- 🧾 Папку с зарплатными отчётами и расчётными листками закройте от общего доступа: в них персональные данные.
- 🚫 Не храните выгрузки в каталоге базы (рядом с
1Cv8.1CD) или в каталоге платформы. Их легко потерять при обновлении или переносе.
Тома на диске для присоединённых файлов
Сканы договоров, фото чеков и PDF, которые вы прикрепляете к документам, по умолчанию хранятся внутри информационной базы. Через пару лет база вырастает на десятки гигабайт, а резервные копии делаются часами.
Типовые конфигурации на БСП (БП 3.0, ЗУП 3.1, УТ 11) умеют выносить такие файлы в тома на диске. В БП 3.0 настройка находится в Администрирование → Общие настройки: флажок «Хранить файлы в томах на диске» и ссылка на список томов хранения.
В карточке тома указывают:
- полный путь для Windows — и, если сервер 1С на Linux, отдельный путь для Linux;
- максимальный размер тома;
- порядок заполнения, если томов несколько.
Путь тома должен быть UNC-путём, доступным учётной записи службы сервера 1С на запись. Действует то же правило, что и для рассылок: файлы в том пишет сервер.
После включения томов файлы живут отдельно от базы. Резервная копия базы без копии папки тома — неполная. Добавьте папку тома в задание резервного копирования.
Автоматическое сохранение отчётов и выгрузок
Рассылка отчетов без программирования
Если нужно, чтобы отчёт сам появлялся в общей папке, начните с типового механизма. В БП 3.0 он включается в Администрирование → Печатные формы, отчеты и обработки флажком «Рассылки отчетов».
В рассылке выбирают:
- Отчёты и их настройки (период, организация, отборы).
- Форматы файлов — те же
xlsx,pdf,mxl. - Способ доставки: сетевой каталог, FTP или электронная почта.
- Расписание — например, каждый рабочий день в 7:00.
Для сетевого каталога снова нужен UNC-путь и права учётной записи службы. Расписание работает только в клиент-серверном варианте или в файловой базе, где кто-то держит открытым сеанс 1С.
Внешняя обработка, когда типового не хватает
Обработка нужна, когда имя файла должно собираться по своим правилам, папки раскладываются по контрагентам или датам, а результат передаётся дальше. Ниже — серверная процедура, которая записывает табличный документ в каталог и создаёт папку, если её нет.
&НаСервереБезКонтекста
Функция СохранитьОтчетВКаталог(ТабДок, Каталог, ИмяБезРасширения)
Папка = Новый Файл(Каталог);
Если Не Папка.Существует() Тогда
СоздатьКаталог(Каталог);
КонецЕсли;
ИмяФайла = Каталог + ПолучитьРазделительПути() + ИмяБезРасширения + "_"
+ Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMdd_HHmm") + ".xlsx";
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
Возврат ИмяФайла;
КонецФункции
Пример вызова: СохранитьОтчетВКаталог(ТабДок, "\\fileserver\buh\ОСВ", "ОСВ"). Получится файл вида ОСВ_20241001_0700.xlsx. Дата в имени защищает от перезаписи вчерашней выгрузки.
Чтобы запускать такую обработку по расписанию, зарегистрируйте её в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Для этого обработка должна поддерживать регистрацию в БСП и объявлять у себя команду, выполняемую по расписанию.
💡 Если файл нужен пользователю на его компьютере, а сформирован на сервере, не пытайтесь писать в C:\ пользователя с сервера. Поместите данные во временное хранилище и отдайте файл клиенту — в типовых конфигурациях для этого есть стандартные процедуры сохранения файла из подсистемы работы с файлами.
Кодировка и имена файлов
Нечитаемые символы в выгрузке
«Кракозябры» в TXT или CSV почти всегда означают, что 1С записала файл в одной кодировке, а программа читает его в другой. Для русских текстов пара всего одна: UTF-8 или Windows-1251.
- 📄 Принимающая программа старая, ждёт ANSI — пишите в
КодировкаТекста.ANSI(на русской Windows это Windows-1251). - 📊 CSV для открытия двойным щелчком в Excel —
КодировкаТекста.UTF8. Платформа добавляет в начало файла BOM, и Excel по нему узнаёт UTF-8. - 🌐 Загрузка на сайт, в API, в Linux-системы — UTF-8, но уточните у получателя, нужна ли метка BOM: некоторые парсеры на ней спотыкаются.
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("Контрагент;Сумма");
Текст.ДобавитьСтроку("ООО Ромашка;15000");
Текст.Записать("\\fileserver\buh\export.csv", КодировкаТекста.UTF8);
Запрещённые символы и длина пути
Имя файла часто собирают из номера документа или наименования контрагента. Windows не разрешает в именах символы \ / : * ? " < > |. Номер счёта 15/2 или контрагент ООО "Ромашка" дают ошибку записи.
Простая очистка перед записью:
Функция ЧистоеИмяФайла(Знач Имя)
Запрещенные = "\/:*?""<>|";
Для Н = 1 По СтрДлина(Запрещенные) Цикл
Имя = СтрЗаменить(Имя, Сред(Запрещенные, Н, 1), "_");
КонецЦикла;
Возврат СокрЛП(Имя);
КонецФункции
Ещё две частые причины:
- 📏 длина пути. Многие программы Windows не работают с путями длиннее 260 символов. Глубокая вложенность вроде
\\server\buh\Архив\2024\Октябрь\Контрагенты\ООО ...\Счета\плюс длинное имя быстро упираются в предел; - 🔤 кириллица в именах. Внутри zip-архивов, на FTP и при передаче в Linux русские имена иногда превращаются в набор символов. Здесь помогает транслитерация имён при сохранении печатных форм или латинские имена в коде.
Диагностика: почему 1С не сохраняет файл
Когда запись падает в коде, платформа обычно пишет Ошибка при вызове метода контекста (Записать), а ниже — системное описание причины. Читайте именно вторую строку: там и есть ответ.
Чтобы быстро понять, у кого проблема — у 1С или у прав, зайдите на сервер 1С под учётной записью службы (или запустите от её имени проводник) и попробуйте создать файл в целевой папке вручную. Не получается руками — не получится и у 1С.
Для регламентных заданий смотрите журнал регистрации: Администрирование → Обслуживание → Журнал регистрации, отбор по уровню «Ошибка». Текст ошибки записи файла там будет полностью, с именем пути.