В обработчике печати не был сформирован табличный документ для: Макет
При нажатии на печатную форму,для каждой строки табличной части должна формироваться печатная форма, но выдает ошибку. Что делаю не так?
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка.Дата КАК ДатаДокумента,
| РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка КАК Ссылка,
| РаботаВВыходныеИПраздничныеДниСотрудники.Сотрудник КАК Сотрудник,
| РаботаВВыходныеИПраздничныеДниСотрудники.Дата КАК Дата,
| РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов КАК ОтработаноЧасов
|ИЗ
| Документ.РаботаВВыходныеИПраздничныеДни.Сотрудники КАК РаботаВВыходныеИПраздничныеДниСотрудники
|ГДЕ
| РаботаВВыходныеИПраздничныеДниСотрудники.Ссылка = &Ссылка
| И РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов <> 0";
Запрос.УстановитьПараметр("Ссылка",МассивОбъектов[0]);
ТаблицаЗнач=Новый ТаблицаЗначений;
ТаблицаЗнач=Запрос.Выполнить().Выгрузить();
Для Каждого Строка Из ТаблицаЗнач Цикл
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", "Заявление на выход в праздничный день (Авенир)", СформироватьПечатнуюФорму(ОбъектыПечати,Строка.Сотрудник,Строка.ДатаДокумента));
КонецЦикла;
КонецПроцедуры
Функция СформироватьПечатнуюФорму(ОбъектыПечати,Сотрудник,ДатаДокумента)
Разделитель = ",";
//Для Каждого Строка Из ТаблицаЗнач Цикл
ТабДок = Новый ТабличныйДокумент;
Табдок.ИмяПараметровПечати = "ПараметрыПечати";
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабДок.АвтоМасштаб = Истина;
Макет = ПолучитьМакет("Макет");
ОбластьМакета=Макет.ПолучитьОбласть("Область1");
МассивДолжности=ПолучитьСклоненияСтроки("Должность", ,"ПД=Родительный");
ДолжностьРодительскийПадеж = СтрСоединить(МассивДолжности, Разделитель);
МассивСотрудники = ПолучитьСклоненияСтроки(Сотрудник, ,"ПД=Родительный");
ФИОРодительскийПадеж = СтрСоединить(МассивСотрудники, Разделитель);
ОбластьМакета.Параметры.ФИОРодительскийПадеж=НРег(Лев(ФИОРодительскийПадеж, 1)) + Сред(ФИОРодительскийПадеж, 2);
ОбластьМакета.Параметры.ДолжностьРодительскийПадеж=НРег(Лев(ДолжностьРодительскийПадеж, 1)) + Сред(ДолжностьРодительскийПадеж, 2);
ОбластьМакета.Параметры.ДатаДокумента=Формат(ДатаДокумента,"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.ФИО=Сотрудник;
ТабДок.Вывести(ОбластьМакета);
Возврат ТабДок;
КонецФункции
ПоказатьПрикрепленные файлы:
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", "Заявление на выход в праздничный день (Авенир)", СформироватьПечатнуюФорму(ОбъектыПечати,Строка.Сотрудник,Строка.ДатаДокумента));
ИдентификаторКоманды в функции СведенияОВнешнейОбработке "Макет" ?
(2)да
Функция СведенияОВнешнейОбработке() Экспорт
//сообщим платформе, что перед ней печатная форма
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
//сообщаем, что печатная форма предназначается для определенного документа
МасНазначений = Новый Массив;
МасНазначений.Добавить("Документ.РаботаВВыходныеИПраздничныеДни");
ПараметрыРегистрации.Назначение = МасНазначений;
//определяем наименование, версию и режим безопасности
ПараметрыРегистрации.Наименование = "Заявление на выход в праздничный день";
ПараметрыРегистрации.Версия = "1.00";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
// добавляем команду
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Заявление на выход в праздничный день '");
НоваяКоманда.Идентификатор = "Макет";
НоваяКоманда.Использование =ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Показать
Вакансии
Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день