|
Как получить макет ВПФ в Зупе 3.1 | ☑ | ||
---|---|---|---|---|
0
Лентаf
29.05.19
✎
12:32
|
привет, как получить макет ВПФ в Зупе 3.1?
Делаю впф: Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Т49") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Т49", НСтр("ru = 'Расчетно-платежная ведомость (Т-49)'"), ПечатьТ49(МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры; Функция ПечатьТ49(МассивОбъектов, ОбъектыПечати) СпособыВыплатыВедомостей = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивОбъектов, "СпособВыплаты"); ПорядокВыплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъектов( ОбщегоНазначения.ВыгрузитьКолонку(СпособыВыплатыВедомостей, "Значение", Истина), "ХарактерВыплаты"); ДокументРезультат = Новый ТабличныйДокумент; ПервыйДокумент = Истина; Для Каждого ДокументСсылка Из МассивОбъектов Цикл Если ПорядокВыплаты[СпособыВыплатыВедомостей[ДокументСсылка]] = Перечисления.ХарактерВыплатыЗарплаты.Аванс Тогда ПечатнаяФормаДокумента = Отчеты.АнализНачисленийИУдержанийАвансом.ПечатьТ49(ДокументСсылка); Иначе ПечатнаяФормаДокумента = Отчеты.АнализНачисленийИУдержаний.ПечатьТ49(ДокументСсылка); КонецЕсли; Если ПервыйДокумент Тогда ДокументРезультат = ПечатнаяФормаДокумента; НомерСтрокиНачало = 1; ПервыйДокумент = Ложь; Иначе // Все документы нужно выводить на разных страницах. ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); // Запомним номер строки, с которой начали выводить текущий документ. НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1; // Добавим очередную ведомость к результирующему табличному документу ДокументРезультат.Вывести(ПечатнаяФормаДокумента); КонецЕсли; // В табличном документе необходимо задать имя области, в которую был // выведен объект. Нужно для возможности печати покомплектно. УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ДокументРезультат, НомерСтрокиНачало, ОбъектыПечати, ДокументСсылка); КонецЦикла; Возврат ДокументРезультат; КонецФункции |
|||
1
Лентаf
29.05.19
✎
12:32
|
в бп 3.0 делал, макет прятался где-то тут, а тут как сделать? может кто подскажет.
|
|||
2
Лентаf
29.05.19
✎
12:35
|
если перейти в ПечатнаяФормаДокумента = Отчеты.АнализНачисленийИУдержаний.ПечатьТ49(ДокументСсылка);
тут Функция ПечатьТ49(Документ) Экспорт ОтчетОбъект = Отчеты.АнализНачисленийИУдержаний.Создать(); ОтчетОбъект.ИнициализироватьОтчет(); ВариантОтчета = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Т49"); Если ВариантОтчета= Неопределено Тогда Возврат Новый ТабличныйДокумент; КонецЕсли; НастройкиОтчета = ВариантОтчета.Настройки; РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, "ПериодРегистрации,Организация,Подразделение"); Период = РеквизитыДокумента.ПериодРегистрации; СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Период", Новый СтандартныйПериод(НачалоМесяца(Период), КонецМесяца(Период))); СтруктураПараметров.Вставить("НачалоПериода", НачалоМесяца(Период)); СтруктураПараметров.Вставить("КонецПериода", КонецМесяца(Период)); Для каждого ПараметрЗаполнения Из СтруктураПараметров Цикл ПараметрКомпоновкиДанных = Новый ПараметрКомпоновкиДанных(ПараметрЗаполнения.Ключ); ЗначениеПараметра = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновкиДанных); Если ЗначениеПараметра <> Неопределено Тогда ЗначениеПараметра.Значение = ПараметрЗаполнения.Значение; ЗначениеПараметра.Использование = Истина; Иначе НовыйПараметр = НастройкиОтчета.ПараметрыДанных.Элементы.Добавить(); НовыйПараметр.Параметр = ПараметрКомпоновкиДанных; НовыйПараметр.Значение = ПараметрЗаполнения.Значение; НовыйПараметр.Использование = Истина; КонецЕсли; КонецЦикла; ДанныеВедомости = Документы[Документ.Метаданные().Имя].ДанныеВедомостиДляПечати(Документ); СписокСотрудников = ДанныеВедомости.ВыгрузитьКолонку("Сотрудник"); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НастройкиОтчета.Отбор, "Регистратор", Документ, ВидСравненияКомпоновкиДанных.НеРавно, , Истина); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НастройкиОтчета.Отбор, "Сотрудник.ГоловнойСотрудник", СписокСотрудников, ВидСравненияКомпоновкиДанных.ВСписке, , Истина); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НастройкиОтчета.Отбор, "Организация", РеквизитыДокумента.Организация, ВидСравненияКомпоновкиДанных.Равно, , Истина); Если ЗначениеЗаполнено(РеквизитыДокумента.Подразделение) Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НастройкиОтчета.Отбор, "Подразделение", РеквизитыДокумента.Подразделение, ВидСравненияКомпоновкиДанных.ВИерархии, , Истина); КонецЕсли; ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета); ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("Документ", Документ); ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ДанныеВедомости", ДанныеВедомости); Если ЗначениеЗаполнено(РеквизитыДокумента.Подразделение) Тогда ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ПодразделениеВШапке", РеквизитыДокумента.Подразделение); КонецЕсли; ДокументРезультат = Новый ТабличныйДокумент; ОтчетОбъект.СкомпоноватьРезультат(ДокументРезультат); Возврат ДокументРезультат; КонецФункции |
|||
3
Лентаf
29.05.19
✎
12:37
|
хочу просто вытащить макет из конфигурации и встроить в впф для возможности изменения
|
|||
4
Happy Bear
29.05.19
✎
12:38
|
В ЗУП 3.1 переделали подсистему печати. Теперь там много печатных форм идет как отчет на СКД. Так что придется повозиться.
|
|||
5
kzot
29.05.19
✎
12:39
|
Функция ПечатьВнешнейПечатнойФормы
там Макет = ПолучитьМакет("Расчетно_платежная_ведомость_МОЙМАКЕТ"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |