Имя: Пароль:
1C
1С v8
начинаю делать внешнюю печатную форму
0 r2d24
 
23.01.14
13:45
Вопрос по внешней печатной формой. Может он и будет глупым, но я работаю с печатными формами во второй раз. Первый раз, мне просто показали как она подключается.
Проблема такая: Надо сделать внешнюю печатную форму, для документа Счет на оплату покупателя, для комплексной автоматизации. Не могу найти код для печи. В модуле объекта документа есть процедура Печать().
Использовал F12(перейти к определению), переходил в общий модуль, не где ни нашел код, который формирует печать. Те процедуры, которые мне открывались, были не очень большие и все без запросов.
Как я понимаю, документ Счет на оплату покупателю, использует общий макет, своего нет.
1 Wobland
 
23.01.14
13:50
2 r2d24
 
23.01.14
13:58
(1) не  уверен, что это то
3 Wobland
 
23.01.14
13:59
(2) там должно быть упоминание о модуле менеджера
4 Eugene_life
 
23.01.14
14:01
(0) Поищи в коде модуля по слову "Макет".
5 r2d24
 
23.01.14
14:07
Вот весь код, где упоминается "Макет" и сама "Печать()"


// Процедура осуществляет печать документа. Можно направить печать на
// экран или принтер, а также распечатать необходимое количество копий.
//
//  Название макета печати передается в качестве параметра,
// по переданному названию находим имя макета в соответствии.
//
// Параметры:
//  НазваниеМакета - строка, название макета.
//
Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт

    Если ЭтоНовый() Тогда
        Предупреждение(НСтр("ru = 'Документ можно распечатать только после его записи'"));
        Возврат;
    КонецЕсли;

    Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
        Возврат;
    КонецЕсли;

    
    Если ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда

        ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка, ИмяМакета);
        
        Если ТабДокумент = Неопределено Тогда
            Возврат
        КонецЕсли;
    Иначе
        ПараметрКоманды = Новый Массив;
        ПараметрКоманды.Добавить(Ссылка);
        
        Если НаПринтер Тогда
            УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер("Документ.СчетНаОплатуПокупателю", ИмяМакета,
                                        ПараметрКоманды, Неопределено);
        Иначе
            УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.СчетНаОплатуПокупателю", ИмяМакета,
                                        ПараметрКоманды, Неопределено, Неопределено);
        КонецЕсли;
        Возврат;
    КонецЕсли;

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

КонецПроцедуры // Печать
6 del123
 
23.01.14
14:10
а что (3) не посмотрел до сих пор?)