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

Выбор макета для печати из нескольких

Автор Александр Александр, 02 сен 2017, 05:30

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

Александр Александр

Добрый день. Управляемая форма 8.3. Есть 3 макета для печати. Как сделать так, что бы при нажатии на кнопку Печать можно было выбрать нужный макет?

Каримдат

В процедуре Печать добавить

ИначеЕсли ИмяМакета = "ИмяВашегоМакета" Тогда
ТабДокумент = ИмяВашегоМакета(Истина);


В процедуре ПолучитьСтруктуруПечатныхФорм
СтруктураМакетов.Вставить("ИмяВашегоМмакета", "Описание Вашего макета");


Александр Александр

Сделал, но ругается((((( Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')

pavl_vs

Цитата: Александр Александр от 03 сен 2017, 13:08
Сделал, но ругается((((( Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')

Возможно не закрыли конструкцию "Если".
Добавлено: 03 сен 2017, 14:08


Александр Александр, посмотри http://1c-pro.ru/threads/pomogite-pozhalujsta-novechku-poborot-oshibku.61600/

Александр Александр

Вроде всё закрыто...

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

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока Выборка.Следующий() Цикл
      Если ВставлятьРазделительСтраниц Тогда
         ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
      КонецЕсли;
      ТабДок.Вывести(ОбластьЗаголовок);
                 Шапка.Параметры.Заполнить(Выборка);
         //********************************************************************************
      Если ЗначениеЗаполнено(Выборка.Картинка) Тогда
         карт=Новый Картинка(Выборка.Картинка.Файл.Получить());
         Шапка.Рисунки.D1.картинка=карт;
      КонецЕсли;   
      //********************************************************************************

      ТабДок.Вывести(Шапка, Выборка.Уровень());

      ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
     ИначеЕсли ИмяМакета = "ВетеринарныеМероприятия" Тогда
ТабДокумент = ВетеринарныеМероприятия(Истина);

   //}}
КонецПроцедуры
Процедура ПолучитьСтруктуруПечатныхФорм ()
   СтруктураМакетов.Вставить("ВетеринарныеМероприятия", "ВетеринарныеМероприятия");
КонецПроцедуры


pavl_vs

Александр Александр, в том то и дело, что вроде.

Где начало и конец вот этого:
ИначеЕсли ИмяМакета = "ВетеринарныеМероприятия" Тогда?

Поставьте комментарий (//) на этой строке - ошибка исчезнет, а дальше думайте, как выбирать макеты.

Александр Александр


pavl_vs

Цитата: Александр Александр от 03 сен 2017, 15:05
Этот код вы мне написали

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

Еще раз призываю Вас думать.

Александр Александр

Ну сорки что не вы. Все равно спасибо. Я решил вопрос http://1c-c-nulya.blogspot.ru/2016/05/1.html

Теги:

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

Рейтинг@Mail.ru

Поиск