0
Dimma
22.01.20
✎
13:24
|
Внешняя обработка. Обычные формы. Для печати используется расположенное на форме ПолеHTMLДокумента1. HTML был взят из-за того, что нужно было красивое оформление, а работа происходит на терминальном сервере, а там нет Word.
В обработке есть макет "Текст" (Тип макета - Текстовый документ) в макете документ в виде HTML кода
Все работает очень просто
Макет = ПолучитьМакет("Текст");
ТекстХТМЛ = Макет.ПолучитьТекст();
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ТекстХТМЛ);
после чего в ПолеHTMLДокумента1 появляется форматированный текст, который можно было посмотреть предварительным просмотром и там же поменять параметры страницы, например отступы от края листа. Все работало.
Но недавно мы обновили 1С с 8.14 на версию 8.15. После чего пропала возможность менять параметры страницы. Точнее поменять их 1С вроде дает, но в окне предпросмотра никак на изменения не реагирует. В итоге печать получается совсем без каких либо отступов. Что выглядит ужасно.
Частично проблему я решил просто задав в HTML коде левый и правый отступ для абзацев
<html><head>
<style>P {
PADDING-LEFT: 40; PADDING-RIGHT: 40;
}
</style>
Но проблему верхнего и нижнего отступа это не сняло, т.к. если этим способом задать, например, верхний отступ, то отступы добавляются ко всем абзацам, что портит текст, и это не влияет на отступы от краёв каждого листа при печати.
Раньше был еще способ управления параметрами страницы прямо при печати, но и он теперь перестал работать:
wsh = Новый COMОбъект("WScript.Shell");
wsh.RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\margin_bottom", "40", "REG_DWORD");
wsh.RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\margin_top", "40", "REG_DWORD");
ЭлементыФормы.ПолеHTMLДокумента1.Документ.execCommand("Print");
Теперь не знаю что и делать. Подобных отчетов очень много. Везде эта проблема. Нельзя управлять параметрами страницы.
|
|