0
FIL0S0FF
25.06.17
✎
15:57
|
Делаю всё стандартно как написано в статьях.
Из модуля объекта документа СФ копировал Процедуру Печать,
вставил в модуль объекта внешней обработки:
Процедура Печать( ) Экспорт
Если ЭтоНовый() Тогда
Предупреждение(НСтр("ru = 'Документ можно распечатать только после его записи'"));
Возврат;
ИначеЕсли Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Проведен) Тогда
Предупреждение(НСтр("ru = Недостаточно полномочий для печати непроведенного документа!'"));
Возврат;
КонецЕсли;
Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда
ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка, ИмяМакета);
Если ТабДокумент = Неопределено Тогда
Возврат
КонецЕсли;
Иначе
ПараметрКоманды = Новый Массив;
ПараметрКоманды.Добавить(Ссылка);
ИменаМакетов = ИмяМакета;
Если НЕ ПустаяСтрока(ИмяМакета) Тогда
Для Итератор = 1 По КоличествоЭкземпляров - 1 Цикл
ИменаМакетов = ИменаМакетов + "," + Сред(ИмяМакета, 1, Найти(ИмяМакета + ",", ",") - 1);
КонецЦикла;
КонецЕсли;
Если НаПринтер Тогда
УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер("Документ.СчетФактураВыданный", ИменаМакетов,
ПараметрКоманды, Неопределено);
Иначе
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.СчетФактураВыданный", ИменаМакетов,
ПараметрКоманды, Неопределено, Неопределено);
КонецЕсли;
Возврат;
КонецЕсли;
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, ЭтотОбъект.Метаданные().Представление()), Ссылка);
КонецПроцедуры // Печать
Не могу разобраться с ошибками.
В частности вопрос по переменным: Проведён , ИмяМакета, Ссылка.
Имя макета я так понял надо задавать в парамерах процедуры например ИмяМакета="СФ1137"
а как действовать с другими переменными?
|
|
1
Базис
naïve
25.06.17
✎
16:07
|
Тебе поучиться? Тогда возьми статью с ИС, как делать ВПФ.
Быстрый результат нужен - скачай любую ВПФ СФ под НФ и модифицируй. Обрати внимание, чтобы при любом количестве строк не получить обрывки на новом листе.
|
|