0
Andrey400
09.10.16
✎
23:58
|
1С УТ 10.3 – перестает открывать внешние файлы jpg после 15 штук.
И при этом программа 1cv8 занимает половину оперативной памяти.
Подробно:
Управление торговлей 10.3 (платформа 8.2)
Необходимо печатать фотографии .jpg из самой 1С – это сертификаты на товар.
На компьютере есть папка D:\Сертификаты в ней лежат файлы (3 Мегабайта каждый). В карточки товара есть кнопка открыть – далее открывается внутренняя обработка: «ПечатьСертификат», в которую я передаю строковое значение (ссылку на файл) например: «D:\Сертификаты\Весна-06.jpg». в этой обработке есть «макет» в котором стоит «рисунок». В итоге просто открывается табличное поле с «рисунком» можно посмотреть на него и распечатать (в ручную) ВСЕ РАБОТАЕТ. Но если открыть и закрыть (не сразу, а по очереди) более 15 сертификатов – 1С перестает их открывать, и показывает пустой прямоугольник в открывшемся табличном документе !
Приходится закрыть и снова открыть саму программу 1С, снова все будет работать.
Заметил что в диспетчере задач Windows – файл 1cv8 занимает примерно 75 мегабайт, при открывании одного сертификата файл увеличивается до 220 Мегабайт, и это с одного файла (который посмотрели распечатали и закрыли), и так постепенно файл разрастается и по достижении 1,5 – 2 Гигабайт возникает проблема. Все внутренние окна в программе закрыты, и после этого новые файлы больше не показываются. А размер файла при этом не меняется.
Очевидно причина в этом, как это можно исправить ?
Справочник «номенклатура»
//+++
Процедура ФайлСертификатОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекОбработка = Обработки.ПечатьСертификат.Создать();
ТекОбработка.Файл2 = ФайлСертификат;
ТекОбработка.ПолучитьФорму().Открыть();
КонецПроцедуры
Обработка «ПечатьСертификат»
Процедура КнопкаВыполнитьНажатие()
Таб1 = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Сертификат");
Область1 = Макет.ПолучитьОбласть("Область1");
//Рисунок
Картинка = Новый Картинка(Файл2);
Область1.Рисунки.Серт555.Картинка = Картинка;
Таб1.Вывести(Область1);
Таб1.ОтображатьСетку = 0;
Таб1.Защита = 0;
Таб1.ТолькоПросмотр = 1;
Таб1.АвтоМасштаб = 1;
Таб1.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
//Таб1.ОтображатьЗаголовки = Ложь;
Таб1.Показать();
КонецПроцедуры
|
|