Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как вывести на печать еще один макет
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
nickolas
ПО - 1С:Підприємство 8.3 (8.3.8.1652).
Делаю копию макета СчетЗаказ, добавляю в копии картинки печати и подписи. Как мне теперь этот макет вывести на печать из формы документа?
Что то подсказывает что это где-то тут:
необходимо зарегистрироваться для просмотра ссылки
Процедура УстановитьКнопкиПечати()
    
    мДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Ссылка, ПолучитьСтруктуруПечатныхФорм(), Новый Действие("ОсновныеДействияФормыПечать"), Новый Действие("ОсновныеДействияФормыУстановитьПечатьПоУмолчанию"));

    УниверсальныеМеханизмы.УстановитьПодменюПечати    (мПодменюПечати, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов.Строки.Количество() > 0);
    УниверсальныеМеханизмы.УстановитьПечатьПоУмолчанию(мПечатьПоУмолчанию, ЭлементыФормы.ОсновныеДействияФормы, мДеревоМакетов, Метаданные().Имя,Новый Действие("ОсновныеДействияФормыПечатьПоУмолчанию"));

    Если Не мПодменюПечати = Неопределено Тогда
        УниверсальныеМеханизмы.СформироватьПодменю(мДеревоМакетов, мПодменюПечати,Истина,Истина);
    КонецЕсли;
    
КонецПроцедуры
Bernet
nickolas @ Сегодня, 11:18 необходимо зарегистрироваться для просмотра ссылки ,
Конфигурация какая? Если это конфигурация на обычных формах (БУ, УТП, УПП), то Вам нужно добавить свою процедуру печати в модуле объекта, например (выделил комментариями //++ | //-- на что обратить внимание) :

Функция ПолучитьСтруктуруПечатныхФорм() Экспорт
    
    СтруктураМакетов = Новый Структура();
    
    СтруктураМакетов.Вставить("Накладная"    , "Расходная накладная");
    СтруктураМакетов.Вставить("Акт"          , "Акт об оказании услуг");
    //++
        СтруктураМакетов.Вставить("ИМЯВАШЕГОМАКТА"          , "НАЗВАНИЕ КАК ХОТИТЕ ВИДЕТЬ В СПИСКЕ");
        //--
    Возврат СтруктураМакетов;
    
КонецФункции


далее, в процедуре печати добавляете свой обработчик, который сформирует и вернет Вам табличный документ:

Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) Экспорт

    // Получить экземпляр документа на печать
    Если      ИмяМакета = "Накладная" Тогда
            ТабДокумент = ПечатьДокумента();
    ИначеЕсли ИмяМакета = "Акт" Тогда
            ТабДокумент = ПечатьАктаОбОказанииУслуг();
    //++
        ИначеЕсли ИмяМакета = "ИМЯВАШЕГОМАКЕТА" Тогда
                    ТабДокумент = ПечатьВашегоДокумента();
        //--
    КонецЕсли;

    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), Ссылка);

КонецПроцедуры

//++
Функция ПечатьВашегоДокумента()

       ТабДок = Новый ТабличныйДокумент;

       // ТУТ ФОРМИРУЕТЕ ВАШУ ПЕЧАТНУЮ ФОРМУ И ЗАПОЛНЯЕТЕ ТабДок

       Возврат ТабДок;

КонецФункции
//--
logist
Цитата(Bernet @ 14.03.17, 11:34) необходимо зарегистрироваться для просмотра ссылки
Конфигурация какая? Если это конфигурация на обычных формах (БУ, УТП, УПП)

судя по
Цитата(nickolas @ 14.03.17, 11:18) необходимо зарегистрироваться для просмотра ссылки
Процедура УстановитьКнопкиПечати()

это обычные формы.
Bernet
logist @ Сегодня, 13:18 необходимо зарегистрироваться для просмотра ссылки ,
Так и подумал, потому и привел пример с обычного приложения. (ну а может и потому что я больше привык к обычному приложению happy.gif)
nickolas
Bernet @ Сегодня, 11:34 необходимо зарегистрироваться для просмотра ссылки ,
Конфигурация: Бухгалтерия сельскохозяйственного предприятия для Украины, редакция 1.2
Спасибо, работает как вы написали.
Еще вопрос, я установил виртуальный принтер который печатает счет в PDF, что нужно сделать чтоб при выборе макета с печатью виртуальный принтер выбирался не с помощи кнопок Ctrl+P, а клавишей в окне печати, Например: "Сохранить в PDF".
Bernet
Если суть в том чтобы именно сохранять документ в PDF формате, то после вывода на экран печатной формы в меню "Файл->Сохранить Как" можно выбрать формат PDF.
Если же суть в том, чтобы печать всегда отправлялась на выбранный Вами виртуальный принтер, то можно программно сохранять настройки печати, и восстанавливать их при формировании табличного документа.
Ну или на крайняк сделать свою кнопку "Сохранить в PDF", которая будет сохранять печатную форму в файл.
Vofka
Цитата(nickolas @ 14.03.17, 15:36) необходимо зарегистрироваться для просмотра ссылки
Еще вопрос

Правила, пункт 6. Эта тема закрывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.