TGViewer
Е.БУДНИ программиста 1С | Роман Чумадин Е.БУДНИ программиста 1С | Роман Чумадин @e_budni_programmer · 6.25K subscribers
Post #518 4.75K
РУБРИКА «ЧёПоСтандартам»
Работа с временными файлами и каталогами

Стандарт достаточно большой, но сегодня разберем одну из тем.
Довольно часто требуется создание временных файлов но как некоторые изварачиваются иногда шокируешься. И в сетевые папки и на диск C и куда только не сохраняют... Хотя все это описано в стандарте и хотелось бы как раз подсветить важные моменты:
#std542
1. Для получения имени временного файла следует использовать метод ПолучитьИмяВременногоФайла
...
У текущего пользователя может не быть прав на запись в указанный каталог. Кроме того, при одновременном выполнении этого кода из двух разных сеансов возникнет ошибка.
Правильно: ИмяПромежуточногоФайла = ПолучитьИмяВременногоФайла("xml");

При использовании метода ПолучитьИмяВременногоФайла платформа 1С:Предприятие сохраняет контроль над такими файлами и автоматически удаляет их:
- при перезапуске рабочего процесса
- через 20 минут после серверного вызова или сеанса

...

2. Для создания временного каталога рекомендуется также использовать имя, полученное при помощи метода ПолучитьИмяВременногоФайла.Это гарантирует уникальность имени создаваемого каталога при работе в многопользовательском режиме и гарантирует, что после перезапуска рабочего процесса или клиентского приложения временный каталог будет автоматически удален платформой 1С:Предприятие.

Но надеяться на автоматику в полной мере тоже нельзя (4 пункт стандарта):
#std542
4. После окончания работы с временным файлом или каталогом, его необходимо удалить самостоятельно. Нельзя рассчитывать на автоматическое удаление файлов и каталогов при следующем запуске платформы, это может привести к исчерпанию свободного места в каталоге временных файлов.
...
5. При использовании временных файлов и каталогов на сервере, необходимо полностью завершать работу с ними в рамках одного серверного вызова. При работе конфигурации с использованием кластера серверов, при следующем вызове эти файлы могут стать недоступны, так как код начнет исполняться на другом компьютере. При необходимости сохранить данные между серверными вызовами в пределах одного сеанса следует использовать временное хранилище платформы (методы ПоместитьВоВременноеХранилище, ПолучитьИзВременногоХранилища).

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

Замечу, что есть исключения для веб-клиента, их лучше почитать в самом стандарте.
Если кратко, то если есть БСП то используем ФайловаяСистемаКлиент.СоздатьВременныйКаталог иначе метод КаталогВременныхФайлов.


P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std542
  • 🔥 24
  • ❤ 7
  • ✍ 1
More from @e_budni_programmer
  1. Oct 1, 2026Post #612
  2. Sep 30, 2026Работу техподдержки 1С обычно редко обсуждают, пока все работает в штатном режиме. Но когд…
  3. Sep 24, 2026РУБРИКА «ЧёПоСтандартам» Оформление текстов запросов Хотел выбрать самые важные моменты из…
  4. Sep 22, 2026Всем привет! И снова про конференции) Прошла Жёлтая конфа, Кунг-Фу Митап в питере, на этот…
  5. Sep 17, 2026Post #607
  6. Sep 12, 2026Больше постов про ИИ?) Сейчас всё активнее пробую применять ИИ непосредственно в разработк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →