Имя: Пароль:
1C
1С v8
Как напечатать ВПФ ссылаясь на другую ВПФ в 1С 8.2?
0 AL_Rain
 
05.08.16
13:53
Здравствуйте спецы 1С, сам ещё нуб в этом деле, только учусь.
Есть задача, необходимо печатать из внешней печатной формы несколько других ВПФ ссылаясь на них.
Написал такой код под себя, нашёл в просторах инета.

Процедура ПК() Экспорт
Справочник = Справочники.ВнешниеОбработки.НайтиПоКоду("УТ0000050");
ДвоичныеДанные = Справочник.ХранилищеВнешнейОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.ПолучитьФорму().Открыть();
УдалитьФайлы(ИмяФайла);
КонецПроцедуры

Функцию печати прописал так.

Функция Печать(ПК) Экспорт
   ТабДокумент = ПК;
Возврат ТабДокумент;
КонецФункции

Но выдаёт ошибку:
Не удалось сформировать внешнюю печатную форму!
Метод объекта не обнаружен (Печать)

Что не так делаю?
1 Горогуля
 
05.08.16
13:59
не гуглишь "сведенияовнешнейобработке". на здоровье
2 Горогуля
 
05.08.16
13:59
(1) или я вру?
3 Горогуля
 
05.08.16
14:00
>Обработка.ПолучитьФорму().Открыть();
ну вот за это сразу расстрелять
4 AL_Rain
 
05.08.16
14:01
(3) Надо так?
Обработка.ВыполнитьОбработку();
5 Горогуля
 
05.08.16
14:01
(4) надо получить от файла внешней обработки, лежащей в элементе справочника ровно то, что тебе нужно
6 Горогуля
 
05.08.16
14:02
+(5) макеты там, процедуры формирования печатных форм...
7 AL_Rain
 
05.08.16
14:08
(6) у вас примера нет, или направьте, что почитать?
8 Горогуля
 
05.08.16
14:10
(7) не, это надолго и не очень просто. сегодня ты её не сделаешь
9 AL_Rain
 
05.08.16
14:14
(8) Уже понял, что не сделаю сегодня...

Смотрю другой код, проверяю.

Функция Печать() Экспорт

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

Выводит печатную форму, но без внесённых в неё значений, как можно внести значения?
10 Горогуля
 
05.08.16
14:15
(9) каких внесённых значений?
11 AL_Rain
 
05.08.16
14:20
(10) Сейчас незаполненную форму выводит.
http://savepic.ru/10802867.png

А надо так.
http://savepic.ru/10773171.png
12 Горогуля
 
05.08.16
14:22
>ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(
вообще не вижу, какую форму напечатать. какой-то палёный код
13 AL_Rain
 
05.08.16
14:23
(12) Понял, буду копать...
14 Горогуля
 
05.08.16
14:26
ну и Возврат ТабДокумент без его инициализации - это моветон. 1Ска, наверное, даже неопределено не вернёт
15 _stay true_
 
05.08.16
14:28
(14) Когда Попа Одина не вернет Неопределено, наступит конец света:)
16 AL_Rain
 
08.08.16
14:10
В общем вопрос закрыл, неправильно значение указывал, надо было указывать не "СсылкаНаДокумент", а "СсылкаНаОбъект".
Всем пасиба за помощь.
AdBlock убивает бесплатный контент. 1Сергей