Получает URL к макету HTML типа или к картинке, для использования в работе с HTML-документом.
Синтаксис
ПолучитьURL(<ОбъектМетаданных>)Полное описание, параметры и ограничения
ПолеHTMLДокумента.ПолучитьURL (HTMLDocumentField.GetURL)
ПолеHTMLДокумента (HTMLDocumentField)
ПолучитьURL (GetURL)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолучитьURL(<ОбъектМетаданных>)
Параметры:
<ОбъектМетаданных> (обязательный)
Тип: ОбъектМетаданных: ОпределяемыйТип, ОбъектМетаданных: Куб, ОбъектМетаданных: ТаблицаИзмерения, ОбъектМетаданных: ВнешнийИсточникДанных, ОбъектМетаданных: Поле, ОбъектМетаданных: Таблица, ОбъектМетаданных: HTTPСервис, ОбъектМетаданных: Функция, ОбъектМетаданных: ШаблонURLHTTPСервиса, ОбъектМетаданных: Бот, ОбъектМетаданных: WebSocketКлиент, ОбъектМетаданных: ПланВидовРасчета, ОбъектМетаданных: ПланСчетов, ОбъектМетаданных: БизнесПроцесс, ОбъектМетаданных: Документ, ОбъектМетаданных: ЖурналДокументов, ОбъектМетаданных: Задача, ОбъектМетаданных: ПланВидовХарактеристик, ОбъектМетаданных: ПланОбмена, ОбъектМетаданных: РегистрБухгалтерии, ОбъектМетаданных: РегистрНакопления, ОбъектМетаданных: РегистрРасчета, ОбъектМетаданных: РегистрСведений, ОбъектМетаданных: Справочник, ОбъектМетаданных: ФункциональнаяОпция, ОбъектМетаданных: ПараметрФункциональныхОпций, ОбъектМетаданных: Команда, ОбъектМетаданных: ГруппаКоманд, ОбъектМетаданных: ХранилищеНастроек, ОбъектМетаданных: ОбщаяКоманда, ОбъектМетаданных: ЦветПалитры, ОбъектМетаданных: СервисИнтеграции, ОбъектМетаданных: WebСервис, ОбъектМетаданных: WSСсылка, ОбъектМетаданных: Интерфейс, ОбъектМетаданных: Константа, ОбъектМетаданных: КритерийОтбора, ОбъектМетаданных: Нумератор, ОбъектМетаданных: Обработка, ОбъектМетаданных: ОбщаяКартинка, ОбъектМетаданных: Макет, ОбъектМетаданных: ОбщийМодуль, ОбъектМетаданных: Форма, ОбъектМетаданных: Стиль, ОбъектМетаданных: Язык, ОбъектМетаданных: Отчет, ОбъектМетаданных: ПакетXDTO, ОбъектМетаданных: ПараметрСеанса, ОбъектМетаданных: Перечисление, ОбъектМетаданных: ПодпискаНаСобытие, ОбъектМетаданных: Подсистема, ОбъектМетаданных: Последовательность, ОбъектМетаданных: РегламентноеЗадание, ОбъектМетаданных: Роль, ОбъектМетаданных: ЭлементСтиля, ОбъектМетаданных: Графа, ОбъектМетаданных: Измерение, ОбъектМетаданных: ЗначениеПеречисления, ОбъектМетаданных: ОперацияWebСервиса, ОбъектМетаданных: Перерасчет, ОбъектМетаданных: ПараметрWebСервиса, ОбъектМетаданных: ПризнакУчетаПланаСчетов, ОбъектМетаданных: ПризнакУчетаСубконтоПланаСчетов, ОбъектМетаданных: Реквизит, ОбъектМетаданных: ТабличнаяЧасть, ОбъектМетаданных: Ресурс, ОбъектМетаданных: РеквизитАдресации, ОбъектМетаданных: КаналСервисаИнтеграции, ОбъектМетаданных: ОбщийРеквизит.
Объект метаданных, URL которого надо получить.
Возвращаемое значение:
Тип: Строка.
Описание:
Получает URL к макету HTML типа или к картинке, для использования в работе с HTML-документом.
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Пройти историю двух собственных HTML-макетов
Перейти принимает объект метаданных макета или его полученный URL. Назад и Вперед проверяются отдельными действиями после загрузки, без сетевых сайтов.
Где и как запускать
Полный модуль своей обычной формы с двумя собственными общими HTML-макетами; только толстый клиент.
Подготовка
Только отдельная учебная конфигурация. В Общие → Общие макеты создайте два макета типа HTML-документ: УчебнаяСтраницаКнига и УчебнаяСтраницаРучка.
Импортируйте соответственно owned-book-page.html и owned-pen-page.html из lesson-assets рядом с руководством. Обе страницы содержат только собственный текст, без JS, внешних ссылок и изображений. Обновите учебную конфигурацию.
Во внешней обработке создайте новую обычную форму, поле HTML УчебныйHTML и пять обычных кнопок: УчебнаяКнига, УчебнаяРучка, УчебнаяНазад, УчебнаяВперед, УчебнаяПроверка. Все кнопки вне HTML-поля.
ПриОткрытии свяжите с процедурой. Другие действия назначаются кодом. Полный модуль вставьте на уровне модуля формы; толстый клиент с обычными формами.
Проверка по шагам: дождитесь книги, нажмите ручку и дождитесь её, Назад и дождитесь книги, Вперед и дождитесь ручки. Проверить нажимайте отдельно после завершения каждого перехода.
Процедура ПриОткрытии()
Поле = ЭтаФорма.ЭлементыФормы.УчебныйHTML;
Поле.УстановитьРежим(РежимПоляHTMLДокумента.Просмотр);
Кнопки = Новый Структура;
Кнопки.Вставить("УчебнаяКнига", "ОткрытьУчебнуюКнигу");
Кнопки.Вставить("УчебнаяРучка", "ОткрытьУчебнуюРучку");
Кнопки.Вставить("УчебнаяНазад", "ВернутьсяКУчебнойСтранице");
Кнопки.Вставить("УчебнаяВперед", "ПерейтиВпередКУчебнойСтранице");
Кнопки.Вставить("УчебнаяПроверка", "ПроверитьЗагруженнуюСтраницу");
Для Каждого Пара Из Кнопки Цикл
ЭтаФорма.ЭлементыФормы[Пара.Ключ].УстановитьДействие("Нажатие", Новый Действие(Пара.Значение));
КонецЦикла;
Макет = ПолучитьСвойМакет("УчебнаяСтраницаКнига");
Поле.Перейти(Макет);
КонецПроцедуры
Функция ПолучитьСвойМакет(ИмяМакета)
Если ИмяМакета <> "УчебнаяСтраницаКнига" И ИмяМакета <> "УчебнаяСтраницаРучка" Тогда
ВызватьИсключение "Разрешены только два собственных учебных макета";
КонецЕсли;
Макет = Метаданные.ОбщиеМакеты.Найти(ИмяМакета);
Если Макет = Неопределено Тогда
ВызватьИсключение "Импортируйте свой HTML-макет: " + ИмяМакета;
КонецЕсли;
Возврат Макет;
КонецФункции
Процедура ОткрытьУчебнуюКнигу(Элемент) Экспорт
Макет = ПолучитьСвойМакет("УчебнаяСтраницаКнига");
ЭтаФорма.ЭлементыФормы.УчебныйHTML.Перейти(Макет);
КонецПроцедуры
Процедура ОткрытьУчебнуюРучку(Элемент) Экспорт
Поле = ЭтаФорма.ЭлементыФормы.УчебныйHTML;
Макет = ПолучитьСвойМакет("УчебнаяСтраницаРучка");
Адрес = Поле.ПолучитьURL(Макет);
Если ПустаяСтрока(Адрес) Тогда
ВызватьИсключение "Не получен адрес собственного HTML-макета";
КонецЕсли;
Поле.Перейти(Адрес);
КонецПроцедуры
Процедура ВернутьсяКУчебнойСтранице(Элемент) Экспорт
ЭтаФорма.ЭлементыФормы.УчебныйHTML.Назад();
КонецПроцедуры
Процедура ПерейтиВпередКУчебнойСтранице(Элемент) Экспорт
ЭтаФорма.ЭлементыФормы.УчебныйHTML.Вперед();
КонецПроцедуры
Процедура ПроверитьЗагруженнуюСтраницу(Элемент) Экспорт
ТекстHTML = ЭтаФорма.ЭлементыФормы.УчебныйHTML.ПолучитьТекст();
Если СтрНайти(ТекстHTML, "Книга: 3") > 0 Тогда
Сообщить("Сейчас собственная книга: 3");
ИначеЕсли СтрНайти(ТекстHTML, "Ручка: 1") > 0 Тогда
Сообщить("Сейчас собственная ручка: 1");
Иначе
Сообщить("Подождите завершения перехода и повторите проверку");
КонецЕсли;
КонецПроцедуры
Разбор по шагам
Оба макета созданы и импортированы в учебную конфигурацию. Найти проверяется до возврата объекта; функция допускает только две собственные строки.
Для книги Перейти получает объект метаданных макета. Для ручки ПолучитьURL возвращает внутренний адрес того же собственного ресурса, затем вызывается вариант Перейти по строке. ПриОткрытии загружает книгу напрямую; пять экспортных обработчиков кнопок принимают Элемент и вызываются событиями, а не вместо инициализации.
Назад/Вперед работают с историей загруженных ресурсов, не с реквизитом товара. В режиме Редактирование они недоступны: здесь явно Просмотр.
Загрузка может быть асинхронной. Команда Проверить вызывается пользователем после перехода, а не немедленно вслед за Перейти.
Проверка ищет значимый текст. Новая навигация может поменять историю; выполняйте указанную последовательность на свежей форме.
Как проверить результат
Проверить после открытия: собственная книга 3; после ручки: собственная ручка 1.
Назад → книга 3; Вперед → ручка 1. Проверка не меняет документ или историю.
Не было HTTP-адресов, запуска сценариев или обхода политики безопасности.
Ожидаемый результат
Показаны оба варианта Перейти и история реальных собственных макетов.
На что обратить внимание
До появления второй страницы у Назад может не быть нужной записи истории.
Не заменяйте внутренний URL внешним сайтом и не обходите ограничения доступа к чужому DOM.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.