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

Хранилище

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

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



> Макет ПроверитьВывод(), НетуСилУже()          
valleha Подменю пользователя
сообщение 03.02.16, 19:35
Сообщение #1

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

Ув., форумчане!
Прошу помочь разобраться в следующем:
(конфигурация не типовая, приложение обычное)

-из обработки печатаю Каталог товаров: титульный лист с реквизитами компании и тело каталога (шапка - лого компании, подвал - служебная информация, контакты).
-титульный лист должен быть на всю страницу А4 (ТабДок.ВсеПоля=0), шапка и подвал должны присутствовать на каждой странице тела каталога (из-за нулевых полей колонтитулы отпадают, использую ПроверитьВывод() и вставляю подвал до разделителя, шапку - после него).

    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет ("КаталогТоваров1");

    //ТИТУЛЬНЫЙ ЛИСТ
    ОбластьТитул = Макет.ПолучитьОбласть("Титул");
    ОбластьТитул.Параметры.ТЕКСТЗАГ1=ВРег(СтрокаЗаглавия1);
    ОбластьТитул.Параметры.ТЕКСТЗАГ2=ВРег(СтрокаЗаглавия2);
    ОбластьТитул.Параметры.ТЕКСТЗАГ3=ВРег(СтрокаЗаглавия3);
    ОбластьТитул.Параметры.текстдоп1=НРег(СтрокаДоп1);
    ОбластьТитул.Параметры.текстдоп2=НРег(СтрокаДоп2);
    //ТИТУЛЬНЫЙ ЛИСТ

    //РАЗДЕЛИТЕЛИ
    ОбластьРазделительСТ = Макет.ПолучитьОбласть("РазделительСТ");
    ОбластьРазделитель_мини = Макет.ПолучитьОбласть("Разделитель_мини");
    //РАЗДЕЛИТЕЛИ

    ОбластьОснСтрШапка = Макет.ПолучитьОбласть("ОснСтрШапка"); //Шапка
    ОбластьОснСтрШапка.Параметры.АдресКомпании=Константы.АдресОрганизации.Получить()+Символы.ПС+"тел.: "+Константы.ТелефоныОрганизации.Получить();
    
    ОбластьОснСтрПодвал = Макет.ПолучитьОбласть("ОснСтрПодвал");
    ОбластьОснСтрПодвал.Параметры.ТекстКолонтитула="Телефон службы технической поддержки: 380 (хх) ххх-хх-хх."+Символы.ПС;
    
    
    
    ТабДок.Вывести(ОбластьТитул);                                   //ТИТУЛЬНЫЙ ЛИСТ
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    НомерСтраницы=2;    
    
    //ТЕЛО КАТАЛОГА
    
    ТабДок.АвтоМасштаб = Истина;

//.......................................................................
//Код
//.......................................................................
        массивБлокаСтрок=Новый Массив;
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            массивБлокаСтрок.Очистить();
//....................................................................
            ОбластьОднаИзМногихОбластей = Макет.ПолучитьОбласть("ОднаИзМногихОбластей");
            ОбластьОднаИзМногихОбластей .Параметры.Наименование=ВыборкаДетальныеЗаписи.Ссылка.Наименование;            
            массивБлокаСтрок.Добавить(ОбластьОднаИзМногихОбластей );        //массивБлокаСтрок
//......................................................................


            массивБлокаСтрок.Добавить(ОбластьРазделительСТ);
            ОбластьОснСтрПодвал.Параметры.НомерСтраницы="= "+НомерСтраницы+" =";
            массивБлокаСтрок.Добавить(ОбластьОснСтрПодвал);
            
            Если НЕ ТабДок.ПроверитьВывод(массивБлокаСтрок) Тогда
                ТабДок.Вывести(ОбластьРазделительСТ);
                ТабДок.Вывести(ОбластьОснСтрПодвал);
                ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
                ТабДок.Вывести(ОбластьОснСтрШапка);
                НомерСтраницы=НомерСтраницы+1;
            Иначе
                ТабДок.Вывести(ОбластьРазделительСТ);
            КонецЕсли;

        КонецЦикла;


    ТабДок.Защита=Истина;
    Табдок.ПолеСлева=0;
    Табдок.ПолеСправа=0;
    Табдок.ПолеСверху=0;
    Табдок.ПолеСнизу=0;
    Табдок.АвтоМасштаб=Истина;
    Если ВПДФ=Ложь Тогда    
        ТабДок.ОтображатьСетку = Ложь;      
        ТабДок.ОтображатьЗаголовки = Ложь;
        
        ТабДок.Показать("Каталог Товаров для"+Контрагент);
        
    Иначе
        ВремФайл=ПолучитьИмяВременногоФайла("Каталог Товаров для"+Контрагент+" ("+Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd")+").pdf");
        ТабДок.Записать(ВремФайл,ТипФайлаТабличногоДокумента.PDF);
        ЗапуститьПриложение(ВремФайл);
    КонецЕсли;




Вопрос 1.
ПроверитьВывод() всё отлично проверяет, НО: в случае, когда страница забивается под завязку и срабатывает автоматический разрыв страницы - ни подвал на предыдущей, ни шапка на следующей не появляются. Каким образом можно словить этот момент?

Вопрос 2.
Подвал: одна область, 2 строки. как его разместить в самом низу листа? перепробовал много чего, а в результате: то обе строки после данных о товаре, то первая в конце листа, вторая в начале следующего, плюс шапка пропадает.

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


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

 

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