|
Печать сразу нескольких ВПФ - 1С 8.2 УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
Godunov
27.07.16
✎
15:39
|
Здравствуйте специалисты 1С, сам ещё новичок.
Необходимо печатать из «Реализации Т. и У.» для автоматической печати след. документы внешних печатных форм: 1. Сопроводительный лист – 1шт. 2. Расходная накладная на склад с весом – 1шт. 3. ТОРГ-12 Общая – 2 шт. 4. Счёт-фактуры – 2 шт Понимаю, что необходимо создать новую ВПФ, в которой сразу будут формироваться и отправляться на печать все нужные формы. Эта форма должна вызывать вывод каждой формы и отправку её на печать. Т.е. не впихивать туда все формы, а вызывать оттуда их печать. Как это можно сделать, можете пример привести? Пы.Сы.: Просьба, если есть информация, как помочь - напишите, если нет - то давайте не будем нарушать правила форума и оставим своё мнение при себе. А то исходя из некоторых тем определённых личностей, так и хочется им показать эту картинку... http://flipward.ru/uploads/images/d/e/v/devchata_majskij_vals_minus.jpg |
|||
1
John83
29.07.16
✎
11:54
|
я формировал все таб. документы, запихивал их в массив и возвращал в функции печати
|
|||
2
John83
29.07.16
✎
11:56
|
хотя соврал..
делал так ТабДокумент = ПечатьСчФ(); УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента(Ссылка)); |
|||
3
Godunov
03.08.16
✎
12:43
|
Дополню.
Для новой ВПФ прописал функцию печати, где идёт обращение к готовой ВПФ под названием "Паспорт качества", при которой она должна вывести на экран форму с заполненными данными, но выводит только форму без данных, подскажите пожалуйста, как поправить код, чтобы подставлялись данные, как показаны на рисунке 2? http://savepic.ru/10780681.png http://savepic.ru/10787849.png Я так понимаю, мне надо обратиться к ВПФ "Паспорт качества.epf " и её функции ПечатьДокументаПК, как это сделать, пока не пойму... http://savepic.ru/10775561.png |
|||
4
Godunov
03.08.16
✎
12:44
|
(3) Сам код.
Функция Печать() Экспорт ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(СсылкаНаДокумент, Неопределено); СтрокаКнопки = ДеревоМакетовПечати.Строки.Найти("Паспорт качества","Текст"); Расшифровка = СтрокаКнопки.Расшифровка; Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(СсылкаНаДокумент, Расшифровка); ТабДокумент.Показать(); КонецЕсли; КонецФункции |
|||
5
Мимохожий Однако
03.08.16
✎
12:58
|
Если встанешь отладчиком на кнопку Печать, то дойдешь до процедуры вызова печатной формы из справочника Внешние обработки. Он тебе и поможет.
Например, Расшифровка=Новый Структура; Расшифровка.Вставить("ВидПечатнойФормы",Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма); Расшифровка.Вставить("ЗаменяемаяПечатнаяФорма",Неопределено); Расшифровка.Вставить("НомерСтроки",1); Расшифровка.Вставить("СсылкаНаВнешнююОбработку",ПечатнаяФорма); Возврат УниверсальныеМеханизмы.НапечататьВнешнююФорму(СсылкаНаОбъект, Расшифровка); |
|||
6
Мимохожий Однако
03.08.16
✎
12:59
|
+ (5) ПечатнаяФорма - это ссылка на элемент справочника Внешние обработки.
|
|||
7
Godunov
03.08.16
✎
13:04
|
(5) Попробую.
|
|||
8
Godunov
03.08.16
✎
14:11
|
(5) Можно глупый вопрос, как встать отладчиком на кнопку Печать?)
|
|||
9
Godunov
03.08.16
✎
14:41
|
Прописал такой код, но выдаёт ошибку.
Процедура ПечатьИзВПФ(ПаспортКачества); СсылкаНаВПФ = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ПаспортКачества); Если СсылкаНаВПФ.Пустая() Тогда Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ПаспортКачества+"'"); Возврат; КонецЕсли; Попытка ИмяВременногоФайла = КаталогВременныхФайлов()+"ПаспортКачества.epf"; Исключение Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+ +КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С "); Возврат; КонецПопытки; Попытка ДвоичныеДанные = СсылкаНаВПФ.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяВременногоФайла); ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла); ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ; Исключение Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла); Возврат; КонецПопытки; // Проба печати Попытка ТаблДок = ОбрОбъект.Печать(); ТаблДок.Вывести(); Исключение А=1; // Точка останова для отладки! Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить! КонецПопытки; КонецПроцедуры http://savepic.ru/10768414.png |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |