![]() |
![]() |
![]() |
|
Можно ли поместить в хранилище значений ЯРЛЫК на файл? | ☑ | ||
---|---|---|---|---|
0
SeiOkami
26.11.12
✎
09:23
|
Здравия!)
Нужно дописать в коде УТ 10.3 ПриЗаписи справочника ХранилищеДополнительнойИнформации код, чтобы содержимое хранилища помещалось в папку, а заместо файла в хранилище записывался ЯРЛЫК на него. Как программно создать ярлык я понял. А вот поместить его в хранилище не могу - всё время записывается файл. Задача в том, чтобы хранить файлы не в базе, а извне. Настроек стандартных не нашёл. А хочется изменять как можно меньше кода. По идее если записывать ярлык, то если кто-то захочет просмотреть прикрепленный файл из базы, нажав "открыть", увидит файл, лежащий где-то в папочке =) |
|||
1
vde69
26.11.12
✎
09:24
|
а тупо текстовую строку хранить не судьба? (путь+имя файла)
|
|||
2
Lenka_Boo
26.11.12
✎
09:24
|
По твоему, ярлык - НЕ файл?
|
|||
3
SeiOkami
26.11.12
✎
09:25
|
(1) так и знал. Естественно, можно, но ведь тогда нужно будет привязываться и к процедуре открытия файла. Хочется прописать код только в ПриЗаписи
|
|||
4
SeiOkami
26.11.12
✎
09:25
|
(2) 1с так не считает =)
|
|||
5
Defender aka LINN
26.11.12
✎
09:26
|
(4) Не кури больше эту дрянь
|
|||
6
SeiOkami
26.11.12
✎
09:26
|
Точнее не ПриЗаписи, а ПередЗаписью в модуле справочника
|
|||
7
SeiOkami
26.11.12
✎
09:27
|
(5) тогда подскажи как поместить =)
|
|||
8
YF
26.11.12
✎
09:32
|
(7) Покажи как помещаешь
|
|||
9
SeiOkami
26.11.12
✎
09:36
|
//chvv +++
пИмяФайла = ("D:\asd.pdf"); Если РаботаСФайлами.СохранитьФайлНаДиске(Хранилище, пИмяФайла, Ложь, "") тогда Сообщить("УРА"); Иначе Сообщить("НЕТ!!!"); КонецЕсли; Попытка Шелл = Новый COMОбъект("WScript.Shell"); Ярлык = Шелл.CreateShortcut("D:\asd.lnk"); Ярлык.TargetPath = пИмяФайла; Ярлык.Save(); ФайлЯрлыка = Новый Файл("D:\asd.lnk"); //Двоичные = Новый ДвоичныеДанные // Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ФайлЯрлыка.ПолноеИмя), Новый СжатиеДанных()); Исключение Отказ = Истина; Сообщить("Ошибка. Ярлык не создан."); КонецПопытки; //chvv --- |
|||
10
SeiOkami
26.11.12
✎
09:36
|
Красоты нет, но я хочу сделать чтобы работало, а потом её наводить =)
|
|||
11
samozvanec
26.11.12
✎
09:41
|
(9) откуда инфа, что в хранилище файл вместо ярлыка?
|
|||
12
SeiOkami
26.11.12
✎
09:42
|
(11) подменяю файл (asd.pdf) на другой. Ярлык открывает его, а база нет.
|
|||
13
SeiOkami
26.11.12
✎
09:43
|
Ща почищу все файлы и начну, так сказать, с чистого листа =)
Может где-то чего-то путаю просто. |
|||
14
samozvanec
26.11.12
✎
09:43
|
(12) не логично. вот если бы ты его просто удалил, а база его открыла, я бы поверил
|
|||
15
DJ Anthon
26.11.12
✎
09:46
|
переименуй расширение средствами системы
|
|||
16
SeiOkami
26.11.12
✎
09:48
|
Понял фишку. Когда распаковывается во временные файлы ярлык, то он записывается как .pdf, а не как .lnk
(15) ты про это? |
|||
17
SeiOkami
26.11.12
✎
09:50
|
Он у меня начал ошибку при открытии выдавать, мол, неверный формат
|
|||
18
SeiOkami
26.11.12
✎
09:50
|
Сейчас попробую код
ИмяФайла = ИмяФайл + ".lnk"; |
|||
19
SeiOkami
26.11.12
✎
09:55
|
ЗАРАБОТАЛО!)
|
|||
20
ASU_Diamond
26.11.12
✎
09:56
|
интересно что будет когда кто-нить сохранит себе файлы на локальную машину...
|
|||
21
SeiOkami
26.11.12
✎
09:58
|
(20), кстати да )
Вообще, в данном случае так делать они не будут, но всё же надо бы от этого предостеречься |
|||
22
samozvanec
26.11.12
✎
09:59
|
(21)
Процедура ПриСохраненииФайлаНаДискПользователем() Сообщить("НЕ НАДА!!!"); КонецПроцедуры |
|||
23
SeiOkami
26.11.12
✎
10:03
|
(22) Как вариант =)
|
|||
24
SeiOkami
26.11.12
✎
10:14
|
Косяк будет лишь только в том, что вдруг поменяют место хранения файлов. Будет сложнее редактировать сохранённые ярлыки, чем просто текстовую строку адреса
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |