Приветствую, Форумчане!
УТ 10.3, 1с8.2, обычное приложение.
Имеется такое ТЗ: в "Реализации товаров и услуг" будут вставляться только товары конкретного поставщика. По регламенту, в одной фактуре не может быть товары разных поставщиков.
У каждого поставщика свой логотип. Необходимо, чтобы в Расходной накладной печатался Логотип поставщика.
Как это сделать?
Мысли такие:
1. Добавить новый реквизит "Логотип" в справочник Контрагенты.
2. Немыслимым способом связать этот логотип с картинкой. Кстати как?
3. В Документе "Реализация" добавить реквизит "Поставщик" со ссылкой на Контрагента с логотипом.
4. При нажатии кнопки, в Макете проставляется нужная картика с выбранным поставщиком.
Как реализовать данную задумку?
Может быть есть другой способ, например перед выводом счета на печать сначала выбрать нужную картинку из библиотеки или какого-то там хранилища и вставить в счет. Счет распечатать. Тогда не надо привязывать картинку к поставщику.
УТ 10.3 1с8.2, обычное
В справочнике "Контрагенты" (Поставщики), в Хранилище Дополнительной Информации установил основной Рисунок-Логотип.
Я так понял, что храниться в двоичном формате (?).
В Документе "Реализация Товаров" установил дополнительный реквизит "производитель" со ссылкой на справочник Контрагенты (соответственно получаем и ссылку на рисунок в хранилище Доп. Инф.)
На Макете вставил Рисунок с именем "Картинка", установил туда "левую" картинку из файла" и визуально расположил его в Области "Шапка".
Теперь пытаюсь вывести нужную картинку из Хранилища Дополнительной Информации.
Шапка.Рисунки.Картинка=Этотобъект.Производитель.ОсновноеИзображение.Объект.ПолучитьОбъект();
Что такое "хранилище дополнительной информации"?
Должно работать так
Шапка.Рисунки.Картинка.Картинка =Производитель.ОсновноеИзображение.Хранилище.Получить();
Формат=НРег(Строка(Карт.Формат()));
ИмяФайла = ПолучитьИмяВременногоФайла(Формат);
Карт.Записать(ИмяФайла);
СистемнаяИнформация = Новый СистемнаяИнформация;
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 ИЛИ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Фото = Новый COMОбъект("ImageMagickObject.MagickImage.1");
Ответ = Фото.Convert( ИмяФайла , "-trim" , "-set", "colorspace", "RGB ", "-colorspace", "gray", "-contrast", "-resize", Размер , "-contrast" , "-normalize" , ИмяФайла);
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 ИЛИ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда
СтрокаЗапуска = "convert -trim -set colorspace RGB -colorspace gray -contrast -resize " + Размер + " -contrast -normalize " + ИмяФайла + " " + ИмяФайла;
КомандаСистемы(СтрокаЗапуска);
//ЗапуститьПриложение(СтрокаЗапуска);
// Сообщить(СтрокаЗапуска);
Конецесли;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua