К статье
Практический материал

Разработка и Конфигурация · 8 мин

Как открыть папку из 1С: способы для пользователя и разработчика

Как открыть папку из 1С: через команду ЗапуститьПриложение, открытие каталога базы, папки с файлом и общего сетевого ресурса. Примеры кода и решение ошибок.

Задача «открыть папку» в 1С встречается в двух разных ситуациях. Первая — пользовательская: нужно быстро перейти к каталогу, где лежит прикреплённый к документу файл, выгрузка обмена или сохранённая печатная форма. Вторая — прикладная: в конфигурации требуется программно открыть проводник Windows в заданной папке, например после формирования отчёта или выгрузки файлов для контрагента.

Оба сценария решаются штатными средствами платформы 1С:Предприятие 8.3 без внешних компонент. Ниже разобраны способы для тонкого и веб-клиента, примеры кода на встроенном языке, работа с сетевыми путями и типичные ошибки, из-за которых папка не открывается.

Как пользователю открыть папку с прикреплённым файлом

В типовых конфигурациях на БСП (1С:Бухгалтерия, Управление торговлей, ERP) файлы хранятся либо в информационной базе, либо в томах на диске. Если файл хранится в томе, открыть его расположение можно прямо из карточки файла.

Откройте список присоединённых файлов объекта (кнопка со скрепкой), выделите нужный файл и в меню «Ещё» найдите команду «Открыть каталог файла» или «Показать в проводнике». Система запустит проводник Windows и выделит файл в папке тома. Если команда недоступна, значит файл хранится внутри базы, а не на диске — в этом случае его можно только сохранить на диск через «Сохранить как», а затем открыть папку назначения.

Открытие папки через диалог выбора каталога

Когда нужно указать программе папку — например, каталог выгрузки для обмена с банком или папку для сохранения отчётов, — используется стандартный диалог выбора. В поле пути нажмите кнопку выбора (троеточие), в открывшемся окне перейдите к нужному каталогу и подтвердите выбор. Путь подставится в поле автоматически.

Тот же диалог позволяет создать новую папку кнопкой «Создать папку». Учтите, что при работе через веб-клиент обзор локальных дисков может быть ограничен настройками браузера, и выбор каталога будет работать иначе — часто только через сохранение файла с последующим выбором места.

Программное открытие папки: ЗапуститьПриложение

Для разработчика основной инструмент — глобальный метод ЗапуститьПриложение() (в толстом клиенте) или его асинхронный аналог НачатьЗапускПриложения() для тонкого и веб-клиента. Если передать методу путь к папке, Windows откроет её в проводнике.

bsl
&НаКлиенте
Процедура ОткрытьПапку(Команда)
    ПутьКПапке = "C:\Выгрузки\";
    НачатьЗапускПриложения(, ПутьКПапке);
КонецПроцедуры

Метод НачатьЗапускПриложения принимает описание оповещения о завершении, строку команды и необязательный текущий каталог. Если путь содержит пробелы, заключать его в кавычки при передаче папки обычно не требуется — система сама распознает каталог. Для гарантированного открытия именно в проводнике можно вызвать explorer напрямую.

bsl
&НаКлиенте
Процедура ОткрытьВПроводнике(Команда)
    СтрокаКоманды = "explorer.exe """ + ПутьКПапке + """";
    НачатьЗапускПриложения(, СтрокаКоманды);
КонецПроцедуры

Открытие папки с выделением конкретного файла

Проводник Windows поддерживает параметр /select,, который открывает папку и выделяет в ней указанный файл. Это удобно, когда после выгрузки нужно показать пользователю готовый файл.

bsl
СтрокаКоманды = "explorer.exe /select,""" + ПолноеИмяФайла + """";
НачатьЗапускПриложения(, СтрокаКоманды);

Открытие папки информационной базы

Иногда нужно открыть каталог самой файловой базы — например, чтобы сделать копию файла 1Cv8.1CD или проверить свободное место. В стартовом окне запуска 1С выделите базу в списке и нажмите кнопку настройки (карандаш) — в параметрах указан каталог информационной базы. Скопируйте путь и вставьте его в адресную строку проводника.

Для серверной базы физической папки, доступной пользователю, нет: данные лежат в СУБД на сервере. Открыть можно только служебные каталоги — например, папку временных файлов пользователя или каталог журнала регистрации, если он выведен отдельно.

Работа с сетевыми папками

Для сетевых ресурсов используйте UNC-путь вида \\Сервер\ОбщаяПапка\. Подключённый сетевой диск (например, Z:) тоже работает, но только если буква подключена в той же сессии пользователя, под которым запущен клиент 1С. При работе на сервере 1С:Предприятия код выполняется от имени служебной учётной записи агента, и сетевые диски пользователя ему недоступны — используйте UNC-пути и выдайте учётной записи агента права на ресурс.

Маршрут решения

Как выбрать действие

Папка открывается у пользователя на его компьютереИспользуйте НачатьЗапускПриложения на клиенте с локальным путём
Папка лежит на сервере 1СОткрывать её в проводнике с клиента нельзя — сохраните файлы на клиент и откройте локальную папку
Путь сетевой и код выполняется на сервереУкажите UNC-путь и проверьте права учётной записи агента сервера
Папка не открывается без ошибкиПроверьте существование пути через ФайлСуществует или НайтиФайлы

Проверка существования папки и обработка ошибок

Перед открытием полезно убедиться, что каталог существует, иначе пользователь получит либо пустое окно, либо ошибку проводника. Проверку делают через объект Файл или функцию НайтиФайлы.

bsl
Файл = Новый Файл(ПутьКПапке);
Если Не Файл.Существует() Тогда
    СоздатьКаталог(ПутьКПапке);
КонецЕсли;
НачатьЗапускПриложения(, ПутьКПапке);
Контрольные точки

Как проверить результат

Окно проводника после вызова
Норма

Открылась нужная папка, файлы видны

Тревожный признак

Открылся «Мой компьютер» или ошибка — путь неверный

Путь в коде
Норма

Существует, слэши корректны, нет лишних кавычек

Тревожный признак

Опечатка, смешаны \ и /, путь обрезан

Сетевая папка
Норма

UNC-путь открывается и в проводнике Windows вручную

Тревожный признак

Вручную тоже не открывается — проблема прав или сети

Типичные ошибки и их устранение

Типичные ошибки
01
Использование ЗапуститьПриложение в тонком клиенте — метод недоступен, нужен НачатьЗапускПриложения
02
Путь сетевого диска Z: при выполнении кода на сервере — сервер не видит диски пользователя, нужен UNC-путь
03
Отсутствие завершающего слэша не критично, но опечатка в имени каталога приводит к открытию «Этот компьютер» вместо папки
04
Попытка открыть папку на сервере из веб-клиента — проводник запустится на сервере, а не у пользователя
05
Нет проверки существования каталога — пользователь видит ошибку Windows без пояснений

Отдельная группа проблем — антивирусы и политики безопасности, блокирующие запуск внешних приложений из 1С. Если код корректен, но проводник не появляется, проверьте журнал антивируса и групповые политики на предмет запрета запуска explorer.exe из дочерних процессов.

Итог

Что важно запомнить

Пользователь открывает папку файла командой «Открыть каталог файла», разработчик — методом НачатьЗапускПриложения с путём к каталогу. Для сетевых ресурсов используйте UNC-пути, перед открытием проверяйте существование папки, а на сервере помните про права служебной учётной записи.

Частые вопросы

Как открыть папку из 1С в веб-клиенте?

Напрямую запустить проводник на компьютере пользователя из веб-клиента нельзя — браузер ограничивает запуск локальных приложений. Рабочий вариант: передать файл или создать его на клиенте через расширение работы с файлами, сохранить на диск и дать пользователю открыть папку стандартным диалогом сохранения.

Почему НачатьЗапускПриложения не открывает папку и не выдаёт ошибку?

Чаще всего путь не существует или содержит опечатку — Windows в этом случае молча открывает корневое окно проводника. Добавьте проверку через объект Файл или НайтиФайлы и выведите пользователю понятное сообщение. Также проверьте, не блокирует ли запуск антивирус.

Как открыть папку на сервере 1С с клиентского компьютера?

Только если каталог сервера опубликован как общий сетевой ресурс. Тогда с клиента вызывается НачатьЗапускПриложения с UNC-путём вида \\Сервер\Папка, а учётной записи пользователя должны быть выданы права на чтение этого ресурса.

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

Да, через параметры проводника: сформируйте строку «explorer.exe /select,» плюс полное имя файла в кавычках и передайте её в НачатьЗапускПриложения. Проводник откроет каталог и подсветит указанный файл.

Чем отличается ЗапуститьПриложение от НачатьЗапускПриложения?

Первый метод синхронный и работает только в толстом клиенте; второй — асинхронный, поддерживается тонким клиентом и соответствует современным требованиям платформы к модальности. В новых разработках используйте только НачатьЗапускПриложения.

Как узнать путь к папке, куда 1С сохранила файл?

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