gifts2017

Гиперссылки на форме 7.7

Опубликовал Алексей Плутенко (Noy) в раздел Программирование - Работа с интерфейсом

Класс позволяет использовать ссылки на формах.
Поддерживаются ссылки на http, ftp, файлы, внутренние объекты (документы, элементы справочников), код на языке 1С.

Создание ссылки:

В конфигураторе на форму добавляем элемент типа "Текст". В поле Подсказка пишем тип ссылки (одно из "http://","ftp://","file://","v7ID://","v7Code://") и значение ссылки. Если ссылка длинная, то можно значение ссылки прописать в поле Описание. Делаем оформление на свой вкус (например шрифт с подчеркиванием синего цвета).

В модуль формы добавляем одну переменную

Перем ГиперСсылка;

и две строчки в процедуру ПриОткрытии

ГиперСсылка=СоздатьОбъект("Общие.Форма.ГиперСсылки");
ГиперСсылка.Подключить(Контекст);

 

Требует наличия внешних компонент 1СPP.DLL и Formex.dll

 

PS В примере также есть класс 7.7 zoom-ZOOM Зумируем формы в 1С

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Демонстрационная база без внешних компонент
.zip 43,06Kb
25.02.13
122
.zip 43,06Kb 122 Скачать
Демонстрационная база + 1cpp.dll, Formex.dll
.zip 990,64Kb
25.02.13
63
.zip 990,64Kb 63 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Зубцов (iov) 15.03.10 23:31
2. Алексей Плутенко (Noy) 16.03.10 09:59
3. Александр Рытов (Арчибальд) 16.03.10 10:04
А без коммента плюсик берем?
4. Алексей Плутенко (Noy) 16.03.10 10:13
5. Александр Зубцов (iov) 16.03.10 10:42
(2) например формировать ссылку в модуле (например для онлайн справки как самый простой пример).
6. Епрст (Ёпрст) 16.03.10 11:23
Лень смотреть..
Чего там за 2 базы - с вк и без...
Без ВК - это что?
7. Алексей Плутенко (Noy) 16.03.10 11:26
(5) Добавил функцию:
ДобавитьСсылку(ЗаголовокРеквизита,ТипСсылки,Ссылка,Лево,Верх,Ширина,Высота,ИмяРеквизита="")
Возвращает идентификатор добавленного реквизита.

Обновил пример.

(6) Одна и та же база - просто два архива - один для тех у кого нет этих ВК, другой для тех, кто не хочет качать лишнее.
8. Александр Зубцов (iov) 16.03.10 11:56
вот теперь зачет с помощью этой хреньки можно открывать сайт контрагента кликом по ссылке или без особых заморочек определенные страницы
9. Алексей Плутенко (Noy) 16.03.10 12:01
(8) Гляди шире - я себе уже кнопочки на формах меняю (Действия, Подчиненные документы и тп) - место экономится на ура и выглядит лучше.
10. Александр Зубцов (iov) 16.03.10 12:07
(9) ну для этого и просил примерно.... Просто в зависимости от возможных действий не скрывать кнопки или менять их доступность а формировать ссылки. Инструмент есть гуд.. Будем последить за развитием...
11. Епрст (Ёпрст) 16.03.10 12:16
блин.. чего вы всё время каталогИБ добавляете в путь загрузки ВК ?
1с-ина и так сама найдет ...
12. Алексей Плутенко (Noy) 16.03.10 12:17
13. Епрст (Ёпрст) 16.03.10 12:55
Всё это можно было сделать и штатными средствами (разве что курсор не поменять), просто затратно было делать
А так - неплохо бы не выводить в подсказку ничего, ибо наводишь на реквизит и видишь \\code77 .. как-то не комильфо.
+Неплохо изменять цвет шрифта при наведении на гиперссылку.. Или менять шрифт на подчеркнутый
14. Алексей Плутенко (Noy) 16.03.10 13:09
(13) Хорошие замечания - учту. Вот только со сменой шрифта - может быть накладно по ресурсам (особенно если база в терминале)
15. Александр (mai) 17.03.10 04:43
Недавно искал такую вещь (см. http://www.forum.mista.ru/topic.php?id=462510), дали несколько советов, но реально полезного я не поимел.
А эта - похоже, то, что надо. Буду проверять. Большое спасибо автору.
Плюс
16. Епрст (Ёпрст) 17.03.10 09:18
(15) там же есть нормальный ответ.. и даже с примером..
Чем не подошел то?
17. Александр (mai) 17.03.10 10:46
(16)Там были примеры поразительные, из разряда фокусов. Я так и не понял, как они работают.
А здесь предложен понятный рабочий инструмент создания интернет-ссылок на формах 1С.
18. Епрст (Ёпрст) 17.03.10 11:59
(17) да нет там никаких "фокусов" .. на вот, более наглядный пример:
Прикрепленные файлы:
HyperE.ert
19. Александр (mai) 17.03.10 12:03
Пытаюсь проверить, выдает ошибку:
Перехватчик.ПерехватитьСобытияГК(Конт,я<<?>>());
{Обработка.ОбщиеФормаГиперСсылки.Форма.Модуль(38)}: Функция не обнаружена (я)
В чем причина?
20. Епрст (Ёпрст) 17.03.10 12:10
(19) в ошибке автора...
Никто ж не проверяет..

Перехватчик.ПерехватитьСобытияГК(Конт,Контекст);
21. Александр (mai) 17.03.10 12:14
(18) Я думал, речь идет про bg.ert, а оказывается про флажок.
Не подошло, потому что ссылка у меня должна находится в середине формы между другими полями, а не с краю
22. Александр (mai) 17.03.10 12:19
(20) Поправил, теперь выдает
ГиперСсылки=СоздатьОбъект("Общие.Форма.ГиперСсылки");
{Документ.Аукцион.Форма.Модуль(2078)}: Неудачная попытка создания объекта (Общие.Форма.ГиперСсылки)
23. Алексей Плутенко (Noy) 17.03.10 12:21
(19),(20) В свое время в примерах нашел именно такую конструкцию - да, синтаксический контроль не проходит, но видимо данная функция "я()" встроенна в 1с++. Работоспособность такого подхода подтверждена длительным личным использованием.
24. Алексей Плутенко (Noy) 17.03.10 12:22
(22) Верни взад и не обращай внимания на эту ошибку в конфигураторе.
25. Епрст (Ёпрст) 17.03.10 12:25
(21) Какая разница, где будет твоя ссылка ???
Это всё равно, для приведенного модуля.
26. Епрст (Ёпрст) 17.03.10 12:27
(23) можно писать и вирт() .. но по мне - лучше контекст
27. Епрст (Ёпрст) 17.03.10 12:28
(22) у тебя просто не загружены ВК 1c++

28. Александр (mai) 17.03.10 12:29
Вернул, но форма не открывается.
Выдается ГиперСсылки=СоздатьОбъект("Общие.Форма.ГиперСсылки");
{Документ.Аукцион.Форма.Модуль(2078)}: Неудачная попытка создания объекта (Общие.Форма.ГиперСсылки)
Этот оператор в процедуре ПриОткрытии() формы.
29. Александр (mai) 17.03.10 12:35
Виноват, не все обработки скопировал из hyper_with_dlls
Заработало.
30. Епрст (Ёпрст) 17.03.10 12:46
(21) по -поводу "в середине"..
На, смотри:

Прикрепленные файлы:
HyperE.ert
31. Александр (mai) 17.03.10 12:47
(25) Но мне не нужно, чтобы флажок был виден
32. Епрст (Ёпрст) 17.03.10 12:52
(31) а где ты его видишь???????????????!!!!!!!!
33. Епрст (Ёпрст) 17.03.10 12:53
+32 ты не порть руками обработку в пофигураторе - и всё будет нормально.
Вот для этого в bg и убрано всё с глаз долой, чтоб шаловливые ручки не портили ничего в пофигураторе.
34. Александр (mai) 17.03.10 12:55
(30) Понял, значит, я сам не сообразил.
Так будет проще, чем с ВК
35. Епрст (Ёпрст) 17.03.10 12:58
(34) не, не проще.. так трудозатратнее...
Это просто для тех, кому религия не позволяет вк использовать.
Спомощью классов всё быстрее делается.
36. Александр (mai) 17.03.10 13:21
Зато теперь мне есть из чего выбрать.
Спасибо за помощь
37. ROM (ROM_1C) 06.10.11 18:20
При старте системы - опибка
Не удалось открыть файл определения классов
D:\1$_base\defcls.prm
УН=СоздатьОбъект("УправлениеНастройками");
{Глобальный модуль(12)}: Неудачная попытка создания объекта (УправлениеНастройками)
38. Алексей Плутенко (Noy) 06.10.11 18:50
39. DimikN (DimikN) 18.12.14 09:57
Доброго времени суток

Неудачная попытка создания объекта (Общие.Форма.ГиперСсылки)


компоненты загружены

1С++ 3.2.2.0
formex 2.0.5.108
40. Алексей Плутенко (Noy) 18.12.14 14:43
(39) DimikN, В файле/обработке defcls должны быть прописаны классы.
В демонстрационной базе есть это.
41. DimikN (DimikN) 22.12.14 03:46
(40) Noy, Есть альтернативный способ получить дем. базу ? расчет через карту ? слишком много infostart просит ради одного скачивания. dimikn@mail.ru
42. Алексей Плутенко (Noy) 22.12.14 14:49
(41) Какой расчет? это бесплатный пример.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа