В процессе работы система 1С:Предприятие использует временные данные. Они нужны только в течение нескольких пересекающихся во времени или одного сеанса 1С:Предприятия.
Эти данные размещаются во временных файлах, создаваемых в каталоге, определенном в системе Microsoft Windows как каталог временных файлов. При этом для клиентского приложения используется каталог временных файлов текущего пользователя Windows, например, C:\Documents and Settings\User\Local Settings\Temp. Для сервера 1С:Предприятия используется системный каталог временных файлов, например, C:\WINNT\Temp.
Для того чтобы тот или иной сеанс 1С:Предприятия 8.0 «не перепутал» свои временные файлы с временными файлами других сеансов, используется следующий механизм работы с временными файлами.
Инициализация службы временных файлов
При инициализации службы временных файлов каждый сеанс 1С:Предприятия 8.0 создает в каталоге временных файлов специальный файл-замок, запирающий определенный шаблон имен временных файлов. Имя файла замка имеет следующий формат:
v8lxxx.tmp
где:
xxx – одна или несколько шестнадцатеричных цифр, по сути идентифицирующая временные файлы данного сеанса 1С:Предприятия 8.0.
Все время, пока сеанс 1С:Предприятия 8.0 активен, файл-замок держится открытым в исключительном режиме, чтобы не допустить его повторного открытия другим сеансом.
Каждый создаваемый данным сеансом временный файл имеет имя в соответствии со следующим шаблоном:
v8_xxx_yyy.*
где:
xxx – та же последовательность шестнадцатеричных цифр, что и у файла-замка,
yyy – последовательность из одной или нескольких шестнадцатеричных цифр, по сути, номер временного файла в рамках сеанса. Последовательность генерируется на основании счетчика и гарантирует уникальность имени временного файла.
* - расширение имени файла, которое, начиная с версии 8.0.10, может быть произвольным.
Удаление временных файлов при завершении сеанса
При завершении сеанса 1С:Предприятия 8.0 происходит удаление временных файлов созданных данным сеансом. Большая часть временных файлов удаляется еще в процессе сеанса по мере того, как они становятся ненужными. Но часть временных файлов сохраняются до конца сеанса, и их требуется удалить. Удаление выполняется следующим образом: создается маска временных файлов, имеющая вид
v8_xxx_*.*
где:
xxx – та же последовательность шестнадцатеричных цифр, что и у файла-замка.
По этой маске происходит удаление временных файлов. Затем закрывается и удаляется файл файл-замок.
Удаление временных файлов при начале сеанса
Каждый раз при запуске 1С:Предприятие 8.0 пытается удалить временные файлы, которые могли быть созданы и «забыты» другими сеансами 1С:Предприятия 8.0, например, в результате аварийного завершения. Для этого производится поиск всех присутствующих в каталоге временных файлов файлов-замков по шаблону v8l*.*
Затем производится обход всех обнаруженных файлов-замков с попыткой открытия. Если удалось открыть файл-замок, значит он «забыт» завершившимся сеансом 1С:Предприятия 8.0. Тогда все временные файлы, соответствующие данному файлу-замку и он сам удаляются.
Такой порядок профилактического удаления «забытых» временных файлов существует в 1С:Предприятии 8.0, начиная с версии 8.0.3.
|