1с как вывести несколько картинок в макете
Перейти к содержимому

1с как вывести несколько картинок в макете

  • автор:

Есть ли возможность печати нескольких картинок в макете?

ТабДок = Новый ТабличныйДокумент;
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
Если БутузовКлозинг = Истина Тогда
Рисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ЛоготипБутузов = Новый Картинка(«C:\сайтинг\butuzov-logo.gif»);
Рисунок.Картинка = ЛоготипБутузов;
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.Расположить(ТабДок.Область(«R1C1:R4C2»));

КонецЕсли;
Если АдрэмСтудио = Истина Тогда
ВторойРисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ЛоготипАдрэмСтудио = Новый Картинка(«C:\сайтинг\adremstudio-logo.gif»);
ВторойРисунок.Картинка = ЛоготипАдрэмСтудио;
ВторойРисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
ВторойРисунок.Расположить(?(БутузовКлозинг = Ложь,ТабДок.Область(«R1C1:R4C2»),ТабДок.Область(«R1C3:R4C4»)));
КонецЕсли;
Один раз делал вот так

Если БутузовКлозинг = Истина Тогда

Вот в цикле вывожу несколько картинок, но видно только последнюю, а предыдущие области все пустые.
Что я делаю не так?

Для Каждого ТекСтрокаТовары Из Товары Цикл
сообщить(ТекСтрокаТовары.Номенклатура) ;
ТекСерия = ТекСтрокаТовары.СерияНоменклатуры;
//получение справок из серии
сообщить(ТекСерия);
P1 = 0;
Для Каждого ТекСтрокаСправки Из ТекСерия.ФайлыСправок Цикл
СсылкаНаКартинку = ТекСтрокаСправки.Справка;
сообщить(СсылкаНаКартинку);
//первый файл — сторона A, остальные — части стороны B

Рисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
КартинкаСправки = Новый Картинка(СсылкаНаКартинку);
Рисунок.Картинка = КартинкаСправки;
Рисунок.ГраницаСлева = Ложь;
Рисунок.ГраницаСправа = Ложь;
Рисунок.ГраницаСверху = Ложь;
Рисунок.ГраницаСнизу = Ложь;
Рисунок.Защита = Истина;
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Область = ТабДок.Область(«R»+(1+60*P1)+»C1:R»+(60+60*P1)+»C12»);
Рисунок.Расположить(Область);
ТабДок.Вывести(Область);
P1 = P1 + 1;
КонецЦикла;
КонецЦикла;

Картинки во внешней печатной форме (Шапка и табличная часть)

Google выдал довольно много вариантов исполнения, но ни один из них у меня не сработал.
Поэтому решил написать эту статью, думаю начинающим специалистам будет полезно.

Итак есть два способа задать место для картинки в макете:
1) Вставить картинку в макет, как отдельный объект, обращение будет происходить по Имени



2) Привязать её к конкретной ячейке, обращение будет происходить по Параметру Картинки

В первом случае картинка не может быть больше выделенной области и при этом может быть перемещена пользователем при просмотре печатной формы.

-Пример перемещения картинки при просмотре:

-Вот так будет выглядеть изменение размера в свойствах картинки с Пропорционально на Реальный размер

Во втором случае картинка будет жестко привязана к ячейке и может растягиваться пропорционально ширине колонки. (*будет растягиваться по ширине картинки пропорционально ширине ячейки. )
Ниже пример с картинками разных размеров и пропорций.

Далее перейдем непосредственно к коду обработки

Функция, формирующая печатную форму:

Здесь нас интересует только вторая и третья (закомментированная) строки.

необходима для того, чтобы картинки не выходили за границы листа при печати

позволят распечатать макет в альбомной ориентации по умолчанию.

Вывод картинки на форму рассмотрим на примере табличной части так как в обоих случаях код практически идентичен.

В 4ой строке находим файл картинки в базе

ТекущаяСтрока.Номенклатура — Ссылка на необходимый элемент справочника

“ФайлКартинки” – Наименование реквизита содержащего картинку

В 5ой строке проверяем наличие картинки в вышеуказанном реквизите. Без этого при попытке печати форма выдаст ошибку, если хоть одна из картинок не заполнена.

ФайлКартинки . Наименование – проверяемый реквизит, если файла картинки нет, то его наименование будет не заполнено.

С 6-ой по 13-ую строки (как и 4-ая) фрагмент типового кода УТ 11.4 отвечающего за печать картинок

И наконец непосредственно помещение картинки на макет:
Для первого способа:

Для второго способа:

Всё готово, вы великолепны !
Образец обработки будет в прикрепленных файлах.

Картинки табличного документа 1С

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

Вставить картинку в табличный документ 1С

Научимся вставлять картинки в макет табличного документа 1С. Для того, чтобы вставить картинку в табличный документ необходимо воспользоваться командой «Картинка…» тогда, когда табличный документ открыть и на нем установлен фокус. Команда «Картинка…» находится по следующему пути в конфигураторе 1С: «Главное меню – Таблица — Рисунки».

Вставить картинку в табличный документ 1С

Откроется окно «Выбор картинки».

Вставить картинку в табличный документ 1С

В этом окне есть несколько вариантов выбора. В закладке «Из библиотеки» мы можем выбрать или общую картинку конфигурации, или стандартную картинку платформы 1С.

На закладке «Из файла» мы можем загрузить нужную картинку из файловой системы.

Вставим картинку из файла. Для этого на закладке «Из файла» следует нажать на кнопку «Выбрать файл».

Вставить картинку в табличный документ 1С

Найти нужный файл в открывшемся окне «Выбор картинки».

Вставить картинку в табличный документ 1С

После выбора рисунка, вы можете сделать белый цвет прозрачным. Для этого следует нажать на кнопку «Установить прозрачный цвет», после этого ваш курсор станет «карандашом», и этим курсором необходимо кликнуть по белому цвету картинки.

Вставить картинку в табличный документ 1С

В результате, белый цвет уйдет.

Вставить картинку в табличный документ 1С

После нажатия на кнопку «Ок» окна «Выбор картинки», картинка отобразится в табличном документе.

Картинки табличного документа 1С

Заметьте, что вокруг вставленной картинки имеется рамка. Для того, чтобы убрать эту рамку, откроем палитру свойств картинки.

И в свойстве Линия установим значение «Нет линии».

Картинки табличного документа 1С

В результате, рамки во круг картинки не станет.

Картинки табличного документа 1С

Добавим макету область, создадим форму, команду формы, в которой будем выводить табличный документ на просмотр.

И посмотрим, как выведется наш табличный документ с картинкой.

Картинки табличного документа 1С

Вывести картинку в табличный документ 1С

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

В этой статье Вы узнаете, как загружать и хранить картинки в хранилище значений:

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

Реквизит справочника

В этом реквизите хранятся картинки.

Картинка в справочнике 1С

Теперь, сделаем табличный документ, на котором будет выводиться информация об контрагенте, а также картинка, которая привязана к этому контрагенту.

Есть несколько способов вывода картинки на табличный документ, разберем один из них.

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

Макет табличного документа 1С

Теперь, в макет добавим пустую картинку. Нам следует выполнить команду «Рисунок…» по уже знакомому пути «Главное меню – Таблица — Рисунки», но не выбирать ни какую картинку ни где, а просто нажать на кнопку «Ок».

Вывести картинку в табличный документ 1С

Будет добавлена пуста картинка (скорее всего, она будет маленького размера).

Вывести картинку в табличный документ 1С

Откроем палитру свойств этой картинки, изменим имя, уберем рамку и установим авторазмер картинки.

Вывести картинку в табличный документ 1С

Всё! Макет готов, теперь создадим на управляемой форме реквизит Контрагент, поле ввода контрагента, а также команду для вывода табличного документа.

Управляемая форма 1С

Создадим обработчик команды и функцию, в которой будем выводить в табличный документ данные контрагента.

Мы получили данные контрагента через запрос. Обращаю ваше внимание на поле «Контрагенты.Логотип КАК Логотип», так мы получаем хранилище значения. Пока все вывели табличный документ без рисунка. Реализуем возможность вывода рисунка. Для этого, вставим после вывода параметров области (ИНН,КПП, название) следующий код.

В этом коде, из хранилища значений, которое в поле Логотип выборки, получим двоичный файл (//1). Потом создадим объект Картинка конструктором на основе двоичных данных (//2), вторым параметром Истина мы установили прозрачность картинки. И присвоим свойству Картинка рисунку области табличного документа, который мы добавили пустым, созданную картинку (//3).

По сути, мы программным способом «загрузили» картинку в свойство Картинка созданного нами пустого рисунка.

Картинка табличного документа 1С

Если мы сейчас попробуем показать этот табличный документ, то на нем отобразится картинка.

Картинка табличного документа 1С

Рассмотрим ещё, как программным способом вывести общую картинку. Например, в моей конфигурации имеется общая картинка под названием «Общий логотип».

Общая картинка конфигурации 1С

Выведем эту картинку в уже созданный ранее табличный документ.

Для этого, также как и в первый раз, добавим на табличный документ пустую картинку, которую назовем ОбщийЛоготип, и у которой уберем обводку.

Картинка табличного документа 1С

Нам осталось вывести эту картинку при формировании табличного документа. Делается это гораздо проще, чем с картинкой из хранилища значений: просто присваиваем свойству Картинка, вновь добавленному рисунку табличного документа, общую картинку из библиотеки картинок.

После этого, общая картинка будет выведена в табличный документ.

Картинка табличного документа 1С

Другие статьи про табличные документы в 1С:

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

Это изображение имеет пустой атрибут alt; его имя файла - 1C-в-желтом-цвете-3D-221x300.png

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Это изображение имеет пустой атрибут alt; его имя файла - 1_в-желтом-цвете-3D-маленькая-221x300.jpg

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Простая инструкция – как вывести изображения в отчетах на СКД

Сегодня мы рассмотрим решение интересной задачи – вывод картинок в отчет.

Для чего это может быть полезно?

Вот несколько примеров:

  • Прайс-лист с картинками товаров и логотипом в шапке
  • Анкеты сотрудников с фотографиями
  • Сверка расчетов с печатью и подписью в подвале
  • Отчеты/печатные формы со сканом печати

В видео мы также разбираем программное формирование отчета на СКД. Такой способ формирования отчетов используется в типовых конфигурациях – это еще одна причина посмотреть его внимательно : )

Предопределенные макеты в СКД

С помощью предопределенных макетов можно переопределять стандартное оформление отчета.

В этом уроке помимо постановки задачи рассмотрим:

  • Хранение бинарных данных в модельной конфигурации
  • Возможность использования макетов СКД для вывода изображений

Программное формирование отчета на СКД

Чтобы решить задачу вывода изображений в отчет на СКД, необходимо его сформировать программно.

Именно при программном формировании отчета возможно обратиться к бинарным данным.

В ходе этого урока выполним:

  • Вывод результата компоновки в табличный документ
  • Использование объекта ДанныеРасшифровки
  • Получение бинарных данных из базы
  • Программное создание рисунков в табличном документе

Отображение картинки в отчете СКД

В этом уроке выполняем финальные действия: полученные ранее бинарные данные выводим в отчет.

Для этого рисунок добавляется в табличный документ, после чего он выводится в отчет.

Универсальность алгоритма вывода картинок

Разработанный алгоритм вывода изображений является универсальным – при любом изменении структуры отчета алгоритм продолжает работать.

Собственно, это мы и докажем в данном уроке.

Кроме этого, рассмотрим особенность фонового формирования отчета на СКД (построение отчета с помощью регламентных заданий).

Вывод изображения в шапке отчета

Часто в шапке или подвале отчета нужно вывести статичную картинку.

Казалось бы, простая задача, но в случае с СКД нужно знать, как ее решить:

  • Шаг 1. Программно формируем отчет
  • Шаг 2. Создаем отдельный макет с нужной шапкой или подвалом
  • Шаг 3. Перед заполнением отчета СКД выводим секцию с нужными данными.

В этом видео наглядно показано решение задачи.

Приятного просмотра! 🙂

Последние несколько дней мы публикуем материалы по СКД.

А что если программист/внедренец 1С не знает СКД? Может, это реально не так важно?

Ok, давайте рассмотрим, что будет ждать специалиста, который пишет отчеты «на коленке» (например, с помощью ручного вывода в табличный документ).

Не стреляйте в пианиста, он играет, как умеет.

Отчеты практически во всех типовых конфигурациях базируется на СКД.

Для специалиста без знаний СКД доработка типовых отчетов становится лотереей – почему и как в отчете выводится та или иная цифра, как добавить новые источники, где в коде править расчетные цифры…

СКД – стандарт отчетов в типовых конфигурациях, и 1С не пишет комментарии в расчете на тех, кто стандарты еще так и не изучил 🙂

Куча времени к черту…

Без СКД разработка отчетов выполняется во многом вручную.

Это, конечно, круто – выйти как рембо с отверткой в зубах и типа сделать всех 🙂

В результате – большие трудозатраты на разработку отчета и его отладку. И любого руководителя/ заказчика это будет как минимум настораживать: “странно, а он точно в этом разбирается??”

А если речь заходит о последующей доработке отчета, это часто становится головной болью (особенно, если это чужой отчет)…

Развивающие поездки к клиентам, чтобы поменять группировку в отчете

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

А пользователи могут донастраивать такие отчеты без привлечения программиста, формировать несколько вариантов представления – диаграммы, графики, списки, таблицы.

Добиться такой универсальности в отчетах, построенных программно, невозможно в разумные сроки.

Поэтому – звонок, трамвай, поехали… Это такой профессиональный рост для 1С-ника…

“У вас нет такого же, но с перламутровыми пуговицами? – К сожалению – нет…” (с)

А если какие-то данные нужно получить из другой системы – из другой базы 1С или вообще не из 1С?

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

Без СКД внешние данные будут получаться программно и не самым тривиальным способом.

Если Вы хотите профессионально освоить СКД и ежедневно применять в своей работе, записывайтесь на курс:

Поддержка – 2 месяца. Объем курса – 34 учебных часа.

Не откладывайте свое обучение!

Комментарии / обсуждение (50):

А если я вывожу печатные формы с картинкой в шапке нескольких документов? Тогда как вставлять картинку, если это не отдельное поле и не шапка всего табличного документа?

Добрый день!
В таком случае предлагаю при помощи СКД только получать необходимые для формирования печатной формы данные, а выводить эти данные в табличный документ при помощи программного кода и заранее подготовленного макета. Тогда можно при выводе разместить картинку в произвольной ячейке.

А если в макет нужно встроить печать и подпись поверх текста, а не в ячейку, как это можно сделать? Можно ли вообще размещать объект “Рисунок” в своём макете на СКД (имею ввиду, чтобы он вывелся, размещать то можно) ?

Добрый день!
В процедуре ПриКомпоновкеРезультата можно отключить стандартную компоновку отчета, скомпоновать его самостоятельно и программно доработать получившийся табличный документ – разместить в нем рисунки с печатью и подписью.

Добрый вечер. Справилась с прайсом для Розницы, но отчет выводится дважды: первый раз с картинкой, как нужно, ниже на экране такой же отчет (включая информацию об отборе), но в таблице вместо картинки имя файла. Что то можете посоветовать?

Добрый день!
Предполагаю, что в процедуре ПриКомпоновкеРезультата в модуле объекта не указано

В таком случае сначала выводится отчет с Вашей программной обработкой, по Вашему алгоритму. А затем платформа выполняет стандартную компоновку этого же отчета, поскольку стандартная обработка не отключена. Получается, что фактически отчет выводится дважды.
В таком случае нужно в процедуру ПриКомпоновкеРезультата добавить строку кода:

Добрый день! Подскажите, не понял с 1 видео-уроком. Как картинка хранится в справочнике, в табличной части справочника, что за элемент? Или картинка по ссылке загружена с файла в базу и хранится в справочнике? Вообщем, непонятно. Помогите разобраться пожалуйста.

Добрый день!
В демо-конфигурации в справочнике Товары есть реквизит ФайлКартинки. Это ссылка на справочник ХранимыеФайлы. В этом справочнике есть реквизит ДанныеФайла (тип – ХранилищеЗначения). В этом реквизите и хранятся двоичные данные картинки.

Василий, добрый день! То, что Вы написали – это понятно, у меня так и было установлено, всё по аналогии с видео-уроком. Вопрос в другом: как программа понимает, какие именно картинки нужно отобразить, откуда загружаются картинки: с базы или с жёсткого диска компьютера? Потому что у меня в итоге, в отчете отобразилась пустая рамка в ячейке колонки “Картинка” без картинки.

Картинки загружаются из базы, из реквизита с типом ХранилищеЗначения.
Все действия выполняются в процедуре ПриКомпоновкеРезультата, где и размещаем картинку в ячейку табличного документа.

Значит с жёсткого диска картинка в базу загружается?. На видео я видел синюю ссылку “Загрузить файл с диска”. Я так понял, что при нажатии на эту ссылку, файл картинки загружается и сохраняется в базе?

Пользователь берет файл картинки с жесткого диска, загружает его в базу. Исходный файл можно после этого удалить. Для построения отчета используются двоичные данные картинки, которые хранятся в самой базе в реквизите с типом ХранилищеЗначения.

Доброго дня, понравился ваш урок. Подскажите, можно у вас приобрести данную обработку полностью (прайс-лист с картинками и шапкой) для ут11.3?

Добрый день!
В видеоуроке создается отчет для демо-конфигурации Управляемое приложение. Для УТ 11 он не подойдет, потому что структура данных в этих конфигурациях отличается.
Предоставление отчетов, которые использовались для записи видео, не предусмотрено.

Добрый день! Пытаюсь вашим способом вытащить картинки в отчет остатков на складах Розница 2,2, при отладке в поле Картинка в значении “Невозможно определить тип картинки”, и в отчете выходит просто имя файла картинки, я не могу понять в каком реквизите хранит файл Розница, нашел в справочнике НоменклатураПрикрепленныефайлы реквизит ФайлХранилище с типом ХранилищеЗначений, думал так сделать

Если ТипЗнч(ХранимыйФайл) = Тип(“СправочникСсылка.НоменклатураПрисоединенныеФайлы”) Тогда

Картинка = Новый Картинка(ХранимыйФайл.ФайлХранилище.Получить());

на что получаю так же имя файла в отчете

Добрый день!
Возможно, в Вашем случае картинки товаров хранятся не в самой базе, а как файлы на диске. А в базе только хранится путь к файлу.
В справочнике НоменклатураПрикрепленныефайлы анализируйте реквизиты ТипХраненияФайла (В томах на диске или В информационной базе), Том, ПутьКФайлу.

В таком случае нужно обратиться к регистру сведений ПрисоединенныеФайлы. В ресурсе ХранимыйФайл и будут записаны двоичные данные картинки.

Так в том то и дело, что такого регистра нет(

В УТ 11 сейчас смотрел – регистр именно так и называется.
Розницу 2.2 открыл (правда отраслевую), там тоже есть этот же регистр сведений ПрисоединенныеФайлы.

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

Добрый день! Проблему решил, спасибо, но чуть по другому, в Рознице 2,2 есть регистр ДвоичныеДанныеФайлов вот в нем как раз то и храниться картинка.

Добрый день!
Отлично, что разобрались!

Здравствуйте, Василий. В третьем видео вы показываете, как можно сделать произвольную шапку в отчете на СКД. Если используется отчет с произвольным количеством колонок (например, отчет по продажам за каждый месяц), шапка, нарисованная в отдельном макете, начинает “съезжать” то вправо, то влево, в зависимости от количества этих самых колонок. Можно ли как-то побороть это?

Добрый день!
Можно попробовать применить метод, описанный на странице 17 вопросов и ответов по СКД, проектированию форм, навигации, панелям и т.п. (вопрос 7 по СКД). Используется макет заголовка, в ячейках указываются специальные “маркеры” — символы “??”, которые точно не встретятся нигде в отчете. После того, как весь табличный документ выведен, осуществляется поиск соседних ячеек с одинаковым текстом, начинающимся с “??”. Эти ячейки объединяются, получается общая шапка для колонок. В таком случае шапка не съедет, а одинаковые значения в заголовках будут объединены для более красивого внешнего вида отчета.

Полезный пример, жаль только, так и не понял зачем тогда в свойствах ячейки параметр “ПараметрКартинки”

Добрый день!
Этот параметр не используется системой компоновки. Если Вы укажете значение этого параметра, закроете конструктор схемы компоновки, а затем заново его откроете, то значение параметра будет пустое. Т.е. система не использует его для работы.

он не будет пустым, он сдвинется вниз на строку

Добрый день!
Не воспроизвелось такое поведение. На платформе 8.3.19 параметр отображается в списке параметров макета:
Макет
Раньше ПараметрКартинки не использовался конструктором схемы компоновки (проверил на 8.3.12).

Спасибо огромное.
С картинками все получилось.
Попыталась по аналогии сделать с диаграммой Ганта и как то не получилось (((
Может проведете мастер класс по выводу на печать диаграммы Ганта.

Добрый день!
В конфигурации УПП 1.3. есть отчет Занятость помещений. Можно в нем подсмотреть, как производится программная работа с диаграммой Ганта в модуле объекта.

Спасибо.
Где бы еще взять эту конфигурацию.
С уважением
Светлана

Любую конфигурацию можно взять только лицензионным способом.

Для начала попробуйте просто вывести диаграмму Ганта в табличный документ, пока не привязываясь к отчету, который нужно получить. На первом шаге нужно просто технически обеспечить вывод в табличный документ любой диаграммы Ганта:

Затем в Ваш отчет добавляйте вывод такой диаграммы по данным из отчета. Можно при помощи компоновки выгружать данные в ТЗ, из нее и заполнять диаграмму.

Спасибо, очень помогло.
Вопрос, при коде:
“Картинка =Новый Картинка( ХранимыйФайл.Хранилище.Получить());” выдает ошибку: “Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика – ‘ПриКомпоновкеРезультата’
по причине:
<ВнешнийОтчет.ВнешнийОтчет1.МодульОбъекта(39)>: Ошибка при вызове конструктора (Картинка)
по причине:
Несоответствие типов (параметр номер ‘1’)”

Если просто: “Картинка = ХранимыйФайл.Хранилище.Получить();” тогда код отрабатывает нормально. С чем это может быть связано?

Спасибо за ответ.

Добрый день!
В таком случае в отладчике проверяйте типы данных, которые сохранены в хранилище.
В видео в хранилище находится тип ДвоичныеДанные, из которого формируется картинка.

Спасибо за ответ.

Добрый день.
Спасибо за пример.
Реализовали отчет на СКД с выводом картинок.
В итоге в веб-клиенте жуткие тормоза, подозрение на то, что табличный документ перегружен картинками.
Какие можете дать рекомендации по решению данной проблемы?

Добрый день!
Как вариант – попробуйте не выводить отчет со множеством картинок, а сохранить его в файл (например, XLS), пользователь пусть загружает его себе на компьютер. Тогда не нужно будет отображать всю эту информацию на экране.

Спасибо за пример!Но попробовал на Рознице 2.2.6.33 при получении двоичных данных из хранилища
Если ТипЗнч(ХранимыйФайл) = Тип(“СправочникСсылка.НоменклатураПрисоединенныеФайлы”) И ЗначениеЗаполнено(ХранимыйФайл) Тогда
Картинка = Новый Картинка(ХранимыйФайл.ФайлХранилище.Получить());

В картинке содержится, вместо ожидаемого,
Картинка : Вид – “Пустая” и НаборВариантов – “Невозможно определить тип картики”
И в ячейки пустая картинка
В чем может быть ошибка?

Добрый день!
Возможно файлы хранятся не в информационной базе, а в томах на диске:
Файлы
В таком случае в самой базе в хранилище значения картинка не будет сохраняться.

Добрый день!
Возможно файлы хранятся не в информационной базе, а в томах на диске:
Файлы
В таком случае в самой базе в хранилище значения картинка не будет сохраняться.

Василий, здравствуйте.
Делаю вывод картинки во внешней копии типового отчета Прайс-лист в УТ 11.3.4.21
платформа 8.3.10.2466.
Вот отчет: https://yadi.sk/d/ZemD6zue3Mfdk6

Имею ошибку в строке 65 модуля моего внешнего отчета.
Ошибка: https://www.screencast.com/t/fhuiwkot
В частности, вижу, что макет компоновки = Неопределено.

Не подскажите, в чем проблема.
По отладке вижу, что не формируется фоновое задание (не успех).

Добрый день!
По скриншоту видно, что проблема возникает из-за синтаксически некорректного текста запроса. Поэтому не происходит формирование отчета, завершается с ошибкой фоновое задание. А текст запроса схемы компоновки дорабатывается программно.
Рекомендую действовать следующим образом. Поскольку формирование отчетов происходит в фоновом задании, нужно включить автоматическое подключение фоновых заданий. Тогда можно будет отлаживать программный код. Интересует процедура в модуле объекта ПриКомпоновкеРезультата. Нужно установить точку останова на строке, где выполнены все подготовительные действия, программно доработан запрос схемы компоновки, начинается непосредственно компоновка. При помощи отладчика получить из схемы компоновки запрос, открыть его в конструкторе, локализовать синтаксически некорректный фрагмент. И самое главное – определить, какая из типовых процедур (или собственных доработок) искажает текст запроса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *