Имя: Пароль:
1C
1С v8
Сохранить файл по относительному пути
0 yurikmellon2
 
01.11.23
10:37
Всем привет.
Вроде простая задачка, но не смог ни сам решить, ни нагуглить.
Суть.
Обычные формы.
Надо сохранить текстовый файл пользователю в папку "Документы". Понятно, что на разных компах путь к этой папке будет разный, так как в адресе используется логин пользователя (Например, C:\Users\i.ivanov\Documents)

Вроде бы должна срабатывать стандартная виндовая конструкция %USERPROFILE%\Documents\ , но нет, ошибка "Каталог не обнаружен '%USERPROFILE%\Documents\file.txt'"
Как правильно указать относительный путь, чтобы файл записать?

Текст = Новый ТекстовыйДокумент;

Текст.ДобавитьСтроку("Тест");

Текст.Записать("%USERPROFILE%\Documents\file.txt", КодировкаТекста.ANSI);
1 ads55
 
01.11.23
09:42
2 arsik
 
01.11.23
09:43
Глобальный контекст (Global context)
КаталогДокументов (DocumentsDir)
Синтаксис:
КаталогДокументов()
Возвращаемое значение:
Тип: Строка. 
Путь к каталогу.
Для режимов запуска "Тонкий клиент" и "Толстый клиент":
в MS Windows: <Personal>;
в Linux: выбирается из надстройки gnome. Если gnome не указан, то метод вернет домашний каталог <Home>.
Для режимов запуска "Веб клиент" (реализуются только в расширении для работы с файлами):
при использовании веб-браузера Microsoft Internet Explorer: <Personal>;
при использовании веб-браузера Mozilla Firefox (с помощью XPCOM интерфейса nsIDirectoryServiceProvider):
в MS Windows: <Personal>;
в Linux: <Home>;
в macOS: <Docs> ;
в OSX: <UsrDocs>.
Для мобильной платформы:
iOS: Подкаталог \Documents относительно домашней директории приложения. Стандартный каталог, который доступен для обмена файлов в iTunes с помощью функции NSHomeDirectory().
Android:<Абсолютный путь>, может различаться на разных устройствах. Например:
/mnt/sdcard/Android/data/com.e1c.mobile/files/
/storage/emulated/0/Android/data/com.e1c.mobile/files/
Windows:
для смартфона: путь внутри домашней директории приложения (C:\Users\<User>\AppData\Local\Packages\<Application>\RoamingState). Каталог не доступен при подключении к ПК. Доступ с ПК можно обеспечить только с помощью утилиты ISETool из комплекта Windows Phone SDK.
для планшета: путь внутри домашней директории приложения C:\Data\Users\<User>\DefApps\APPDATA\Local\Packages\ <Application>\RoamingState)
Описание:
Предоставляет доступ к стандартному каталогу документов.
3 yurikmellon2
 
01.11.23
09:49
(2) спасибо, не знал про КаталогДокументов(), всё получилось
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан