Здравствуйте. У меня такой вопрос к вам. Делаю печатную форму использую три макета для одного документа, структура макетов отличается. Вывожу все в один ТабДок. В зависимости от количества поданых на печать документов и от их вида вывожу все это дело на печать но выводится криво, строки смещаются. При печати одного документа соответственно выводится один макет, выводится ровно. Думаю что ошибка в разной структуре макета, если я прав то какие есть пути решения этой проблемы.
// Создаем табличный документ и устанавливаем имя параметров печати.
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПараметрыПечати_Справки";
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СостояниеУчащихсяСрезПоследних.Учащийся.Владелец КАК ФИОУчащийся,
| СостояниеУчащихсяСрезПоследних.Курс,
| СостояниеУчащихсяСрезПоследних.ФормаОбучения,
| Справка.ВидСправки,
| Справка.Ссылка,
| Организации.Учредитель,
| СостояниеУчащихсяСрезПоследних.Специальность.Код КАК ШифрСпециальности,
| ПриказОЗачисленииАбитуриенты.Ссылка.Номер КАК НомерПриказа,
| ПриказОЗачисленииАбитуриенты.Ссылка.Дата КАК ДатаПриказа,
| Справка.Номер,
| Справка.Дата,
| СостояниеУчащихсяСрезПоследних.УчебноеПодразделение.ПолноеНаименование КАК ПодразделениеПолное,
| СостояниеУчащихсяСрезПоследних.УчебноеПодразделение КАК Подразделение,
| ОрганизацииКонтактнаяИнформация.Представление КАК Телефон,
| ОрганизацииКонтактнаяИнформация1.Представление КАК Адрес
|ИЗ
| Документ.Справка КАК Справка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеУчащихся.СрезПоследних(, ) КАК СостояниеУчащихсяСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриказОЗачислении.Абитуриенты КАК ПриказОЗачисленииАбитуриенты
| ПО СостояниеУчащихсяСрезПоследних.Учащийся = ПриказОЗачисленииАбитуриенты.ЛичноеДело
| ПО Справка.Учащийся = СостояниеУчащихсяСрезПоследних.Учащийся
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
| ПО (ОрганизацииКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации))
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация1
| ПО (ОрганизацииКонтактнаяИнформация1.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации))
| ПО Справка.Организация = Организации.Ссылка
|ГДЕ
| Справка.Ссылка В(&МассивОбъектов)";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();
МакетПоТребованиюНалоговой = УправлениеПечатью.ПолучитьМакет("Документ.Справка.ПФ_MXL_ПоТребованиюНалоговой");
МакетПоМестуЖительства = УправлениеПечатью.ПолучитьМакет("Документ.Справка.ПФ_MXL_ПоМестуЖительства");
МакетПоМестуЖительстваСоСроком = УправлениеПечатью.ПолучитьМакет("Документ.Справка.ПФ_MXL_ПоМестуЖительстваСоСрокомОбучения");
Пока Выборка.Следующий() Цикл
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Дата = Формат(Выборка.Дата, "ДФ=dd.MM.yyyy");
Если Выборка.ВидСправки = Перечисления.ВидыСправок.ПоТребованиюНалоговойИнспекцией Тогда
ОбластьПоТребованиюНалоговой = МакетПоТребованиюНалоговой.ПолучитьОбласть("ОбластьПоТребованиюНалоговой");
ОбластьПоТребованиюНалоговой.Параметры.Заполнить(Выборка);
//ОбластьПоТребованиюНалоговой.Параметры.Дата = Дата;
ВыводимаяОбласть = ОбластьПоТребованиюНалоговой;
ИначеЕсли Выборка.ВидСправки = Перечисления.ВидыСправок.ПоМестуЖительства Тогда
ОбластьПоМестуЖительства = МакетПоМестуЖительства.ПолучитьОбласть("ОбластьПоМестуЖительства");
ОбластьПоМестуЖительства.Параметры.Заполнить(Выборка);
ОбластьПоМестуЖительства.Параметры.Дата = Дата;
ВыводимаяОбласть = ОбластьПоМестуЖительства;
ИначеЕсли Выборка.ВидСправки = Перечисления.ВидыСправок.ПоМестуЖительстваСоСрокомОбучения Тогда
ОбластьПоМестуЖительстваСоСрокомОбучения = МакетПоМестуЖительстваСоСроком.ПолучитьОбласть("ОбластьПоМестуЖительстваСоСрокомОбучения");
ОбластьПоМестуЖительстваСоСрокомОбучения.Параметры.Заполнить(Выборка);
ОбластьПоМестуЖительстваСоСрокомОбучения.Параметры.Дата = Дата;
ВыводимаяОбласть = ОбластьПоМестуЖительстваСоСрокомОбучения;
КонецЕсли;
ТабличныйДокумент.Вывести(ВыводимаяОбласть, Выборка.Уровень());
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, ОбъектыПечати, Выборка.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;