Процесс сохранения и автосохранения в програме ГРАНД-Смета(вер.7.0.4) на примере локальной сметы с именем «Проверка»:
1. При создании сметы, в папке для хранения данных создается файл с его оригинальным именем (Проверка. gsfx).

2. При внесении изменений в созданный файл в специальной папке для хранения файлов автосохранения создается файл с уникальным именем (например: AS_480E. tmp).
Пути к папке автосохранения:
C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\Grand\GrandSmeta 7\Client\Autosave
БУКВА_СЪЕМНОГО_ДИСКА:\Grand\Grandsmeta\Client\Autosave

3. При закрытии измененой сметы и выбора команды сохранить изменения или нажатия команды «Сохранить» (Глазами эти операции не увидеть):
3.1. В папке для хранения данных рядом с исходным файлом создается такой же файл с таким же именем в который вносятся изменения но к расширению этого файла добавляется расширение «.tmp1» (например: Проверка. gsfx. tmp1).
3.2. Производится проверка файла «Проверка. gsfx. tmp1» на его целостность.
3.3. Последующие операции производятся посредством функции ReplaceFile (ReplaceFile function)
https://msdn. microsoft. com/en-us/library/windows/desktop/aa365512(v=vs.85).aspx
3.3.1. Исходый файл «Проверка. gsfx» переименовывается в «Проверка. gsfx. tmp2».
3.3.2. Сохраненный и проверенный файл «Проверка. gsfx. tmp1» переименовывается в «Проверка. gsfx».
3.3.3. Файл «Проверка. gsfx. tmp2» удаляется.
Если был выбран вариант закрытия измененой сметы и выбора команды сохранить:
3.4. Файл «Проверка. gsfx» открывается в программе и закрывается. Данная проверка делается специально для проверки сохраненного файла, если он поврежден, то программа выдаст ошибку.
3.5. При удачном сохранении и закрытии сметы, файл автосохранения «AS_480E. tmp» удаляется.
Если был выбран вариант нажатия команды «Сохранить»:
3.4. Файл «Проверка. gsfx» открывается в программе и производится работа с ним, файл автосохранения «AS_480E. tmp» не удаляется и запись новых действий производится в него.


