TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Е.БУДНИ программиста 1С | Роман Чумадин

12 Feb, 13:55

Открыть в Telegram Поделиться Пожаловаться

РУБРИКА «ЧёПоСтандартам»
Работа с временными файлами и каталогами

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

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

...

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

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


P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std542

3.9k 0 15 2 30
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot