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

Автор Тема: Автоматически расставлялась печать и подпись организации в счета.  (Прочитано 1806 раз)

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

Оффлайн Igor100500

  • **
  • Регистрация: 2015-11-20
  • Сообщений: 51
  • РЕПУТАЦИЯ: 0
  • Профессия: Ученик 1С
Здравствуйте. Задача такая - в УПП, есть несколько организаций( у каждой своя печать и подпись). Нужно чтобы при печати счетов она автоматически выводилась. (стандратного изменения макета как в 8.3 - нет) где можно в организации загружать подпись и печать)).
Сделал так:
В справочнике организации, заходим в нужную нам организацию и загружаем в файлы(временное хранилище) наши картинки - печать и подпись.
потом рисуем макет и т.д
пишем код для того чтобы получить ссылку на картинку(Печать)
Функция ЗапросФайла(Объект,Название,ПустаяСсылкаОбСпр) Экспорт
 
  ЗапросНаФайл=Новый Запрос;
  ЗапросНаФайл.Текст="ВЫБРАТЬ
                     | ХранилищеДополнительнойИнформации.Ссылка
                     |ИЗ
                     | Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
                     |ГДЕ
                     | ХранилищеДополнительнойИнформации.Объект = &Объект
                     | И ХранилищеДополнительнойИнформации.Наименование = &Наименование";
  ЗапросНаФайл.Параметры.Вставить("Объект",Объект);
  ЗапросНаФайл.Параметры.Вставить("Наименование",Название);
  ЗапросНаФайлВыполнить=ЗапросНаФайл.Выполнить();
  Если ЗапросНаФайлВыполнить.Пустой() Тогда
   Возврат(ПУстаяСсылкаОбСпр);
  Иначе
   Результат=ЗапросНаФайлВыполнить.Выбрать();
   Пока Результат.Следующий() Цикл
    Возврат(Результат.Ссылка);
   КонецЦикла;
  КонецЕсли;
КонецФункции

Потом в процедуре печати
ПустаяСсылкаОбСпр=Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка();
СсылкаНаФайл=ЗапросФайла(Объект.Организация.Ссылка,"Печать",ПустаяСсылкаОбСпр);
Если НЕ СсылкаНаФайл=ПустаяСсылкаОбСпр Тогда
 ПечатьКартинка=СсылкаНаФайл.Хранилище.Получить();
 Рисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
 Рисунок.Высота = 40;
 Рисунок.Ширина = 40;
 Рисунок.Верх = 0;
 Рисунок.Лево = 110;
 Рисунок.Линия=новый линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии);
 Рисунок.ГраницаСверху=Ложь;
 Рисунок.ГраницаСлева=Ложь;
 Рисунок.ГраницаСнизу=Ложь;
 Рисунок.ГраницаСправа=Ложь;
 Рисунок.ВыводитьНаПечать=Истина;
 Рисунок.РазмерКартинки = РазмерКартинки.Растянуть;
 Рисунок.Узор=ТипУзораТабличногоДокумента.БезУзора;
Он находит картинку, но не выводит.
Чего не хватает?


Оффлайн alexandr_ll

  • *****
  • Регистрация: 2016-08-23
  • Сообщений: 1529
  • РЕПУТАЦИЯ: 223
  • КПД: 15%
  • Профессия: Программист 1С
Сделать несколько готовых макетов на каждую организацию с внедренными сканами подписи и печати, в зависимости от выбранной организации выводить нужный макет. Думаю, внешняя печатная форма.

Оффлайн Igor100500

  • **
  • Регистрация: 2015-11-20
  • Сообщений: 51
  • РЕПУТАЦИЯ: 0
  • Профессия: Ученик 1С
Да, если бы было 2-4 организации
а когда там 15-20.
+ когда надо будет что-то менять это редактировать макеты, а так обновил картинку во временное хранилище и все.

Оффлайн alexandr_ll

  • *****
  • Регистрация: 2016-08-23
  • Сообщений: 1529
  • РЕПУТАЦИЯ: 223
  • КПД: 15%
  • Профессия: Программист 1С
Здравствуйте. Задача такая - в УПП, есть несколько организаций( у каждой своя печать и подпись). Нужно чтобы при печати счетов она автоматически выводилась. (стандратного изменения макета как в 8.3 - нет) где можно в организации загружать подпись и печать)).
Сделал так:
В справочнике организации, заходим в нужную нам организацию и загружаем в файлы(временное хранилище) наши картинки - печать и подпись.
потом рисуем макет и т.д
пишем код для того чтобы получить ссылку на картинку(Печать)
Функция ЗапросФайла(Объект,Название,ПустаяСсылкаОбСпр) Экспорт
 
  ЗапросНаФайл=Новый Запрос;
  ЗапросНаФайл.Текст="ВЫБРАТЬ
                     | ХранилищеДополнительнойИнформации.Ссылка
                     |ИЗ
                     | Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
                     |ГДЕ
                     | ХранилищеДополнительнойИнформации.Объект = &Объект
                     | И ХранилищеДополнительнойИнформации.Наименование = &Наименование";
  ЗапросНаФайл.Параметры.Вставить("Объект",Объект);
  ЗапросНаФайл.Параметры.Вставить("Наименование",Название);
  ЗапросНаФайлВыполнить=ЗапросНаФайл.Выполнить();
  Если ЗапросНаФайлВыполнить.Пустой() Тогда
   Возврат(ПУстаяСсылкаОбСпр);
  Иначе
   Результат=ЗапросНаФайлВыполнить.Выбрать();
   Пока Результат.Следующий() Цикл
    Возврат(Результат.Ссылка);
   КонецЦикла;
  КонецЕсли;
КонецФункции

Потом в процедуре печати
ПустаяСсылкаОбСпр=Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка();
СсылкаНаФайл=ЗапросФайла(Объект.Организация.Ссылка,"Печать",ПустаяСсылкаОбСпр);
Если НЕ СсылкаНаФайл=ПустаяСсылкаОбСпр Тогда
 ПечатьКартинка=СсылкаНаФайл.Хранилище.Получить();
 Рисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
 Рисунок.Высота = 40;
 Рисунок.Ширина = 40;
 Рисунок.Верх = 0;
 Рисунок.Лево = 110;
 Рисунок.Линия=новый линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии);
 Рисунок.ГраницаСверху=Ложь;
 Рисунок.ГраницаСлева=Ложь;
 Рисунок.ГраницаСнизу=Ложь;
 Рисунок.ГраницаСправа=Ложь;
 Рисунок.ВыводитьНаПечать=Истина;
 Рисунок.РазмерКартинки = РазмерКартинки.Растянуть;
 Рисунок.Узор=ТипУзораТабличногоДокумента.БезУзора;
Он находит картинку, но не выводит.
Чего не хватает?
Вот переменная ПечатьКартинка, она как в дальнейшем используется при выводе на печать?
Наверное, должна быть еще строка типа
Рисунок.Картинка=ПечатьКартинка;
Примерно как в синтакс-помощнике в примере к РисунокТабличногоДокумента.Расположить

Оффлайн Igor100500

  • **
  • Регистрация: 2015-11-20
  • Сообщений: 51
  • РЕПУТАЦИЯ: 0
  • Профессия: Ученик 1С
Спасибо. Именно этого не хватало.
				ПустаяСсылкаОбСпр=Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка();
СсылкаНаФайл=ЗапросФайла(Объект.Организация.Ссылка,"Печать",ПустаяСсылкаОбСпр);
Если НЕ СсылкаНаФайл=ПустаяСсылкаОбСпр Тогда
 ПечатьКартинка=СсылкаНаФайл.Хранилище.Получить();
 Рисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
 Рисунок.Высота = 40;
 Рисунок.Ширина = 40;
 Рисунок.Верх = 0;
 Рисунок.Лево = 110;
 Рисунок.Линия=новый линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии);
 Рисунок.ГраницаСверху=Ложь;
 Рисунок.ГраницаСлева=Ложь;
 Рисунок.ГраницаСнизу=Ложь;
 Рисунок.ГраницаСправа=Ложь;
 Рисунок.ВыводитьНаПечать=Истина;
 Рисунок.Картинка= Новый Картинка(ПечатьКартинка);
 Рисунок.РазмерКартинки = РазмерКартинки.Растянуть;
 Рисунок.Узор=ТипУзораТабличногоДокумента.БезУзора;
КонецЕсли;

Всем спасибо. Вопрос закрыт.


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

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

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

LexaK
68 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
antoneus antoneus
33 Сообщений
Ивашка
27 Сообщений
neek666
26 Сообщений
KATERINA 861
19 Сообщений
Алексей_1985_06
15 Сообщений
SSC
15 Сообщений
alexandr_ll
14 Сообщений
pouyo
8 Сообщений

* Кто онлайн

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

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

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

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

Поиск