|
При печати большого числа картинок не хватает памяти | ☑ | ||
---|---|---|---|---|
0
gafsa
07.07.14
✎
06:22
|
При печати большого числа картинок не хватает памяти?Кто-нибудь сталкивался?
|
|||
1
Wobland
07.07.14
✎
06:24
|
думаю, да
|
|||
2
DrZombi
гуру
07.07.14
✎
06:32
|
(1) И что с этим делать?
Как решать сею проблему? (0)А можешь показать Код? |
|||
3
gafsa
07.07.14
✎
06:37
|
Для каждого стр из Табл Цикл
МассивСтраницы = Новый Массив;//его надо обнулять в цикле ТабДок.Вывести(ОблЗаголовок); ОблПодвал.Параметры.СписокНомеровКвартир = стр.НомераКвартир; //Найдем изображение (элемент справочника ХДИ_ОР) для данной квартиры: Если не ЗначениеЗаполнено(ВыборкаОсновныхДанных.ИмяПланировки) Тогда Сообщить("Не заполнено Имя планировки для данной квартиры", СтатусСообщения.Внимание); Возврат; КонецЕсли; Запрос = Новый Запрос("ВЫБРАТЬ | ХранилищеДополнительнойИнформацииОР.ИмяФайла, | ХранилищеДополнительнойИнформацииОР.Хранилище |ИЗ | Справочник.ХранилищеДополнительнойИнформацииОР КАК ХранилищеДополнительнойИнформацииОР |ГДЕ | не ХранилищеДополнительнойИнформацииОР.ПометкаУдаления | И ХранилищеДополнительнойИнформацииОР.ВидДанных = Значение(Перечисление.ВидыДополнительнойИнформацииОбъектов.Изображение) | И ХранилищеДополнительнойИнформацииОР.Объект = &Объект | И ХранилищеДополнительнойИнформацииОР.Наименование = &Наименование"); Запрос.УстановитьПараметр("Объект", СсылкаОбъекта.ОбъектСтроительства); Запрос.УстановитьПараметр("Наименование", стр.ИмяПланировки); ХДИ = Запрос.Выполнить().Выбрать(); Если ХДИ.Следующий() Тогда //вытащим изображение Если ЗначениеЗаполнено(ХДИ.ИмяФайла) и (Лев(ХДИ.ИмяФайла, 1) <> ".") Тогда //возьми изо-ние из файла: //Надо взять и выделить из ИмяФайла само имя (с расширением), а каталог взять из константы: КаталогХранилищаФайлов = Константы.ХранилищеФайловПуть.Получить(); Подкаталог = "\Изображения\"; ДополнительныеПроцедурыОР.РазделитьИмена(ХДИ.ИмяФайла, ИмяКаталога1, ИмяСРасширением);//выделяет из полного имени файла ИмяКаталога и Имя с расширением ИмяФайлаИсточника = КаталогХранилищаФайлов + Подкаталог + ИмяСРасширением; ТекущаяКартинка = Новый Картинка(ИмяФайлаИсточника); Иначе //возьми изображение из реквизита Хранилище ТекущаяКартинка = ХДИ.Хранилище.Получить(); КонецЕсли; Иначе Сообщить("Не найден файл с планировкой для данной квартиры", СтатусСообщения.Внимание); Возврат; КонецЕсли; //Выведем изображение в ТабДок: НомерСтраницы = НомерСтраницы + 1; рис=ОбластьСередина.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); рис.Картинка=ТекущаяКартинка; Рис.Расположить(ОбластьСередина.ТекущаяОбласть); рис.Лево=2; рис.Ширина=170; рис.РазмерКартинки=РазмерКартинки.АвтоРазмер; ТабДок.Вывести(ОбластьСередина); ТабДок.Вывести(ОблПодвал); Если НомерСтраницы=Табл.Количество() Тогда ТабДок.Вывести(ОбластьПодписи); КонецЕсли; табдок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; |
|||
4
МихаилМ
07.07.14
✎
06:44
|
выводите отдельным документом
|
|||
5
SeraFim
07.07.14
✎
06:45
|
(2) что лучше поллитра зараз или 5 раз по 100?
|
|||
6
1cVandal
07.07.14
✎
06:56
|
делай в цикле, вывод с таймаутом
|
|||
7
ИС-2
naïve
07.07.14
✎
07:25
|
На клиентском компе запустить командную строку от имени администратора, прописать там следующее:
BCDEdit /set increaseuserva xxxx - вместо хххх пишите объем виртуального адресного пространства в мегабайтах, т.е. сколько нужно памяти под работу приложений. По умолчанию 2 гига. Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 - на приложения и 2 на нужды самой ОС. Я выбрал 3000 (т.е. CDEdit /set increaseuserva 3000). Однако система может подглючивать. Особенно, если у вас 2 гига оперативки, как у меня. Это для ОС семейства Windows Vista, 7, Windows 2008. Для Windows XP \ Windows 2003 пишем /3GB /userva=xxxx (xxxx в МБ в диапазоне 2048 - 3072) в файле boot.ini, рекомендуемый максимум значений userva 2900–3030. http://infostart.ru/public/147631/ |
|||
8
gafsa
07.07.14
✎
07:28
|
МихаилМ,что значит выводить отдельным документом?
|
|||
9
gafsa
07.07.14
✎
07:38
|
ИС-2,у нас 1С на удаленном рабочем столе,то бишь на сервере,всё равно командную строку на клиентском компе запускать?
|
|||
10
Stepa86
07.07.14
✎
07:43
|
||||
11
Бешеная Нога
07.07.14
✎
07:44
|
(8) выводить не на отдельные страницы одного табличного документа, а в отдельные табличные документы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |