Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как открыть документ по гиперссылке из текстового поля ввода?

Как открыть документ по гиперссылке из текстового поля ввода?
Я
   Gorr
 
13.07.18 - 11:44
На форме есть текстовое поле в поле список документов в виде ссылок щелкая по которым пользователь открывает соответствующий документ.
Как реализовать подобное поведение?
 
 
   Гипервизор
 
1 - 13.07.18 - 11:48
А формы какие? Например, ОткрытьЗначение().
   DrWatson
 
2 - 13.07.18 - 11:50
(0) А как выглядит список ссылок в текстовом поле?
   oslokot
 
3 - 13.07.18 - 12:00
В текстовом поле такое не реализуешь, это же просто текст
Использовать можно СЗ или Хтмл
   Gorr
 
4 - 13.07.18 - 13:06
Если бы надо было сделать через сз тз или другие списочные элементы, и вопроса бы не было.
вопрос был именно про Поле HTML документа. В поле будет отображатся и просто текст и ссылки вперемешку.

Вопрос был в том как сформировать текст для такого поля не через теги,а используя объектную модель, как отловить клики на ссылки
   DrWatson
 
5 - 13.07.18 - 13:15
Адрес = ПолучитьНавигационнуюСсылку(СсылкаНаОбъект)
    СтрНадпись   = "Это текст ссылки";
    СтрТегHTML   = "a";
    СтрАтрибутHTML = " href="""+Адрес+"""";
    СтрТекст = СтрШаблон("<%1%2>%3</%1>",
               СтрТегHTML,
               СтрАтрибутHTML,
               СтрНадпись);
//СтрТекст вставлять в HTML
   DrWatson
 
6 - 13.07.18 - 13:23
Процедура ПриНажатииТекстHTML(Элемент, ДанныеСобытия, СтандартнаяОбработка) Экспорт

    Перем НавСсылка;
    
    СтандартнаяОбработка = Ложь;
    
    Если ТипЗнч(ДанныеСобытия)<>Тип("ФиксированнаяСтруктура") Тогда
        
        Возврат;
        
    КонецЕсли;
    
    ДанныеСобытия.Свойство("href",НавСсылка);
    
    Если Не ЗначениеЗаполнено(НавСсылка) Тогда
        
        Попытка
        
            НавСсылка    = ДанныеСобытия.Event.srcElement.href;
        
        Исключение
        
        КонецПопытки;
        
        Если Не ЗначениеЗаполнено(НавСсылка) Тогда
            Возврат;
        КонецЕсли;
        
    КонецЕсли;

    ПозицияНачала    = Найти(НавСсылка,"e1cib/");
    
    Если ПозицияНачала>0 Тогда
        
        НавСсылка    = Сред(НавСсылка,ПозицияНачала);
        ПерейтиПоНавигационнойСсылке(НавСсылка);
        
        Возврат;
        
    КонецЕсли;
   DrWatson
 
7 - 13.07.18 - 13:27
Правда это пример формирования тегов в тексте HTML. В HTML все теги, и объектная модель собирается из тегов и наоборот. Что значит "не через теги, а используя объектную модель"?
   Gorr
 
8 - 13.07.18 - 14:41
(7) у документа типа должен быть метод для добавления новой строки, свойство для установки заголовка. Т.е., некая оболочка позволяющая создание HTML кода без знания тегов языка разметки.
   Малыш Джон
 
9 - 13.07.18 - 14:52
(0) используй не текстовое поле, а поле табличного документа(ну раз уж все равно списки выводишь)
там ячейке можно и элемент управления установить и гиперссылку
   Gorr
 
10 - 13.07.18 - 15:29
(9) не к месту
 
 Рекламное место пустует
   Gorr
 
11 - 13.07.18 - 15:32
(9) задача показать пользователю обычный текст вот как текущий и перечислить документы, например так:
документ1 от
документ2 от
документ3 от
   Gorr
 
12 - 13.07.18 - 15:33
(9) в табличном документе обычный текст выглядит как минимум странно
   DrWatson
 
13 - 13.07.18 - 15:43
Кроме HTML ещё можно сделать надпись, в заголовке указать не обычный текст, форматированный - в нем можно делать ссылки.
   DrWatson
 
14 - 13.07.18 - 15:49
А, да! Надпись совсем не похожа на текстовое поле. Есть же ещё тип Форматированный документ, поле у него такое же как тестовое и ссылки он поддерживает.
   Малыш Джон
 
15 - 13.07.18 - 15:57
(10) ну мое дело - предложить
(11)(12) не очень понятно, что значит "странно") 

полю табличного документа(не табличному полю!) можно любой внешний вид придать, вплоть до копии текстового поля.
Как выглядят печатные формы никого же не смущает.
   Gorr
 
16 - 17.07.18 - 12:02
Всем спасибо! Форматированная строка вкупе с документом творит именно то, о чем я говорил

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует