Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 21:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Картинка в макет печати  (Прочитано 29454 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Здравствуйте! Вопрос такой) Как вставить картинку в макет печати. Как сделать запрос из рег. сведений, Картинки прикрепляется в документе Прием Стоматолога, что бы с каждого прием он собрал картинки по пациенту и вставил в макет печати.
Конфа 1с рарус Амбулатория


Оффлайн E_x

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 2
  • КПД: 5%
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Если картинка хранится в каком-то реквизите(хранилище данных), то ее от туда можно стянуть спокойно, и добавить  в макет.. предварительно в макете надо будет добавить поле типа картинки.
Вот примерный код(выводит 4 картинки на лист, каждая занимает 1/4 листа само собой,писал для УТ 10.2):
п=1; //переменная для подсчета картинок на листе
к=1;
Для каждого изоб Из скан Цикл  // скан - результат запроса, в котором я отбирал картинку и другую инфу(картинка хранилась в хранилище данных)
ОбластьСкана.ПолеСверху = 5; //установка полей
ОбластьСкана.ПолеСлева = 5;
ОбластьСкана.ПолеСнизу = 5;
ОбластьСкана.ПолеСправа = 5; 
Попытка
    Путь = КаталогВременныхФайлов()+ "\1С_Картинка_"+Формат(ТекущаяДата(),"ДФ=yyyyMMddЧЧммсс")+".bmp";  //так будет выглядеть имя и место хранения нашей картинки
    КартинкаВПамяти = изоб.Карт.Получить(); //тащим картинку из запроса
    КартинкаВПамяти.Записать(Путь); // записываем картинку в каталог временных файлов
Если п%2=0 тогда //если место свободно, то присоединяем картинку сбоку(2 картинки на строчке получается)
      ОбластьСкана.Рисунки.Изображение.Картинка = Новый Картинка(Путь);
   ТабДокумент.Присоединить(ОбластьСкана);
   п=п+1;                                 
иначе //иначе вставляем картинку ниже
   ОбластьСкана.Рисунки.Изображение.Картинка = Новый Картинка(Путь);
   ТабДокумент.Вывести(ОбластьСкана);
   п=п+1;
КонецЕсли;
    Если к%4=0 Тогда //если все 4 картинки есть, то делаем разрыв страницы, чтобы другие картинки не "съехали"
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();   
   Иначе
   КонецЕсли;
    Сообщить(Путь); // это для себя делал, чтобы узнать, что работает
Исключение
    ОбластьСкана.Рисунки.Изображение.Картинка = Новый Картинка; //если картинки в хранилище нет
КонецПопытки;
Будь собой - прочие роли заняты!

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
А через конструктор запроса можно?

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
 ОбластьМакета = Макет.ПолучитьОбласть("Страница6");

   Запрос = Новый Запрос("ВЫБРАТЬ
                         |   КартинкиИФайлы.ИмяФайла,
                         |   КартинкиИФайлы.Картинка,
                         |   ПриемСтоматолога.Ссылка,
                         |   ПриемСтоматолога.Пациент
                         |ИЗ
                         |   Документ.ПриемСтоматолога КАК ПриемСтоматолога
                         |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КартинкиИФайлы КАК КартинкиИФайлы
                         |      ПО КартинкиИФайлы.Объект = ПриемСтоматолога.Ссылка");
   Запрос.УстановитьПараметр("Картинка", СсылкаНаОбъект.Ссылка);   
   //   
   //Выборка = Запрос.Выполнить().Выбрать();
   //
   //Если Выборка.Следующий() Тогда
   //   ОбластьМакета.Параметры.Картинка = Выборка.Картинка;
   //КонецЕсли;
   ТабДокумент.Вывести(ОбластьМакета);
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
не канает

Оффлайн E_x

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 2
  • КПД: 5%
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Если я не ошибаюсь, вы не правильно в область макета картинку передаете.
ОбластьМакета.Параметры.Картинка = Выборка.Картинка; - это как будто обычный параметр, а должно выглядеть так:

ОбластьМакета.Рисунки.Изображение.Картинка = Выборка.Картинка; где Рисунки - область рисунка на макете, Изображение - имя этой области(задается в свойствах), Картинка - свойство, в котором хранится само изображение.

Хотя если следовать примеру во втором сообщении, то должно выглядеть примерно так:

ОбластьМакета = Макет.ПолучитьОбласть("Страница6");

   Запрос = Новый Запрос("ВЫБРАТЬ
                         |   КартинкиИФайлы.ИмяФайла,
                         |   КартинкиИФайлы.Картинка,
                         |   ПриемСтоматолога.Ссылка,
                         |   ПриемСтоматолога.Пациент
                         |ИЗ
                         |   Документ.ПриемСтоматолога КАК ПриемСтоматолога
                         |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КартинкиИФайлы КАК КартинкиИФайлы
                         |      ПО КартинкиИФайлы.Объект = ПриемСтоматолога.Ссылка");
   Запрос.УстановитьПараметр("Картинка", СсылкаНаОбъект.Ссылка);   
     
   Выборка = Запрос.Выполнить().Выгрузить();
   
   Для каждого изоб Из Выборка Цикл  // скан - результат запроса, в котором я отбирал картинку и другую инфу(картинка хранилась в хранилище данных)
ОбластьМакета.ПолеСверху = 5; //установка полей
ОбластьМакета.ПолеСлева = 5;
ОбластьМакета.ПолеСнизу = 5;
ОбластьМакета.ПолеСправа = 5; 
Попытка
    Путь = КаталогВременныхФайлов()+ "\1С_Картинка_"+Формат(ТекущаяДата(),"ДФ=yyyyMMddЧЧммсс")+".bmp";  //так будет выглядеть имя и место хранения нашей картинки
    КартинкаВПамяти = изоб.ИмяФайла.Получить(); //тащим картинку из запроса
    КартинкаВПамяти.Записать(Путь); // записываем картинку в каталог временных файлов
    ОбластьМакета.Рисунки.Изображение.Картинка = Новый Картинка(Путь);
    ТабДокумент.Вывести(ОбластьМакета);
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();   
Исключение
    ОбластьМакета.Рисунки.Изображение.Картинка = Новый Картинка; //если картинки в хранилище нет
КонецПопытки;

Думаю как-то так наверно должно быть. Еще раз повторюсь, что в макете должен быть элемент РИСУНОК!, без него картинку не добавить.
Будь собой - прочие роли заняты!

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
не выходить картинки( Как с вами связаться можно?

Оффлайн E_x

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 2
  • КПД: 5%
  • Регистрация: 2011-09-12
  • Сайт: 
  • Профессия: Ученик 1С
Со мной нет смысла связываться, ведь я ученик) Полгода только работаю с 1с, но что-то уже делал(все что выкладывал - делал сам, кстати вот файлик с моим отчетом для Торговли, который вытаскивает картинки)
Будь собой - прочие роли заняты!

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Спс) Такая же история) 5 мес. токо работаю))

Оффлайн Zverff

  • ***
  • Сообщений: 108
  • РЕПУТАЦИЯ: 6
  • КПД: 6%
  • Регистрация: 2011-11-22
  • Сайт: 
  • Профессия: Программист 8.1
Не открываеться ))


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 455
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal