Имя: Пароль:
1C
 
Внешняя печатная форма СФ на основе типовой УПП
0 FIL0S0FF
 
25.06.17
15:57
Делаю всё стандартно как написано в статьях.
Из модуля объекта документа СФ копировал Процедуру Печать,
вставил в модуль объекта внешней обработки:
Процедура Печать( ) Экспорт

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

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

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

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

КонецПроцедуры // Печать

Не могу разобраться с ошибками.
В частности вопрос по переменным: Проведён , ИмяМакета, Ссылка.

Имя макета я так понял надо задавать в парамерах процедуры например ИмяМакета="СФ1137"
а как действовать с другими переменными?
1 Базис
 
naïve
25.06.17
16:07
Тебе поучиться? Тогда возьми статью с ИС, как делать ВПФ.
Быстрый результат нужен - скачай любую ВПФ СФ под НФ и модифицируй. Обрати внимание, чтобы при любом количестве строк не получить обрывки на новом листе.
2 FIL0S0FF
 
25.06.17
16:12
ок. спасибо
3 FIL0S0FF
 
25.06.17
16:13
мне бы поучится и одновременно быстрый результат нужен) пока начну со 2 варианта))