![]() |
![]() |
![]() |
|
Пакетная печать документов | ☑ | ||
---|---|---|---|---|
0
егаис
07.07.15
✎
11:14
|
Доброго дня
Есть некая обработка, в табличной части которого есть ссылки на документы "РеализацияТиУ". Подскажите, как реализовать пакетную печать Актов и Счетов-фактур? |
|||
1
Ёпрст
гуру
07.07.15
✎
11:17
|
открыть групповую обработку документов, настроить отбор и печатать нужную печатную форму. усё.
|
|||
2
егаис
07.07.15
✎
11:18
|
штатно это понятно, мне нужно распечатать с самописной обработки. У юзера прав и интерфейс минимум - Счета и реализация. Плюс эта обработка
|
|||
3
егаис
07.07.15
✎
11:49
|
(1) даже если передавать ссылки в эту обработку, разьве в БП 3 есть такая обработка?
|
|||
4
Альбатрос
07.07.15
✎
11:51
|
(2) А что за проблема-то? Есть соответствующие методы объекта...
|
|||
5
егаис
07.07.15
✎
11:58
|
(4) можно примером кинуть? буду признателен
|
|||
6
егаис
07.07.15
✎
12:08
|
МассивДокументов = Новый Массив;
Для Каждого Строка Из Объект.Документы Цикл Если НЕ ЗначениеЗаполнено(Строка.Ссылка) Тогда //нет документа, пропустим Продолжить; КонецЕсли; МассивДокументов.Добавить(Строка.Ссылка); КонецЦикла; Документы.РеализацияТоваровУслуг.Печать(МассивДокументов, Новый Структура, "Акт, СчетФактура", ОбъектыПечати) Что есть объекты печати? Так не работает почему-то |
|||
7
егаис
07.07.15
✎
12:20
|
&НаСервере
Процедура РаспечататьНаСервере() МассивДокументов = Новый Массив; Для Каждого Строка Из Объект.Документы Цикл Если НЕ ЗначениеЗаполнено(Строка.Ссылка) Тогда //нет документа, пропустим Продолжить; КонецЕсли; МассивДокументов.Добавить(Строка.Ссылка); КонецЦикла; Макеты = Новый ТаблицаЗначений; Макеты.Колонки.Добавить("ИмяМакета"); Макеты.Колонки.Добавить("ИмяВРЕГ"); Макеты.Колонки.Добавить("СинонимМакета"); Макеты.Колонки.Добавить("ТабличныйДокумент"); Макеты.Колонки.Добавить("Экземпляров"); Макеты.Колонки.Добавить("Картинка"); Макеты.Колонки.Добавить("ПолныйПутьКМакету"); Макеты.Колонки.Добавить("ИмяФайлаПечатнойФормы"); Макет = Макеты.Добавить(); Макет.ИмяМакета = "Акт"; Макет.ИмяВРЕГ = ВРег("Акт"); Макет.Экземпляров = 2; Макет = Макеты.Добавить(); Макет.ИмяМакета = "СчетФактура"; Макет.ИмяВРЕГ = ВРег("СчетФактура"); Макет.Экземпляров = 2; Документы.РеализацияТоваровУслуг.Печать(МассивДокументов, Новый Структура, Макеты, Новый СписокЗначений, Новый Структура); КонецПроцедуры все равно не выводится, чяднт? |
|||
8
mikecool
07.07.15
✎
12:30
|
(6) нажми на печать в документе и посмотри, что туда должно попадать
сделай аналогично профит |
|||
9
егаис
07.07.15
✎
12:45
|
трындец, все сделал как в типовом, все оказалось проще
&НаСервере Процедура РаспечататьНаСервере() МассивДокументов = Новый Массив; Для Каждого Строка Из Объект.Документы Цикл Если НЕ ЗначениеЗаполнено(Строка.Ссылка) Тогда //нет документа, пропустим Продолжить; КонецЕсли; МассивДокументов.Добавить(Строка.Ссылка); КонецЦикла; Макеты = Новый Массив; Макеты.Добавить("Акт"); УправлениеПечатью.СформироватьПечатныеФормы("Документ.РеализацияТоваровУслуг", Макеты, МассивДокументов, Новый Структура("ДополнитьКомплектВнешнимиПечатнымиФормами", Ложь)); КонецПроцедуры но все равно не печатает (( |
|||
10
егаис
07.07.15
✎
13:33
|
где я туплю?
и такой вариант не работает &НаСервере Процедура РаспечататьНаСервере() МассивДокументов = Новый Массив; Для Каждого Строка Из Объект.Документы Цикл Если НЕ ЗначениеЗаполнено(Строка.Ссылка) Тогда //нет документа, пропустим Продолжить; КонецЕсли; МассивДокументов.Добавить(Строка.Ссылка); КонецЦикла; ТаблицаСведенийАктаОбОказанииУслуг = Документы.РеализацияТоваровУслуг.ПолучитьТаблицуСведенийАктаОбОказанииУслуг(МассивДокументов); КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("Акт"); СтруктураПараметровПечати = Новый Структура; СтруктураПараметровПечати.Вставить("ВидДокументаПечати", "РеализацияТоваровУслуг"); СтруктураПараметровПечати.Вставить("ИмяПараметровПечати", "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт"); СтруктураПараметровПечати.Вставить("ИмяМакетаПечати", "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт"); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Акт", "Акт об оказании услуг", ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, Новый СписокЗначений, СтруктураПараметровПечати),, "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт"); КонецПроцедуры |
|||
11
Альбатрос
07.07.15
✎
13:38
|
ну так может ошибки огласишь?
|
|||
12
егаис
07.07.15
✎
13:40
|
просто не выводится макет, видно что отрабаывает код (по времени), но макета нет
|
|||
13
Альбатрос
07.07.15
✎
13:43
|
(12) Ну отладчиком тогда, у меня нет под рукой БП3
|
|||
14
егаис
07.07.15
✎
14:23
|
ептыть, через гланды решил. Может кому пригодиться
&НаКлиенте Функция Распечатать(Команда) МассивДокументов = Новый Массив; Для Каждого Строка Из Объект.Документы Цикл Если НЕ ЗначениеЗаполнено(Строка.Ссылка) Тогда //нет документа, пропустим Продолжить; КонецЕсли; МассивДокументов.Добавить(Строка.Ссылка); КонецЦикла; ТабДок = ПечатьАктаВыполненныхРабот(МассивДокументов); КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет"); ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Макет"); ПечатнаяФорма.ТабличныйДокумент = ТабДок; УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм); КонецФункции &НаСервере Функция ПечатьАктаВыполненныхРабот(МассивДокументов) ТаблицаСведенийАктаОбОказанииУслуг = Документы.РеализацияТоваровУслуг.ПолучитьТаблицуСведенийАктаОбОказанииУслуг(МассивДокументов); СтруктураПараметровПечати = Новый Структура; СтруктураПараметровПечати.Вставить("ВидДокументаПечати", "РеализацияТоваровУслуг"); СтруктураПараметровПечати.Вставить("ИмяПараметровПечати", "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт"); СтруктураПараметровПечати.Вставить("ИмяМакетаПечати", "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт"); Возврат ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, Новый СписокЗначений, СтруктураПараметровПечати); КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |