![]() |
![]() |
![]() |
|
Гиперссылка с формы на внешний файл (1с8.2) | ☑ | ||
---|---|---|---|---|
0
mir-mup
22.09.10
✎
12:57
|
Необходимо создать кнопку на форме, которая открывает ВНЕШНИЙ файл, с жеского диска(и прикрепляет гиперссылку на файл). Очень долго бьюсь нарыл кучу литературы, но ничего не выходит:
http://www.sql.ru/forum/actualthread.aspx?bid=63&tid=547230&pg=1 не могу понять что делаю не так. Очень прошу помощи. |
|||
1
le_
22.09.10
✎
13:02
|
Что значит "прикрепляет гиперссылку на файл"?
К чему прикрепляет? Что прикрепляет? |
|||
2
le_
22.09.10
✎
13:10
|
//пример открытия и чтения файла:
Процедура МегаКнопаНажатие(Элемент) //открываем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл..."; Диалог.ПредварительныйПросмотр = Ложь; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "Текстовые файлы (*.txt)|*.txt"; Диалог.Каталог = "D:\"; Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; //читаем файл Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8); Строка = Текст.ПрочитатьСтроку(); Пока Строка <> Неопределено Цикл Строка = Текст.ПрочитатьСтроку(); Сообщить(Строка); КонецЦикла; КонецПроцедуры |
|||
3
le_
22.09.10
✎
13:18
|
Просмотрел мельком сообщения из ссылки в (0)...
Открыть вордовский файл можно несколькими способами. Например: КомандаСистемы() или через OLE. У надписи есть событие "Нажатие" - туда и вставляй открытие файла. Процедура Надпись1Нажатие(Элемент) //открываем файл через КомандаСистемы() или через OLE. КонецПроцедуры |
|||
4
mir-mup
22.09.10
✎
14:23
|
благодарю буду пробовать.
|
|||
5
mir-mup
22.09.10
✎
15:23
|
Большое спасибо что помогаете, но как открыть потом этот файл
Нужно чтобы прикреплялась гиперссылка на форме. создаю справочник ИмпортДокументов, созадю реквизиты Объект - строка Фото - хранилище значения Создаю форму элемента справочника: Объект Декорация надпись(флаг гипрессылака, надпись нажатие "текст процедуры". \ открываю отладчик выбераю файл, сохраняю провожу. как открыть прикрепленный файл? (чтобы при счелчке по кнопке открывался файл с жеского диска) Спасибо огромное что помогаете! |
|||
6
mir-mup
23.09.10
✎
09:59
|
Плиз!!! помогите с Гиперссылкой!!!
|
|||
7
Ork
23.09.10
✎
10:08
|
(6) Не нужно такого количества восклицательных знаков.
К гиперссылке в восьмере не "прикрепишь". Ход событий примерно такой: Есть кнопка выбора файла (работу см. (2)). Есть список значений, структура, соответсвие (на выбор) где прописано связка ИмяГиперссылки-Файл. В обработчике нажатия гиперссылки ищешь свой файл и если он задан - открываешь. |
|||
8
mir-mup
23.09.10
✎
11:44
|
создаю справочник
ИмпортДокументов, созадю реквизиты Объект - строка Фото - хранилище значения Создаю форму элемента справочника: Объект Декорация надпись(флаг гипрессылака, надпись нажатие "текст процедуры". \ открываю отладчик выбераю файл, сохраняю провожу. Куда лезть чтобы его открыть или что где задать? |
|||
9
le_
23.09.10
✎
16:17
|
(8) Набор несвязных слов.
|
|||
10
mir-mup
23.09.10
✎
17:51
|
я уж не пойму куда проще разживать задачу. Вы подробно читали что написано?
нужна организация гиперсылки на внешний файл чтобы ПОЛЬЗОВАТЕЛЬ мог без заморок открыть файл по гиперссылке.... как в ворде или в экселе гиперссылка на файл. выше описал то что сделал по вашему совету (спасибо конечно что помогаете, но слова все связанные причем рускими буквами написанные ....читайте как есть и смысл поймете. Я написал что гиперссылку получается поставить, точнее открыть диалоговое окно и выбрать файл, Как пользователь сможет открыть этот выбранный файл? на что жать? форме не хватает кнопки открытия этого файла как ее созадть? |
|||
11
le_
23.09.10
✎
18:50
|
(10)
//При нажатии на ссылку: Процедура Надпись1Нажатие(Элемент) //самый простой вариант: КомандаСистемы("start D:\text.txt", "D:\");//"D:\text.txt" - путь к файлу, который нужно открыть КонецПроцедуры |
|||
12
le_
23.09.10
✎
18:52
|
(11) Красивше будет через WScript.Shell.
|
|||
13
mir-mup
24.09.10
✎
10:19
|
нужно чтобы пользователь мог привязать и открыть любой файл.
в кнопку открытия нужно вставить именно тот путь что мы брали кнопкой привязки. а кнопка надпись или еще что там, все равно. Ктонибудь может написать как сделать или хотябы ссылку дать что почетать(просьба на радченко не ссылаться нету тама и на другие источники где нет тоже прошу ни кидать)... WScript.Shell. - если есть инфа как это сделать и красиво и самое главное чтобы работало напишите пожалуйста. |
|||
14
le_
24.09.10
✎
10:56
|
Вот пример:
http://depositfiles.com/files/gxsu4xelv |
|||
15
mir-mup
24.09.10
✎
11:24
|
спасибо за старания просмотрел ВнешнийОтчет2.erf,
у меня есть справочник куда пользователь заносит данные там как и на форме отчета нужны две кнопки ВЫБРАТЬ ФАЙЛ и ПРИКРИПИТЬ ФАЙЛ. как это реализовать? |
|||
16
hhhh
24.09.10
✎
11:33
|
(15) ну открой любую обработку в типовых. Клиент-банк, например. Там все файлы открываются на раз, причем, ничего дополнительно делать не нужно.
|
|||
17
le_
24.09.10
✎
11:39
|
(15) "Выбрать файл" - так же как в моём примере и реализовать.
Если под "Прикрепить файл" подразумевается "сохранить его в реквизите справочника", то: ХранилищеФайла = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ПутьКФайлу), Новый СжатиеДанных(9));//ХранилищеФайла - реквизит справочника типа ХранилищеЗначений. Открытие файла в этом случае можно сделать так: ИмяФайла = ПолучитьИмяВременногоФайла(); ВыбранныйЭлементСправочника.ХранилищеФайла.Получить().Записать(ИмяФайла); //ну, а дальше открытие, как в примере (14) //оставляю возможность выразить свои творческие способности ) Вместо самого файла в справочнике можно хранить только ссылку на него (путь к нему). В этом случае, нужно будет учитывать то, что файлы могут перемещаться, изменяться, удаляться и т.п. |
|||
18
mir-mup
24.09.10
✎
12:09
|
спс, буду пробовать. по окончании обязательно напишу получилось или нет.
|
|||
19
mir-mup
24.09.10
✎
15:17
|
не прикрипить файл(мне не нужна раздутая картинками база,с проблемой переименования удаления и другими вопросами сам справлюсь), а прикрипить ссылку на внешний файл. И вторую кнопку чтобы открыть этот файл по ссылке(мне паралельно какой рограммой он откываться будет, вордом, экселем или как картинка, или в 1се.)
кто то посоветывал скачать типовую клиент-банк,буду искать скачивать, чтобы там подглядеть как сделано. Вот ток вопрос, там точно как нужно "ссылка на файл" а не файл в базу. У меня уже есть пару конфигураций типа Документооборота, вот там в базу файл кидается, а мне нужна именно ссылка на внешний файл. Конечно лучше всего если есть у кого такая конфигурация киданите один справочник в конфигурации, можно на мыло,если есть скажите, мыло напишу. Вот что делаю что делать дальше уважаемые Гурру помогите пожалуйста очень уж долго над этой проблеммой бьюсь. создаю: справочник, в нем реквизиты ... реквезит СсылкаНаФайл(тип Хранилище занач) создаю: форму, на форме создаю Дикорацию надпись(вид гиперссылка)(Надпись нажатие туда вставляю "пример открытия и чтения файла" то что посоветовали(первая процедура) //пример открытия и чтения файла: Процедура МегаКнопаНажатие(Элемент) //открываем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл..."; Диалог.ПредварительныйПросмотр = Ложь; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "Текстовые файлы (*.txt)|*.txt"; Диалог.Каталог = "D:\"; Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; //читаем файл Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8); Строка = Текст.ПрочитатьСтроку(); Пока Строка <> Неопределено Цикл Строка = Текст.ПрочитатьСтроку(); Сообщить(Строка); КонецЦикла; КонецПроцедуры дальше что добавить надо туда чтобы в реквизит СсылкаНаФайл добовлялась ссылка. и как по кнопке, надписи, или еще какому нибудь элементу открыть тот файл, который перед этим выберается при счелчке по Ссылке(декорация) |
|||
20
le_
24.09.10
✎
15:49
|
(19) "СсылкаНаФайл" должна иметь тип значения строка!
>дальше что добавить надо туда чтобы в реквизит СсылкаНаФайл добовлялась ссылка. СсылкаНаФайл = Диалог.ПолноеИмяФайла; P.S.: mir-mup, ты из какой страны? Пойму, если не русский, но если русский, старайся писать так, чтобы было понятно, тем, кто будет это читать. Если бы я тебе в ответ написал что-нибудь типа: Ссылка на файл текстовый дальше что надо добавить ссылка на файл присвоить диалог полное имя файла. Ты понял бы, что я имею ввиду?.. |
|||
21
mir-mup
24.09.10
✎
16:22
|
дальше что добавить надо туда, чтобы в реквизит "СсылкаНаФайл" добовлялась ссылка.
уважаемый учитель русского языка. У меня всегда была тройка. И теперь нужна тройка, если поставите можно и двойка - три или две кнопки. кнопка1(прикрипить гиперссылку) Кнопка2(открыть файл) Кнопка3(Очистить) Пожалуйста ни придирайтесь к запятым, если можете помочь по вопросу помогите, если нет то может кто знает как это сделать и все же научит. Мир не без добрых людей. |
|||
22
le_
24.09.10
✎
16:45
|
(21)
СсылкаНаФайл = Диалог.ПолноеИмяФайла;//это для первой кнопки Для второй кнопки текст уже имеется в примере, подставляй туда значение реквизита "СсылкаНаФайл". СсылкаНаФайл = "";//это для третьей кнопки Я не учитель русского языка ) Просто после прочтения подобных сообщений приходится догадываться (угадывать), что именно ты имел ввиду. Диктанты на 5-ку со всеми зпт никто не просит писать... |
|||
23
mir-mup
27.09.10
✎
12:01
|
Не получается строку в реквизит записать, чтобы потом прочитать его.
реквизит ПутьКФайлу тип строка(неогр длинны) Процедура ДекорацияНажатие(Элемент) //открываем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл..."; Диалог.ПредварительныйПросмотр = Ложь; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "Текстовые файлы (*.doc)|*.doc"; Диалог.Каталог = "D:\"; Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; //читаем файл Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.ANSI); Строка = Текст.ПрочитатьСтроку(); Пока Строка <> Неопределено Цикл Строка = Текст.ПрочитатьСтроку(); Сообщить(Строка); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура СсылкаНаФайлНажатие(Элемент) // Вставить содержимое обработчика. Сообщить(ПутьКФайлу); //Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.ANSI); //Текст.Открыть(); ЗапуститьПриложение(ПутьКФайлу); КонецПроцедуры две дикорации одна пивязывает ссылку другая открывает ссылку. при открытой форме все работает. После закрытия формы ссылка стирается. Если можете, прошу помогите. |
|||
24
le_
27.09.10
✎
12:23
|
(23) А где у тебя записывается элемент справочника с измененным значением реквизита?
Ты открыл форму элемента справочника, присвоил что-то там, не записал и закрыл. Естественно, при следующем открытии формы в реквизите ничего не будет. |
|||
25
mir-mup
27.09.10
✎
13:53
|
МММ... как сделать?
строку в реквизит записать, чтобы потом прочитать его. ? |
|||
26
le_
27.09.10
✎
13:56
|
(25)
ПутьКФайлу = Диалог.ПолноеИмяФайла; ЭтотОбъект.Записать(); |
|||
27
Dmitr
27.09.10
✎
13:57
|
(0) А вот вопрос ты свою базу в вэб клиенте собираешься юзать? Если да тогда вопрос как вэб клиент будет находить твой внешний файл.
|
|||
28
mir-mup
27.09.10
✎
14:36
|
не в веб. Нужно чтобы файлы базу не раздували... (архив огромен документов будет полно многие какртинки-сканы попробуй бухгалтерам объясни что их файнридить нужно)
нужна просто ссылка. чтобы открыть по ссылке внешний файл. две кнопки привязать файл и открыть файл. Есть у кого соображения? может кто дела, поделитесь опытом скинте лит-ру где почитать можно или код, и реквизиты какие создавать. плиз очень нужно! |
|||
29
le_
27.09.10
✎
15:44
|
(28) По-моему, в этой теме уже есть всё, что нужно...
|
|||
30
mir-mup
27.09.10
✎
15:55
|
не хватает только ответа!
|
|||
31
ll13
27.09.10
✎
16:04
|
(27) Легко.
(30) Ответ тебе давно написали, только ты его прочесть и понять не в состоянии. |
|||
32
mir-mup
27.09.10
✎
16:37
|
Вы уж пожалуйста припишите куда хоть вставить или что еще дописать....
ПутьКФайлу = Диалог.ПолноеИмяФайла; ЭтотОбъект.Записать(); Ответ гдето давно написали .... на страницах интернета или в базе какой нибудь, вот только найти его в состоянии не многие .... . разжуйте пожалуйста. ПутьКФайлу = Диалог.ПолноеИмяФайла; ЭтотОбъект.Записать(); ? |
|||
33
Snorkler
27.09.10
✎
16:45
|
||||
34
le_
27.09.10
✎
17:00
|
(32) > куда хоть вставить
В модуль формы элемента справочника. При этом, "ПутьКФайлу" должен быть не просто элемент формы, а реквизит справочника. И если он таковым будет, то вот это: ЭтотОбъект.Записать(); можно не писать, а использовать вместо этого кнопочки на форме ("Записать", "ОК") или ответить положительно на вопрос о сохранении изменений, при закрытии формы. + (33) Или книжку хотя бы купи по программированию под 1С. |
|||
35
mir-mup
27.09.10
✎
17:06
|
&НаКлиенте
Перем ПутьКФайлу; &НаКлиенте Процедура ДекорацияНажатие(Элемент) //открываем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл..."; Диалог.ПредварительныйПросмотр = Ложь; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "файлы (*.doc)|*.doc"; Диалог.Каталог = "D:\"; Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; ЭтотОбъект.Записать(); Иначе Возврат; КонецЕсли; //читаем файл Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.ANSI) ; Строка = Текст.ПрочитатьСтроку(); Пока Строка <> Неопределено Цикл Строка = Текст.ПрочитатьСтроку(); Сообщить(Строка); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура СсылкаНаФайлНажатие(Элемент) // Вставить содержимое обработчика. Сообщить(ПутьКФайлу); //Текст = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.ANSI); //Текст.Открыть(); ЗапуститьПриложение(ПутьКФайлу); КонецПроцедуры ревизит ПутьКФайлу является реквизитом формы, тип неогр длинна... ? что в код добавить? ошибку выдает ,куда поставить: ЭтотОбъект.Записать(); |
|||
36
mir-mup
27.09.10
✎
17:07
|
сори является и реквизит справочника и реквизитом формы.
|
|||
37
le_
27.09.10
✎
17:16
|
&НаКлиенте
Процедура ДекорацияНажатие(Элемент) //открываем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл..."; Диалог.ПредварительныйПросмотр = Ложь; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "файлы (*.doc)|*.doc"; Диалог.Каталог = "D:\"; Если Диалог.Выбрать() Тогда Объект.ПутьКФайлу = Диалог.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура СсылкаНаФайлНажатие(Элемент) Сообщить(Объект.ПутьКФайлу); ЗапуститьПриложение(Объект.ПутьКФайлу); КонецПроцедуры |
|||
38
mir-mup
27.09.10
✎
17:24
|
Огромное спасибо. Очень долго возился. И сам бы ни как не справился. Еще раз Большое Спасибо всем кто откликнулся и помогал!
|
|||
39
le_
27.09.10
✎
17:28
|
(38) Задачка на 5 минут на самом деле.
Если планируешь дальше программированием под 1С заниматься, то либо на курсы, либо за книжками в магазин топать нужно. |
|||
40
mir-mup
27.09.10
✎
17:39
|
Просто Вы действительно долго работаете, а я и книжками обложился и по чатам и форумам рыскаю, с трудом, вроде на Ваш взгляд очень простые задачки решаю, и надеюсь что когда нибудь и Вам смогу в чем то помочь. Еще раз Большое Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |