Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отчет с разным кол-вом картинок 
:(
    Опции темы
ZneP
Дата 26.1.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 15.7.2008
Где: Россия, Москва

Репутация: нет
Всего: нет



Добрый день!


Поставили такую задачу.

Есть справочник договоров. Для каждого договора пользователь может загрузить сканы самого договора. Кол-во страниц договора (кол-во сканов/изображений) разное.

Я это сделал и все изображения хранятся в своей папке вместе с базой.


Нужно сделать еще возможность печати этих сканов, чтобы формировался отчет, а в нем каждая страница - это скан страницы договора.
Например договор состоит из 3-х страниц. Пользователь загрузил изображение каждой страницы и в дальнейшем, если он захочет распечатать его, должен формироваться отчет, где должны отображаться эти изображения.


Я даже представить не могу как это можно сделать.
Если кто знает как это сделать или если есть другие варианты реализовать это, подскажите пожалуйста.
PM MAIL ICQ Skype   Вверх
ZneP
Дата 26.1.2009, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 15.7.2008
Где: Россия, Москва

Репутация: нет
Всего: нет



Вроде как немножко разобрался.

Сделал так:

В отчете создал секцию "Картинка" где разместил объект Рисунок

при нажатии кнопки формирования отчета отрабатывает след. функция:

Функция ПечатьСкан()
    Д = СоздатьОбъект("Справочник.Договора");
    Если Д.НайтиЭлемент(ТекущийЭлемент())=1 Тогда
        Если ФС.СуществуетФайл(КаталогИБ()+"Scan\"+Д.Код+".scn")=1 Тогда
            Таб = СоздатьОбъект("Таблица");
            Таб.ИсходнаяТаблица("ПечатьСкан"); 
            Таб.ВывестиСекцию("Картинка"); 
            Флаг = 2;                                                      //Второе изображение
            Таб.ВывестиСекцию("Картинка");
            Таб.Опции(1,1,0,0);          
            Таб.ПараметрыСтраницы(,,,0,0,0,0,0,0,1);
            Таб.ТолькоПросмотр(1);
            Таб.Показать("Договор");
        КонецЕсли;
    КонецЕсли;
КонецФункции


Когда отображается отчет, то запускается еще одна функция для вывода изображений:

Процедура ЗагрузитьКартинку(Картинка)
    Если Флаг = 2 Тогда
        Картинка.Загрузить("D:\2.jpg");           //Картинка - идентификатор объекта Рисунок в отчете
    Иначе
        Картинка.Загрузить("D:\1.jpg");
    КонецЕсли;
    Картинка.РежимРисования(2);
КонецПроцедуры


Но это в случае 2 картинок. А точное кол-во картинок по каждому договору не известно


И еще перестал работать предварительный просмотр отчета. Не открывается.

Это сообщение отредактировал(а) ZneP - 26.1.2009, 13:12
PM MAIL ICQ Skype   Вверх
ZneP
Дата 26.1.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 15.7.2008
Где: Россия, Москва

Репутация: нет
Всего: нет



Разобрался с этим вопросом


Алгоритм следующий:

Есть переменные

Перем Массив[20];  //В массиве будут хранится путь к изображениям
Перем ТекЭл;     //Текущий элемент массива и картинки. Присвоил значение 1 при открытии формы.


В обработке кнопки "На печать" я прохожу циклом по кол-ву изображений данного договора (создал отдельный реквизит КолВо и вношу туда число загруженных сканов) и проверяю существования файла (имя файла выглядит как КодДоговора_НомерСкана.jpg). Если файл существует, то записываю имя файла в массив и вывожу секцию "Картинка".

В итоге выходит, что на форме у меня нужное кол-во секций, в каждой из которых есть объект Картинка, а в свойствах этого объекта прописал следующее:

ЗагрузитьКартинку(Таб.ТекущийЭлемент, ТекЭл);
ТекЭл = ТекЭл + 1;


а в модуле в процедуре ЗагрузитьКартинку(Картинка, Эл) следующий код:
Картинка.Загрузить(Массив[Эл]);
Картинка.РежимРисования(2);



Все отлично работает, даже если реальное кол-во изображений меньше, чем записано в развизите КолВо


Но все равно не отображается пред просмотр сформированного отчета. Что с ним делать?

Это сообщение отредактировал(а) ZneP - 26.1.2009, 17:47
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0388 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.