Собственный object получает размер и пояснение, а все адреса/источники остаются пустыми. Объявление не является подтверждением установленного компонента.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте учебную базу платформы 8.5.1.1343 и серверную процедуру учебного общего модуля. Каждый пример выполняйте отдельно.
Все данные заказа вымышлены и находятся в строке. ЧтениеHTML разбирает данные, но не является браузером: форма не отправляется, ссылки не открываются, картинки не скачиваются.
Никакие файлы, адреса сайтов, токены и документы информационной базы не нужны. Не заменяйте учебную строку произвольным внешним HTML без отдельной проверки безопасности.
Индексы коллекций начинаются с нуля. Перед обращением к найденному узлу проверяйте Неопределено; перед специальными свойствами элемента проверяйте его тип.
HTML = "<html><head><title>Учебный заказ</title><meta id='meta' name='description' content='Вымышленный заказ'></head>
|<body id='body'><p id='note'>Заказ существует только в памяти</p><pre id='code'>A-01: 3
|B-02: 1</pre>
|<form id='order' name='order' action='' method='get'>
|<input id='customer' name='customer' type='text' value='Учебный покупатель'>
|<input id='accepted' name='accepted' type='checkbox' value='yes'>
|<button id='preview' name='preview' type='button' value='preview'>Предпросмотр</button></form>
|<table id='items' summary='Книга и ручка'><caption id='caption'>Товары</caption><colgroup><col id='column'></colgroup><tbody>
|<tr id='book'><td id='book-name'>Книга</td><td>3</td></tr><tr id='pen'><td>Ручка</td><td>1</td></tr>
|</tbody></table><a id='help' name='help' href='#note'>Пояснение</a><img id='logo' alt='Учебная картинка без источника'>
|</body></html>";
Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку(HTML);
Попытка
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Если ТипЗнч(Документ) <> Тип("ДокументHTML") Тогда
ВызватьИсключение "Ожидался ДокументHTML, а не XML-документ";
КонецЕсли;
Объект = Документ.СоздатьЭлемент("object");
Если ТипЗнч(Объект) <> Тип("ЭлементОбъектHTML") Тогда
ВызватьИсключение "Проверьте специальный тип собственного object";
КонецЕсли;
Объект.Имя = "guide-object";
Объект.Ширина = "320";
Объект.Высота = "120";
Объект.Выравнивание = "left";
Объект.ГоризонтальныйОтступ = 8;
Объект.ВертикальныйОтступ = 4;
Объект.Рамка = "0";
Объект.ПорядокОбхода = 0;
Объект.СообщениеПриЗагрузке = "Учебный объект без ресурса";
Объект.Объявление = Истина;
Объект.Архив = "";
Объект.БазаКода = "";
Объект.Данные = "";
Объект.Тип = "";
Объект.ТипКода = "";
Объект.ИспользоватьКарту = "";
Сообщить(Объект.Данные = "" И Объект.БазаКода = "" И Объект.Архив = "");
Сообщить(Объект.Объявление);
Сообщить(Объект.ГоризонтальныйОтступ = 8);
Сообщить(Объект.СообщениеПриЗагрузке = "Учебный объект без ресурса");Разбор по шагам
Размеры object строковые, но отступы и ПорядокОбхода числовые.
Архив, БазаКода и Данные могут описывать внешние ресурсы; в уроке очищены.
Тип и ТипКода — строковые атрибуты HTML, не функции проверки типа BSL.
Как проверить результат
Четыре сравнения Истина; ни один адрес для загрузки не задан.
Узел остаётся вне документа и не передаётся средству просмотра.
Ожидаемый результат
Изучена декларация старого встраиваемого объекта без его запуска.
На что обратить внимание
Object HTML не равно СправочникОбъект, внешней компоненте 1С или COMОбъект.
Не устанавливайте неизвестные компоненты ради этого урока.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.