| 
    
        
     
     | 
    
  | 
При печати большого числа картинок не хватает памяти | ☑ | ||
|---|---|---|---|---|
| 
    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    
     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) выводить не на отдельные страницы одного табличного документа, а в отдельные табличные документы     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |