Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Использование нескольких макетов в "Табличном Документе" , Использование нескольких макетов в "Табличном Документе"          
Rumus Подменю пользователя
сообщение 03.11.10, 13:45
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте. У меня такой вопрос к вам. Делаю печатную форму использую три макета для одного документа, структура макетов отличается. Вывожу все в один ТабДок. В зависимости от количества поданых на печать документов и от их вида вывожу все это дело на печать но выводится криво, строки смещаются. При печати одного документа соответственно выводится один макет, выводится ровно. Думаю что ошибка в разной структуре макета, если я прав то какие есть пути решения этой проблемы.

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

  Возврат ТабличныйДокумент;

alex040269 Подменю пользователя
сообщение 03.11.10, 14:23
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

А зачем разные макеты в один табдок совать?
и код оформляйте так:
Код с отступами


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

World1С Подменю пользователя
сообщение 03.11.10, 16:56
Сообщение #3

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Для начала нужно убрать вот это:
ТабличныйДокумент.Вывести(ВыводимаяОбласть, Выборка.Уровень());


Замените на вот это
ТабличныйДокумент.Вывести();

и попробуйте.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 2:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!