Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Печать файлов изображений из 1С 7.7 (число прочтений - 19210 )
trudyaga
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 08. Декабря 2006
Печать файлов изображений из 1С 7.7
14. Июня 2007 :: 09:03
Печать  
Всем привет.
Народ, подскажите пожалуйста можно ли из 1С 7.7 отправить на печать файл с изображением ( или несколько файлов).

В целом задача следующая: При печате счета-фактуры необходимо автоматически выводить на печать сертификаты (отсканированы в файлы) на реализуемую продукцию.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #1 - 14. Июня 2007 :: 17:50
Печать  
trudyaga писал(а) 14. Июня 2007 :: 09:03:
Всем привет.
Народ, подскажите пожалуйста можно ли из 1С 7.7 отправить на печать файл с изображением ( или несколько файлов).

В целом задача следующая: При печате счета-фактуры необходимо автоматически выводить на печать сертификаты (отсканированы в файлы) на реализуемую продукцию.


Можно.
  
Наверх
 
IP записан
 
trudyaga
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 08. Декабря 2006
Re: Печать файлов изображений из 1С 7.7
Ответ #2 - 15. Июня 2007 :: 00:03
Печать  
Arta писал(а) 14. Июня 2007 :: 17:50:
trudyaga писал(а) 14. Июня 2007 :: 09:03:
Всем привет.
Народ, подскажите пожалуйста можно ли из 1С 7.7 отправить на печать файл с изображением ( или несколько файлов).

В целом задача следующая: При печате счета-фактуры необходимо автоматически выводить на печать сертификаты (отсканированы в файлы) на реализуемую продукцию.


Можно.

Спасибо за ответ. а нельзя ли поподробнее.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #3 - 15. Июня 2007 :: 16:46
Печать  
Каков вопрос, такой и ответ.

Пробовали ли использовать штатные возможности 1С?
  
Наверх
 
IP записан
 
trudyaga
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 08. Декабря 2006
Re: Печать файлов изображений из 1С 7.7
Ответ #4 - 16. Июня 2007 :: 02:29
Печать  
Arta писал(а) 15. Июня 2007 :: 16:46:
Каков вопрос, такой и ответ.

Пробовали ли использовать штатные возможности 1С?


Штатные возможности 1С позволяют только открыть файл (ЗапуститьПриложение()), Есть еще КомандаСистемы (), но там помоему результат будет тот же. Из небольшого количества просмотровщиков, изученных мной, использующих параметры командной строки при запуске, вывод на печать и закрытие не поддерживает ни один.
Поэтому и обратился сюда, попросить совета у людей опытных...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #5 - 16. Июня 2007 :: 04:57
Печать  
1. В макет таблицы вставить картинку.

2. В свойствах картинки на закладке "Текст" пишем:
Код
Выбрать все
ПриВыводиКартинки(Таб.ТекущийОбъект,Файл) 


3. В модуле реализуем эту процедуру:
Код
Выбрать все
Процедура ПриВыводиКартинки(Картинка,Файл)
	Картинка.РежимРисования(3);
	Картинка.Загрузить(Файл);
КонецПроцедуры 


4. Выводим таблицу:
Код
Выбрать все
Файл=КаталогСКартинками+"картинка.jpg";
Таб=СоздатьОбъект("Таблица");
Таб.Вывести();
Таб.Показать(); 

  

1&&2&&3
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #6 - 16. Июня 2007 :: 08:41
Печать  
Один большой минус штатного способа это отсутствие возможности автоматического масштабирования картинки, согласно ее размеру Печаль

Я в сложных случаях вывожу через IE и html.


Код
Выбрать все
IE = createobject("InternetExplorer.Application");
IE.Navigate("about:blank");
WIA = СоздатьОбъект("WIA.ImageFile");

Путь = "\\tss\share\ScanCopy\";
тзЖурнал.ВыбратьСтроки();
HTML = "";
ТекВысота = 0; Count = 0;
Пока тзЖурнал.ПолучитьСтроку() = 1 Цикл
	Если тзЖурнал.Пикт = 1 Тогда Продолжить КонецЕсли;
	Док = тзЖурнал.Док;
	ИмяФайла = Путь + СокрЛП(тзЖурнал.IMEI) + ".jpg";
	Если ФС.СуществуетФайл(ИмяФайла) = 0 Тогда
		Сообщить("Не найдено изображение для " + СокрЛП(тзЖурнал.Модель) + " " + тзЖурнал.IMEI);
		Продолжить;
	КонецЕсли;

	WIA.LoadFile(ИмяФайла);
	HorizontalResolution = WIA.HorizontalResolution;
	VerticalResolution = WIA.VerticalResolution;

	Ширина = Цел(HorizontalResolution * 8.125);
	Высота = Цел(WIA.Height * 100 / WIA.VerticalResolution);

	ТекВысота = ТекВысота + Высота;
	Count = Count + 1;
	Если (ТекВысота >= 935) ИЛИ (Count = 2) Тогда
		ТекВысота = 0;
		Count = 0;
	КонецЕсли;

	HTML = HTML + "
		|<DIV>
		|	<table cellpadding=0 cellspacing=0 border=1>
		|		<tr>
		|			<td width=" + Ширина + " height=" + WIA.Height + " valign=top background='file:" + ИмяФайла + "' style='background-repeat:no-repeat; " + ?(ТекВысота <> 0, "", "page-break-before:always") + "'>
		|				<table cellspacing=0 cellpadding=0>
		|					<tr>
		|						<td bgcolor=#FFFFFF  style='height: 12px; padding-left: 1px; padding-right: 1px; font-size: 14px; font-weight: normal; font-family: Verdana, sans-serif;'><b>Заказ-наряд: " + тзЖурнал.Заказ + " Модель: " + СокрЛП(тзЖурнал.Модель) + " SN: " + тзЖурнал.IMEI + " Дата продажи: " + ?(ПустоеЗначение(тзЖурнал.ДатаПродажи) = 1,"Предторг", Строка(тзЖурнал.ДатаПродажи)) + "</b></td>
		|					</tr>
		|				</table>
		|			</td>
		|		</tr>
		|	</table>
		|</DIV>
		|";

КонецЦикла;
IE.document.write(HTML);

//OLECMDID = 6; // Печать
//OLECMDID = 8; // ПараметрыСтраницы
OLECMDID = 7; // Просмотр
//oIE.FullScreen = -1;
IE.Visible = -1;
IE.ExecWB(OLECMDID, 2); // Выполнить комманду
IE.FullScreen = 0;
 

  
Наверх
 
IP записан
 
trudyaga
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 08. Декабря 2006
Re: Печать файлов изображений из 1С 7.7
Ответ #7 - 17. Июня 2007 :: 07:20
Печать  
Большое спасибо.
Первый пример уже опробывал все работает наверно на нем и остановлюсь.
Второй обязательно сохраню на всякий случай.
Еще раз огромное спасибо.
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Печать файлов изображений из 1С 7.7
Ответ #8 - 20. Июня 2007 :: 12:52
Печать  
trudyaga писал(а) 17. Июня 2007 :: 07:20:
Большое спасибо.
Первый пример уже опробывал все работает наверно на нем и остановлюсь.
Второй обязательно сохраню на всякий случай.
Еще раз огромное спасибо.


Сказали же - 1С искажает картинку (растягивает или сжимает) Улыбка
  
Наверх
 
IP записан
 
trudyaga
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 08. Декабря 2006
Re: Печать файлов изображений из 1С 7.7
Ответ #9 - 20. Июня 2007 :: 15:11
Печать  

У меня все картинки Формата А4 поэтому ни чего не "растягивает" и ни чего не "сжимает"
  
Наверх
 
IP записан
 
DIMAS
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 18. Ноября 2009
Re: Печать файлов изображений из 1С 7.7
Ответ #10 - 18. Ноября 2009 :: 02:26
Печать  
Arta писал(а) 16. Июня 2007 :: 08:41:
Один большой минус штатного способа это отсутствие возможности автоматического масштабирования картинки, согласно ее размеру Печаль

Я в сложных случаях вывожу через IE и html.


Код
Выбрать все
IE = createobject("InternetExplorer.Application");
IE.Navigate("about:blank");
WIA = СоздатьОбъект("WIA.ImageFile");

Путь = "\\tss\share\ScanCopy\";
тзЖурнал.ВыбратьСтроки();
HTML = "";
ТекВысота = 0; Count = 0;
Пока тзЖурнал.ПолучитьСтроку() = 1 Цикл
	Если тзЖурнал.Пикт = 1 Тогда Продолжить КонецЕсли;
	Док = тзЖурнал.Док;
	ИмяФайла = Путь + СокрЛП(тзЖурнал.IMEI) + ".jpg";
	Если ФС.СуществуетФайл(ИмяФайла) = 0 Тогда
		Сообщить("Не найдено изображение для " + СокрЛП(тзЖурнал.Модель) + " " + тзЖурнал.IMEI);
		Продолжить;
	КонецЕсли;

	WIA.LoadFile(ИмяФайла);
	HorizontalResolution = WIA.HorizontalResolution;
	VerticalResolution = WIA.VerticalResolution;

	Ширина = Цел(HorizontalResolution * 8.125);
	Высота = Цел(WIA.Height * 100 / WIA.VerticalResolution);

	ТекВысота = ТекВысота + Высота;
	Count = Count + 1;
	Если (ТекВысота >= 935) ИЛИ (Count = 2) Тогда
		ТекВысота = 0;
		Count = 0;
	КонецЕсли;

	HTML = HTML + "
		|<DIV>
		|	<table cellpadding=0 cellspacing=0 border=1>
		|		<tr>
		|			<td width=" + Ширина + " height=" + WIA.Height + " valign=top background='file:" + ИмяФайла + "' style='background-repeat:no-repeat; " + ?(ТекВысота <> 0, "", "page-break-before:always") + "'>
		|				<table cellspacing=0 cellpadding=0>
		|					<tr>
		|						<td bgcolor=#FFFFFF  style='height: 12px; padding-left: 1px; padding-right: 1px; font-size: 14px; font-weight: normal; font-family: Verdana, sans-serif;'><b>Заказ-наряд: " + тзЖурнал.Заказ + " Модель: " + СокрЛП(тзЖурнал.Модель) + " SN: " + тзЖурнал.IMEI + " Дата продажи: " + ?(ПустоеЗначение(тзЖурнал.ДатаПродажи) = 1,"Предторг", Строка(тзЖурнал.ДатаПродажи)) + "</b></td>
		|					</tr>
		|				</table>
		|			</td>
		|		</tr>
		|	</table>
		|</DIV>
		|";

КонецЦикла;
IE.document.write(HTML);

//OLECMDID = 6; // Печать
//OLECMDID = 8; // ПараметрыСтраницы
OLECMDID = 7; // Просмотр
//oIE.FullScreen = -1;
IE.Visible = -1;
IE.ExecWB(OLECMDID, 2); // Выполнить комманду
IE.FullScreen = 0;
 



При IE.document.write(HTML); выдает ошибку htmlfile: Неожиданный вызов метода или обращение к свойству.
Подскажите где копать и в чем может быть проблема
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #11 - 18. Ноября 2009 :: 05:48
Печать  
как в IE знаю.

subj можно решить также с помощью
Йоксел ,  activebmp(только bmp файлы )
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Печать файлов изображений из 1С 7.7
Ответ #12 - 18. Ноября 2009 :: 13:19
Печать  
Еще можно работать с картинками с помощью библиотеки GflAx. Примеры я приводил. Ну скажем здесь: http://infostart.ru/public/16289/ http://infostart.ru/public/15599/
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать