8.х Комплект печатных форм

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Greysvandir, 9 ноя 2012.

  1. TopicStarter Overlay
    Greysvandir
    Offline

    Greysvandir

    Регистрация:
    9 ноя 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!
    УТ 11 для 8.2
    Задача в том, чтобы создать внешнюю обработку, которая отправляет на печать сразу несколько печатных форм. В УТ есть типовое решение "Комплект документов с настройкой", но там можно выбрать только стандартные печатные формы, а мне нужно печать свои.

    Что уже написал:

    Код:
    Функция СведенияОВнешнейОбработке() Экспорт
    ...
    
    Функция ПолучитьТаблицуКоманд()
    ...
    
    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    ...
    
    
    Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НоваяНакладная") Тогда
    
    ТабДок = СформироватьНакладнуюБезСкидок("Расходная накладная", МассивОбъектов, ОбъектыПечати);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НоваяНакладная", "Расходная накладная", ТабДок);
    
    КонецЕсли;
    
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НоваяРеализацияТоваров") Тогда
    
    ТабДок = СформироватьРеализацияТоваров("Реализация товаров", МассивОбъектов, ОбъектыПечати);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НоваяРеализацияТоваров", "Реализация товаров", ТабДок);
    
    КонецЕсли;
    
    КонецПроцедуры
    
    Функция СформироватьНакладнуюБезСкидок(Тип, МассивОбъектов, ОбъектыПечати)
    ...
    
    Функция СформироватьРеализацияТоваров(Тип, МассивОбъектов, ОбъектыПечати)
    ...
    
    Сейчас выводится только второй макет НоваяРеализацияТоваров. Как сделать чтобы выводились оба так же как в типовом решении в закладках?
  2. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Не знаю как в УТ, в УПП есть общая форма "ФормаВыбораПечатныхФорм", там можно подсмотреть как получается список печатных форм,
    а теперь, зная какие печатные формы подходят к объекту печати, можно вывести их на печать.
    Есть нюанс (это к тому что нужно смотреть и использовать те функции которое есть в конфигурации), у печатных форм может быть : настроен отбор, и могут быть параметры
  3. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Посмотрите в конфигурации, возможно у вас есть функция наподобе "УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати"
  4. TopicStarter Overlay
    Greysvandir
    Offline

    Greysvandir

    Регистрация:
    9 ноя 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Ни формы ни механизмов не встречал. Здесь комплект формируется в модуле регистра сведений, но там так же через УправлениеПечатью. ВывестиТабличныйДокументВКоллекцию ... :wacko:
  5. TopicStarter Overlay
    Greysvandir
    Offline

    Greysvandir

    Регистрация:
    9 ноя 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Ух, разобрался, если кому интересно, то вот как я изменил Процедуру Печать:

    Код:
    Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Имя = "Комплект_1НБС_2Т12_1СЧФ";
    Стр = КоллекцияПечатныхФорм.Найти(Имя, "ИмяМакета");
    
    Имя = "НоваяНакладная";
    Стр.ИмяМакета = Имя;
    Стр.ИмяВРЕГ = ВРег(Имя);
    Стр.Экземпляров = 1;
    
    ТабДок = СформироватьНакладнуюБезСкидок("Расходная Накладная", МассивОбъектов, ОбъектыПечати);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НоваяНакладная", "Расходная Накладная", ТабДок);
    
    Имя = "НоваяРеализацияТоваров";
    Тмп = КоллекцияПечатныхФорм.Добавить();
    Тмп.ИмяМакета = Имя;
    Тмп.ИмяВРЕГ   = ВРег(Имя);
    Тмп.Экземпляров = 1;
    ТабДок = СформироватьРеализацияТоваров("Реализация товаров", МассивОбъектов, ОбъектыПечати);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НоваяРеализацияТоваров", "Реализация товаров", ТабДок);
    
    КонецПроцедуры // Печать()
    
    Имя = "Комплект_1НБС_2Т12_1СЧФ"; Так у меня команда вызова ВПФ называется и по умолчанию она ставится на первую печатную форму. Чтоб было красиво меняю на Новая накладная
  6. ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    а у меня во внешней обработке есть пара реквизитов
    их пользователь должен заполнить и нажать на кнопку печати
    как при нажатии на кнопку "печать" вывести печатную форму?
    то есть, обработчик кнопки находится в модуле формы, а функция Печать() в модуле менеджере.
  7. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Печать() с ЭКСПОРТОМ должна быть, вот через ссылку и обращайтесь.
  8. ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    Печать() конечно же с экспортом
    но как по ссылке обратиться в модуль менеджера?
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    ЭтотОбъект.ВашаПроцедура()
  10. ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    говорит "Метод объекта не обнаружен (Печать);
    может в УФ по другому?
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Чтобы попасть в менеджер объекта, этот объект нужно получить. Смотрите как в типовых реализован механизм. Или курите матчасть.
  12. ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    пардон, в модуль объекта
    модуля менеджера во внешних обработках конечно же нет.
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Со внешними такое, вроде не прокатит, т.к. чтобы обратиться к процедуре модуля, нужно создавать объект.
Похожие темы
  1. andryscha92
    Ответов:
    4
    Просмотров:
    313
  2. ulterior
    Ответов:
    2
    Просмотров:
    1.247
Загрузка...

Поделиться этой страницей