Имя: Пароль:
1C
 
Вывод картинки проблема
0 Tarlich
 
22.03.06
22:18
Есть справочник.Сертификаты
табличная часть Изображения вот часть кода
Для Каждого Рис из Выборка.Сертификат.Изображения Цикл
ВыбФайл = Новый Файл(""+Константы.КаталогХраненияИзображений.Получить()+"\"+Рис.ИмяФайла);
Если ВыбФайл.Существует() Тогда
Сообщить("Серт "+ЙЙ+" "+Константы.КаталогХраненияИзображений.Получить()+"\"+Рис.ИмяФайла);
ПросмотрФйлов(Рис.ИмяФайла);
КонецЕсли;
КонецЦикла;
////Сама процедура просмотра  
Процедура ПросмотрФйлов(НазваниеФайла)
       ВыбФайл = Новый Файл(""+Константы.КаталогХраненияИзображений.Получить()+"\"+НазваниеФайла);
       Если ВыбФайл.Существует() Тогда
           ТабДокумент = Новый ТабличныйДокумент;    
           ТабДокумент.ИмяПараметровПечати = "Печать сканированных изображений";
           зн1=1;
           зн2=1;
           зн3=70;
           зн4=12;
           область="R"+зн1+"C"+зн2+":R"+зн3+"C"+зн4;
           МояКартинка = Новый Картинка( ""+Константы.КаталогХраненияИзображений.Получить()+"\"+НазваниеФайла);
           Рис=ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка) ;
           Индекс=ТабДокумент.Рисунки.Индекс(Рис);
           ТабДокумент.Рисунки[Индекс].Картинка = МояКартинка;
           ТабДокумент.Рисунки[Индекс].Расположить(ТабДокумент.Область(область));
           ТабДокумент.Показать();
       Иначе    
           Сообщить("Файл с изображеним "+НазваниеФайла+" не найден",СтатусСообщения.Важное);    
       КонецЕсли;
   Исключение
       Сообщить("Не удалось вывести изображение, обратитесь к разработчику",СтатусСообщения.Важное);
КонецПроцедуры


Сообщить вывожу для того что бы убедится в пути файлов
сами файлы есть
проблема в том что первые 3 файла(иногда 2) выводит нормально
остальные просто пустые
думал что первые нормальные остальные плохие файлы
сделал пропустить первые 5
опять 3 нормально остальные невидно
думал может файлы боьшие -в среднем 400 кил
Поскажите что может быть
1 Tarlich
 
22.03.06
22:26
можно ли как то передать через консоль стандартной виндовой программе что бы она напечатала рисунок может так получится?
2 Tarlich
 
22.03.06
22:28
?
3 Tarlich
 
23.03.06
11:16
Что посоветуете?
4 Tarlich
 
23.03.06
11:36
Не ужели ВАМ безразлична судьба програмиста-одним может стать меньше -))
5 Neco
 
23.03.06
12:05
Попробуйте в процедуре ПросмотрФйлов написать так:

Рис=ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка) ;
//Индекс=ТабДокумент.Рисунки.Индекс(Рис);
//ТабДокумент.Рисунки[Индекс].Картинка = МояКартинка;
//ТабДокумент.Рисунки[Индекс].Расположить(ТабДокумент.Область(область));
Рис.Картинка = МояКартинка;
Рис.Расположить(ТабДокумент.Область(область));
ТабДокумент.Показать();
6 Tarlich
 
23.03.06
12:10
Пробую по другому как написано v8: Подскажите как в 8.0 распечатать рисунок
Сделал явно макет, область и вставил картинку - то же самое теперь первые 4 выводит остальные то тоже выводит но их невидно
7 Tarlich
 
23.03.06
12:11
(5) убрать индекс?
8 Tarlich
 
23.03.06
12:23
Может попробовать передать в эксель и распечатывать из экселя?
9 Neco
 
23.03.06
13:07
А несколько картинок на одном табличном документе!
10 Tarlich
 
23.03.06
13:21
(9)Переделал сейчас в один табличный документ
   ТабДокумент = Новый ТабличныйДокумент;    
   Макет = ЭтотОбъект.ПолучитьМакет("Рисунки");
   Область = Макет.ПолучитьОбласть("Изображение");

       Пока Выборка.Следующий() Цикл
           Для Каждого Изо из Выборка.Сертификат.Изображения Цикл
               ВыбФайл = Новый Файл(""+Константы.КаталогХраненияИзображений.Получить()+"\"+Изо.ИмяФайла);
               Если ВыбФайл.Существует() Тогда
                   Сообщить("Серт "+ЙЙ+" "+Константы.КаталогХраненияИзображений.Получить()+"\"+Изо.ИмяФайла);
                   Рис=Область.Рисунки.Рис;
                   Рис.Картинка = Новый Картинка(ВыбФайл.ПолноеИмя,ЛОЖЬ);
                   ТабДокумент.Вывести(Область);
                   ЙЙ=ЙЙ+1;
               КонецЕсли;
           КонецЦикла;
       КонецЦикла;

   ТабДокумент.Показать();

Всеравно выводит только первые 4
11 Tarlich
 
23.03.06
13:22
Может добрый Волшебник чем нибудь поможет?
12 Neco
 
23.03.06
13:48
(10) ПОпробовал сделать так создал 10 файлов (1М) на диске и выполнил предложенный вами код:
ТабДокумент = Новый ТабличныйДокумент;    
   Макет = ЭтотОбъект.ПолучитьМакет("Рисунки");
   Область = Макет.ПолучитьОбласть("Изображение");

   //Пока Выборка.Следующий() Цикл
       Для Изо=1 По 10 Цикл
           ВыбФайл = Новый Файл("c:\Temp\"+Изо+".jpg");
           Если ВыбФайл.Существует() Тогда
               Сообщить("c:\Temp"+Изо+".jpg");
               Рис=Область.Рисунки.Рис;
               Рис.Картинка = Новый Картинка(ВыбФайл.ПолноеИмя,ЛОЖЬ);
               ТабДокумент.Вывести(Область);
               //ЙЙ=ЙЙ+1;
           КонецЕсли;
       КонецЦикла;
   //КонецЦикла;

   ТабДокумент.Показать();

Все 10 картинок вывелись на экран, значит что-то в получении данных
13 Tarlich
 
23.03.06
14:28
Уменьшили размер изображения до 150 кил все вывелись без проблем
14 Tarlich
 
23.03.06
14:56
Если печатаю без предварительного просмотра все ОК!