Имя: Пароль:
1C
1С v8
Хочу странного. Отправить на печать ПолеHTMLДокумента
,
0 H A D G E H O G s
 
31.10.12
22:50
Ночи доброй.
Собственно сабж.

Вообще ситуация забавна - опять борьба Бобра со Слоном.
1С8.2, вывод на печать дофига рисунков. Примерно на 30-40 рисунке память достигает 800 метров и рисунки не прорисовываются. Через какое то время память очищается и рисунки прорисовываются. Пробовались все варианты - хранение во ВременномХранилише, загрузка через файл, все дела...
Память уходит и не возвращается в 2 случаях (печать и вывод на экран)
1) ТабличныйДокумент.Напечатать();
2) ЭлементыФормы.ПолеТабличногоДокумента.Вывести(ТабДок);
либо
ПолеКартинки.Картинка=КартинкаНаПечать;

То есть, не освобождается контекст вывода какой то, в терминах winAPI - HDC.
1 H A D G E H O G s
 
31.10.12
22:52
Это прелюдия....
p.s. При Сталине (1cv8.1) такой куйни не было!


Проблем нет, когда рисунок выводим на экран, да и печатаем через ПолеHTMLДокумента - работает IEExplorer, который 1Снеги ласково и прозрачно впихнули в этот элемент управления..

Вот как то так

       ИмяВременогоФайла=ПолучитьИмяВременногоФайла("tmp");
       Картинка.Записать(ИмяВременогоФайла);
       Текст=
       "<HTML><HEAD>
       |<META http-equiv=Content-Type content=""text/html; charset=utf-8"">
       |<META content=""MSHTML 6.00.2900.6287"" name=GENERATOR></HEAD>
       |<BODY><IMG src="""+ИмяВременогоФайла+""" width=400 align=""middle"" border=2></BODY></HTML>";
       
       ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(Текст);
2 H A D G E H O G s
 
31.10.12
22:54
И печать:
   ЭлементыФормы.ПолеHTMLДокумента.Документ.execCommand("Print");
либо более мерзко:    ЭлементыФормы.ПолеHTMLДокумента.Перейти("javascript:window.print()");

Но открывается диалоговое окно, которое предлагает принтер, что печально...
3 H A D G E H O G s
 
31.10.12
22:55
Вообщем, скриптовики IEexplorerы, жду вас..

Счаст еще помучаюсь сохранять в pdf из ТабличногоДокумента и его как то печатать, но боюсь, там стороннюю приблуду надо приблуждать.
4 Stim
 
31.10.12
23:11
в pdf из ТабличногоДокумента сохраняет и без сторонних приблуд
5 zulu_mix
 
31.10.12
23:12
execCommand('print', false, null);
6 zulu_mix
 
31.10.12
23:18
правда хз как нулл передать
7 H A D G E H O G s
 
31.10.12
23:18
Не работает эта штука
8 H A D G E H O G s
 
31.10.12
23:24
"Независимо от того, куда вы едете — это в гору и против ветра!"

Респект Волшебнику за такие своевременные афоризмы!
9 shuhard
 
31.10.12
23:28
(7) а тупое сохранение картинок в файл и печать внешними средствами ни как не спасёт ?
10 H A D G E H O G s
 
31.10.12
23:32
(9) Нет.
11 H A D G E H O G s
 
31.10.12
23:34
Счаст попробую еще УФ-шку, но скорее всего тоже нет
12 zulu_mix
 
31.10.12
23:41
ограничение безопасности от мс - всегда выводить диалог перед печатью. смирись
13 H A D G E H O G s
 
31.10.12
23:56
Вот походу годная статья на Мелкософте, но там брррр, javascript....

http://msdn.microsoft.com/en-us/library/bb250434(VS.85).aspx



Кто бы мне помог запилить его в html документ?
14 oleg_km
 
01.11.12
09:16
(13) Не вникал, но у нас вот так:

Карта.Документ.parentWindow.Print()
15 Stepa86
 
01.11.12
09:21
я вот так кучу картинок печатал: http://infostart.ru/public/76108/
16 H A D G E H O G s
 
01.11.12
11:33
(14) Все равно диалоговое окно вылезает.
(15) Нельзя мне так делать