Имя: Пароль:
1C
1С v8
Html и разрыв страницы
,
0 Zlata
 
13.09.19
09:04
Здравствуйте, подскажите пожалуйста, может кто сталкивался. Есть HTML шаблоны, заполняются программно, в том числе создается один слепленный из остальных шаблонов ШАБЛОН. Полученный ШАБЛОН при просмотре в браузере IE11 и Chrome просматривается и печатается из них с разрывом страницы, т.е. каждый шаблон с новой страницы, а из 1С(8.3.14 клиент-серверный вариант) без разрывов страницы, т.е. сплошняком. Этот один большой Шаблон и создавался, что бы пользователь один раз отправил на печать, а распечатались сразу все 25 на отдельных листах. Подскажите, может что в самом html поменять? Заголовок какой, стиль воткнуть?
Вот получаемый HTML код (в первом шаблоне текст ААААААААААААААААААААААА, во втором текст ВВВВВВВВВВВВВВВВВВВВВВВ)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>
<body>
<div style="WIDTH: auto;">
<div class="FORMAT">
 ААААААААААААААААААААААА
</div>
</div>
<div style="page-break-before:always;">
<h1></h1>
<p> </p><div style="WIDTH: auto;">
<div class="FORMAT">
ВВВВВВВВВВВВВВВВВВВВВВВ
</div>
</div>
</div>
</body>
</html>
1 Илларион
 
13.09.19
09:32
Похоже что в этом теге нужно изменить значение или удалить тег
<div style="page-break-before:always;">
2 Zlata
 
13.09.19
09:43
Без этого тега в принципе, даже из браузера не печатается на разных страницах
3 Zlata
 
13.09.19
09:47
Насколько я понимаю, он как раз и говорит, что перед каждой новой страницей вставлять разрыв страницы
4 Василий Алибабаевич
 
13.09.19
09:50
(0) "в браузере IE11 и Chrome". В 1С хрома нет вообще. А ИЕ ИМХО 7 версии. Проверяйте там.
5 Василий Алибабаевич
 
13.09.19
09:52
6 Василий Алибабаевич
 
13.09.19
10:00
+ (5) Знающие люди пишут вот такое :
"Для отображения современного HTML-контента на формах 1С можно использовать конструкцию в Head
<meta http-equiv="X-UA-Compatible" content="IE=10" />"
Насколько это работает - ХЗ.
7 Zlata
 
13.09.19
10:59
не сработало ((((
8 Zlata
 
13.09.19
11:06
в смысле вставка этого заголовка не помогла, пойду поищу старый IE
9 sitex
 
naïve
13.09.19
11:14
(1) Может после  заданного элемента, добавлять разрыв страницы , а не до
10 eklmn
 
гуру
13.09.19
11:15
(4) page-break-before поддерживается с 4 версии ИЕ
11 eklmn
 
гуру
13.09.19
11:24
надо в head ставить
  <style>
   @media print {
    div.briiik {
     page-break-before: always;
    }
   }
  </style>

...body

<div class="briiik">это разрыв<
12 Лефмихалыч
 
13.09.19
11:53
13 Zlata
 
14.09.19
06:42
(12) Стоит 1С 8.3 (8.3.14.1630)
Действительно, в отладчике можно убедиться, что "В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменится с COMОбъект на ВнешнийОбъект."
Через отладчик же
этаФорма.Элементы.ПолеHTMLДокумента.ИнформацияПрограммыПросмотра имеет значение Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/605.1 (KHTML, like Gecko)

(11) Так тоже пробовали, не работает. Из 1С не работает. Старый IE еще не нашла, в новом все работает.
14 Лефмихалыч
 
14.09.19
11:36
(13) а как именно поняли, что не работает? Как проверяли?
15 Zlata
 
16.09.19
03:37
(14) Практически )))) На форме элемент с видом Поле HTML документа, ну и путь к данным некоторая переменная. В отладчике смотрю и копирую значение этой переменной, это строка неограниченной длины. Вставляю в блокнот и сохраняю с расширением .html. Открываю в браузере и отправляю на печать, каждый маленький из составляющих шаблонов печатается на отдельной странице, как и положено. Отправляю на печать из 1С все печатается сплошняком без разрыва страниц. Программно в 1С вызов печати идет командой Элементы.ПолеHTMLДокументаПечати.Документ.defaultView.print(), но и просто, стоя на поле HTML документа курсивом и через Файл-Печать тоже без разрыва страницы печатается (((
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.