Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> ЗУП логотип в печатной форме документа          
Altem Подменю пользователя
сообщение 23.03.17, 10:40
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

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



Прикреплять картинку в макет документа присваивая область не подходит.

candrey Подменю пользователя
сообщение 23.03.17, 10:45
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Добрый день.

Исправляйте печатную форму. С анализом какая фирма с соответствующем отображением этого логотипа и всё.


Altem Подменю пользователя
сообщение 23.03.17, 12:11
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

candrey @ Сегодня, 12:45 * ,

Я правильно понял?

Функция ПолучитьКартинку(Файл) Экспорт 
ВерсияСсылка = Файл.ТекущаяВерсия;
ТипХраненияФайла = ВерсияСсылка.ТипХраненияФайла;
Если ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
Если НЕ ВерсияСсылка.Том.Пустая() Тогда
ПолныйПуть = ФайловыеФункции.ПолныйПутьТома(ВерсияСсылка.Том) + ВерсияСсылка.ПутьКФайлу;
ДвоичныеДанные = Новый ДвоичныеДанные(ПолныйПуть);
КонецЕсли;
Иначе
ДвоичныеДанные = ВерсияСсылка.ФайлХранилище.Получить();
КонецЕсли;
Возврат Новый Картинка(ДвоичныеДанные);
КонецФункции

//Запрос

ВЫБРАТЬ
| СчетНаОплату.Организация.ФайлКартинки.Ссылка КАК Файл
|ИЗ
|    Документ.СчетНаОплату КАК СчетНаОплату

после запроса  вставляем картинку:

Если ЗначениеЗаполнено(Файл) Тогда
Рисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Верх = 0;
Рисунок.Высота = 15;
Рисунок.Ширина = 15;
Рисунок.Лево = 0;
Рисунок.Картинка = ПолучитьКартинку(Файл);
КонецЕсли;

Altem Подменю пользователя
сообщение 23.03.17, 16:52
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

Тема закрыта
Решил вопрос так:
Создайте в макете область Заголовок и обязательно в ней создайте картинку пустую. Растянув ее под нужный размер и дайте имя Логотип

Запрос = Новый Запрос;Запрос. 
    Текст =

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

    Запрос.УстановитьПараметр("Организация", Организация);
    ВыборкаДетальныеЗаписиКартинки=Запрос.Выполнить().Выбрать();

    Пока ВыборкаДетальныеЗаписиКартинки.Следующий() Цикл
    Если ВыборкаДетальныеЗаписиКартинки.Ссылка.Наименование = "Логотип" Тогда //   картинка с именем "Логотип"
        
        ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакетаЗаголовок.Рисунки.Логотип.Картинка = ВыборкаДетальныеЗаписиКартинки.Хранилище.Получить();
    КонецЕсли;
    КонецЦикла;
    ТабДокумент.Вывести(ОбластьМакетаЗаголовок);

Спасибо сказали: Vofka,

candrey Подменю пользователя
сообщение 23.03.17, 17:00
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Если у вас все работает как Вы задумали то Ок.
Макет с другими организациями пробывали? Отрабатывает нормально?

Спасибо сказали: Altem,

Altem Подменю пользователя
сообщение 24.03.17, 9:41
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

candrey @ Вчера, 19:00 * ,
Макет с другими организациями тоже нормально отрабатывает.

Altem Подменю пользователя
сообщение 27.03.17, 12:46
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

candrey @ 23.03.17, 19:00 * ,
Подскажите, как сделать чтобы выводило на печать, если нет картинки в реквизите Организации?

logist Подменю пользователя
сообщение 27.03.17, 12:48
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Altem @ 27.03.17, 12:46) *
как сделать чтобы выводило на печать

что бы выводило что?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Altem Подменю пользователя
сообщение 27.03.17, 12:48
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

logist @ Сегодня, 14:48 * ,
печатную форму документа без логотипа
Запрос = Новый Запрос;Запрос. 
    Текст =

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

    Запрос.УстановитьПараметр("Организация", Организация);
    ВыборкаДетальныеЗаписиКартинки=Запрос.Выполнить().Выбрать();

    Пока ВыборкаДетальныеЗаписиКартинки.Следующий() Цикл
    Если ВыборкаДетальныеЗаписиКартинки.Ссылка.Наименование = "Логотип" Тогда //   картинка с именем "Логотип"
        
        ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакетаЗаголовок.Рисунки.Логотип.Картинка = ВыборкаДетальныеЗаписиКартинки.Хранилище.Получить();
    КонецЕсли;
    КонецЦикла;
    ТабДокумент.Вывести(ОбластьМакетаЗаголовок);

logist Подменю пользователя
сообщение 27.03.17, 13:29
Сообщение #10

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Картинка = ВыборкаДетальныеЗаписиКартинки.Хранилище.Получить();
Если Не Картинка = Неопределено Тогд
        ОбластьМакетаЗаголовок.Рисунки.Логотип.Картинка = Картинка;
КонецЕсли;


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Altem Подменю пользователя
сообщение 27.03.17, 13:54
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

logist @ Сегодня, 15:29 * ,
Ошибку пишет
Значение не является значением объектного типа (Получить)
Картинка = ВыборкаДетальныеЗаписиКартинки.Хранилище.Получить();

Тоесть нужно выводить на печать даже если у организации нет логотипа

candrey Подменю пользователя
сообщение 27.03.17, 15:19
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

1) Если есть логотип прикручивайте логотип к соответствующей организации.

2) Если логотипа нету. Нужно чтоб выводило пустоту - прикрутите к этой организации (к другой где нету логотипа) пустой логотип- "Пустой фаил без рисунка"

3) Если выводить логотип ненужно то перед выводом делайте проверку на логотип. Если есть логотип то печатаем его. Если нету его то пропускаем идем дальше печатаем без логотипа.

Определяйте сами. Что вам больше подходит.

Ставьте точку остановка в этом коде перед ошибкой и смотрите в отладчике что там.

logist Подменю пользователя
сообщение 27.03.17, 16:59
Сообщение #13

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Altem @ 27.03.17, 13:54) *
Ошибку пишет
Значение не является значением объектного типа (Получить)
Картинка = ВыборкаДетальныеЗаписиКартинки.Хранилище.Получить();

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 1:10
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!