Имя: Пароль:
1C
1С v8
Путь к файлу для печати
0 Vasutka12
 
18.06.21
15:12
Здравствуйте! Можно ли как то иначе сохранять форматы пдф и ворд из шаблона без указывания конкретного пути для сохранения??

Если РольДоступна("Администратор") Тогда
  MSWord.SaveAS("D:\файлы\"+".pdf", 17 );
КонецЕсли;

Если РольДоступна("Менеджер") Тогда
  MSWord.SaveAS("D:\файлы\"+".docx" , 16);
КонецЕсли;
1 acht
 
18.06.21
15:13
(0) >  без указывания конкретного пути для сохранения
Сохранять куда?
2 Vasutka12
 
18.06.21
15:28
(1) на компьютер
3 acht
 
18.06.21
15:31
(2) В мышку, что-ли? Ну ты сам задумайся.
4 Новый1сник2
 
18.06.21
15:48
Пятница сегодня, полет нормальный))
5 Vasutka12
 
18.06.21
15:50
(0) я имею ввиду что если вдруг базу открыть на другом ПК, нужно будет постоянно меенять путь к файлу, как этого избежать?
6 Новый1сник2
 
18.06.21
15:51
(0) если правильно понимаю, нужно чтобы диалог открылся и там юзер сам указывал куда сохранять?
7 Vasutka12
 
18.06.21
15:53
(6) просто при нажатии на кнопку открывался файл (шаблон) и он уже сам решает куда его сохранить, если это необходимо, а если нет, то просто открыл посмотрел и закрыл без всяких сохранений на ПК
8 Новый1сник2
 
18.06.21
15:57
(7) была такая задачка, файл сохранять во временные файлы и запускать для пользователя, если нужно пользователь сохранит в своей папке, если нет то кэш с временными файлами потом очищается, после перезагрузки сервера.
9 acht
 
18.06.21
15:58
(7) > открыл посмотрел и закрыл без всяких сохранений
Оно так не работает. Ты не можешь посмотреть нигде несохраненный файл.

Набивай макет данными на клиенте и активизируй word с несохраненным документом. Пусть пользователь сам решает куда его сохранять и в каком формате.
10 Vasutka12
 
18.06.21
15:58
(8) где ее можно найти?
11 Новый1сник2
 
18.06.21
16:01
(10) Я сам делал, сейчас не вспомню, по гугли как сохранить во временные файлы и запустить для пользователя этот файл.
12 Новый1сник2
 
18.06.21
16:02
(10) база серверная ?
13 acht
 
18.06.21
16:07
(7) Если уж совсем красиво, то формируй файл на сервере, сохраняй во временом хранилище и отдавай его пользователю через НачатьПолучениеФайлаССервера вариант с диалогом. У пользователя выскочит вопрос "открыть или сохранить" - пусть сам решает.
14 Новый1сник2
 
18.06.21
16:14
(10) посмотри функцию ПолучитьИмяВременногоФайла(<Расширение>) в СП, я через нее делал.
15 minsk1s
 
18.06.21
22:37
(0) как вариант получить каталог мои документы:

&НаСервере
Функция ПолучитьКаталогМоиДокументы()

    МояОбработка = ЭтотОбъект.Метаданные().ПолноеИмя();
    КаталогMyDocuments = ХранилищеНастроекДанныхФорм.Загрузить(МояОбработка, "КаталогСохранения");

    Если ПустаяСтрока(КаталогMyDocuments) Тогда // не заполнен
        WScript = Новый COMОбъект("WScript.Shell");
        КаталогMyDocuments = WScript.SpecialFolders().Item("MyDocuments");
        WScript = Неопределено;
    КонецЕсли;

    Возврат КаталогMyDocuments;

КонецФункции
16 acht
 
18.06.21
23:16
(15) Как же вы надоели, нажиматели кнопок, обнаружившие Великую ИстинуВ Интернете.

Глобальный контекст (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)

Описание:
Предоставляет доступ к стандартному каталогу документов.

Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).

Примечание:
Для работы метода на веб-клиенте необходимо предварительно подключить расширение работы с файлами.

См. также:
Глобальный контекст, метод НачатьПолучениеКаталогаДокументов

Использование в версии:
Доступен, начиная с версии 8.3.1.
17 ДедМорроз
 
18.06.21
23:50
На самом деле,windows и microsoft word умеют открывать документы,внедренные в другие объекты через механизм OLE,но 1с этого не умеет и не желает этому учиться,т.к.это сильно не кроссплатформенно.