Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 05:52

Картинка в макет печати

Автор Zverff, 01 мар 2012, 22:25

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

Zverff

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

E_x

Попробуйте на вкладке "Псевдонимы" в конструкторе запроса, задать Псевдоним для поля КартинкиИФайлы.Данные, например Картинка.
Я так понимаю,картинки отбираются из регистра сведений, а пациенты из справочника.
p.s. самый лучший способ - пошаговая отладка! Ставим брейкпоинт и запускаем отчет, как вылетает в конфигуратор, жмем F10 и двигаемся по строчкам кода, параллельно открываем Табло (Ctrl+Alt+W) и копируем туда РЗ. Должен распознать как выборка из запроса, и будет значок раскрытия списка(плюсик), жмем его и видим все поля,которые содержатся в выборке.  От туда можно и имя кстати глянуть, не меняя при этом Представление.

Dethmontt

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

Zverff

Аха) я так и сделал))) Спасибо всем))) Есть еще много) В тему писать? Иль в новый?)))

Dethmontt

Если с этим никак не связано то НОВЫЙ
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Zverff

Связано, там есть несколько Картинки, как сделать что бы поля рисунки программно создать, а не вручную и не указывать кому на какие поля выходит

Dethmontt

Для этого есть Синтаксис Помощник - читай про ТабличныйДокумент
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Zverff


Zverff

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


Сделал так, там 5 поле и все работает) Можно ли как то упрастить по меньше кода?)))

Dethmontt

Ужас... Потом приходиться вот за такими "Кодерами" все переделывать...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск