|
2 и более макета из 1 внешней ПФ | ☑ | ||
---|---|---|---|---|
0
Юзер123
naïve
23.06.21
✎
12:54
|
Доброго времени.
Подскажите пож-та как с помощью 1- ой внешней пф вывести 2 макета двумя вкладками. Как выводить на 1 листе - разобрался. Вопрос именно в выводе в 2 разные вкладки. |
|||
1
Momus
23.06.21
✎
12:55
|
Вывести два макета в один табличный документ? Что за вкладки?
|
|||
2
Юзер123
naïve
23.06.21
✎
13:11
|
||||
3
Недопустимый
23.06.21
✎
13:20
|
выполни команду два раза
|
|||
4
Юзер123
naïve
23.06.21
✎
13:28
|
(3) Добавил еще 1 команду. Но печатает только первую
ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'М-15'"), "М-15", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'ОтчетЗаСмену'"), "ОтчетЗаСмену", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); |
|||
5
Юзер123
naïve
23.06.21
✎
13:28
|
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); КонецЕсли; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОтчетЗаСмену") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Отчет за смену", "Отчет за смену", СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры |
|||
6
Momus
23.06.21
✎
13:35
|
(5) а так:
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Отчет за смену", "Отчет за смену", СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); КонецЕсли; |
|||
7
Юзер123
naïve
23.06.21
✎
13:40
|
(6) так тоже только первый.
То что скинул - это вариант уже от исходного отличающийся. Изначально было как у Вас |
|||
8
Юзер123
naïve
23.06.21
✎
13:41
|
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
аа =1 ; Пока аа < 2 Цикл Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); КонецЕсли; //Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Отчет за смену") Тогда // УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( // КоллекцияПечатныхФорм, // "Отчет за смену", "Отчет за смену", // СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); //КонецЕсли; аа = аа +1; КонецЦикла; только 1 Раз выводит. |
|||
9
Momus
23.06.21
✎
14:04
|
(9) ну прям так в две вкладки - хз. Так пойдет?
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); ПечатнаяФорма = КоллекцияПечатныхФорм.Добавить(); ПечатнаяФорма.ИмяМакета = "Отчет за смену"; ПечатнаяФорма.ИмяВРЕГ = ВРег("Отчет за смену"); ПечатнаяФорма.Экземпляров = 1; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Отчет за смену", "Отчет за смену", СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); КонецЕсли; Откроется форма печати комплекта документов |
|||
10
Momus
23.06.21
✎
14:05
|
оффтоп
как вставлять код 1с в сообщении? |
|||
11
Юзер123
naïve
23.06.21
✎
14:05
|
(9)
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; СтрокаКоллекция = КоллекцияПечатныхФорм.Добавить(); СтрокаКоллекция.ИмяВРЕГ = "ОТЧЕТ ЗА СМЕНУ"; СтрокаКоллекция.ИмяВРЕГ = "ОтчетЗаСмену"; СтрокаКоллекция.Экземпляров = 1; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); Сообщить("м15 готово"); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Отчет за смену", "Отчет за смену", СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры Вот так пробовали. Ошибка "Не сформирован ТабДокумент" |
|||
12
Юзер123
naïve
23.06.21
✎
14:05
|
(10)
Хз. он как то рандомно определяется походу) |
|||
13
Momus
23.06.21
✎
14:20
|
(12) для начала, думаю, лучше сделать как я написал, а потом оптимизировать. По крайней мере у меня взлетело.
Вот мой рабочий код: Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПД_НЗ") Тогда ПараметрыПечати = Новый Структура; ПараметрыПечати.Вставить("ПечатьНомераЗаказаКлиента", Истина); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "УПД_НЗ", НСтр("ru = 'Универсальный передаточный документ (УПД) Новый с номером заказа клиента'; |en = 'Universal transfer document (UTD)'"), СформироватьПечатнуюФормуУПД(СтруктураТипов, ОбъектыПечати, ПараметрыПечати)); ПечатнаяФорма = КоллекцияПечатныхФорм.Добавить(); ПечатнаяФорма.ИмяМакета = "УПД_НЗ1"; ПечатнаяФорма.ИмяВРЕГ = ВРег("УПД_НЗ1"); ПечатнаяФорма.Экземпляров = 1; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "УПД_НЗ1", НСтр("ru = 'Универсальный передаточный документ (УПД) Новый с номером заказа клиента'; |en = 'Universal transfer document (UTD)'"), СформироватьПечатнуюФормуУПД(СтруктураТипов, ОбъектыПечати, ПараметрыПечати)); КонецЕсли; |
|||
14
Momus
23.06.21
✎
14:23
|
(13) в примере два одинаковых табличных документа, думаю не принципиально.
|
|||
15
Гений 1С
гуру
23.06.21
✎
14:31
|
(0) мой гений тебе дарит: https://geniy1s.ru/neskolko-pechatnyh-form-v-uf/
|
|||
16
Юзер123
naïve
23.06.21
✎
14:31
|
(13) Да. У меня ошибка была
СтрокаКоллекция = КоллекцияПечатныхФорм.Добавить(); СтрокаКоллекция.ИмяВРЕГ = "ОТЧЕТ ЗА СМЕНУ"; СтрокаКоллекция.ИмяВРЕГ = "ОтчетЗаСмену"; 2 раза Врег вместо имени макета. поэтому на Таб док ругалось. Сейчас добью. Спс |
|||
17
Юзер123
naïve
23.06.21
✎
14:32
|
(15) Спасибо
|
|||
18
Momus
23.06.21
✎
14:38
|
(15) интересное решение
|
|||
19
Momus
23.06.21
✎
14:39
|
+(18)
Для Каждого СтрокаТЧ из КоллекцияПечатныхФорм Цикл ИмяМакета = СтрокаТЧ.ИмяВРЕГ; КонецЦикла; |
|||
20
Юзер123
naïve
23.06.21
✎
14:41
|
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; СтрокаКоллекция = КоллекцияПечатныхФорм.Добавить(); СтрокаКоллекция.ИмяВРЕГ = "ОТЧЕТ ЗА СМЕНУ"; СтрокаКоллекция.ИМяМакета= "ОтчетЗаСмену"; СтрокаКоллекция.Экземпляров = 1; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "М-15") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "М-15", "М-15", СформироватьПечатнуюФормуТранспортнойНакладной(МассивОбъектов, ОбъектыПечати)); Сообщить("м15 готово"); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "Отчет за смену", "Отчет за смену", СформироватьПечатнуюФормуОтчетаЗаСмену(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры Работает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |