Имя: Пароль:
1C
1С v8
при просмотре на печать ВСЁ прекрасно работает кроме колонтитулов
,
0 IgorTrifonov
 
06.06.16
12:31
Всем здрасьте.
на клиенте в процедуре Печать() создаю объект
&НаКлиенте
Процедура Печать()
    ТабДок = Новый ТабличныйДокумент;
    СформироватьОтчет(ТабДок, ДатаОтчета);
    ТабДок.Показать("список");
КонецПроцедуры

на сервере без контекста этот объект заполняю, но не передаю обратно его обратно в процедуру Печать()
думаю что адрес этого объкта (переменной) тот же что у процедуры Печать() и Сформировать()

&НаСервереБезКонтекста
Процедура СформироватьОтчет(ТабДок, ДатаОтчета)
...
    ТабДок.РазмерКолонтитулаСверху= 10;
    ТабДок.ВерхнийКолонтитул.Выводить=Истина;
    ТабДок.ВерхнийКолонтитул.НачальнаяСтраница=1;
    ТабДок.ВерхнийКолонтитул.ТекстСправа="Стр.[&НомерСтраницы]";
...
    //ТабДок.Показать("список"); // работает только на клиенте, т.е. см. Печать()
КонецПроцедуры

при просмотре на печать ВСЁ прекрасно работает кроме колонтитулов
пождскажите люди добрые как решить проблему
1 Мимохожий Однако
 
06.06.16
12:38
Что не так? Пиши подробнее
2 Мимохожий Однако
 
06.06.16
12:39
Проверь отладчиком присвоенное значение параметру
ТабДок.ВерхнийКолонтитул.ТекстСправа
3 IgorTrifonov
 
06.06.16
12:45
в отладчике 8.3 управляемые формы всё так как в тексте программы то есть строковое значение "Стр.[&НомерСтраницы]"

    ТабДок.ВерхнийКолонтитул.ТекстСправа="Стр.[&НомерСтраницы]";

и только
4 Мимохожий Однако
 
06.06.16
12:47
))
Что не так? Пиши подробнее
5 IgorTrifonov
 
06.06.16
12:56
&НаСервереБезКонтекста
Процедура СформироватьОтчет(ТабДок, ДатаОтчета)
    Макет = Отчеты.СписокКартриджей.ПолучитьМакет("Макет");
    ОблШапка = Макет.ПолучитьОбласть("Шапка");
    ОблСтрока= Макет.ПолучитьОбласть("Строка");
    
    ТабДок.Очистить();
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДок.РазмерКолонтитулаСверху= 10;
    ТабДок.РазмерКолонтитулаСнизу = 10;
    ТабДок.ПолеСверху = 10;
    ТабДок.ПолеСнизу  = 10;
    ТабДок.ПолеСправа = 10;
    ТабДок.ПолеСлева  = 10;
    ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(1, , 2, );    // обязательно повторять всю шапку и заголовок
    ТабДок.ВерхнийКолонтитул.Выводить=Истина;
    ТабДок.ВерхнийКолонтитул.НачальнаяСтраница=1;
    //ТабДок.ВерхнийКолонтитул.ТекстСправа="Стр.[&НомерСтраницы]";
    ТабДок.ВерхнийКолонтитул.ТекстСправа="просто ттекст";
...
                  
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если Выборка.Картридж.ЭтоГруппа = Истина Тогда
            Продолжить
        КонецЕсли;
        ОблСтрока.Параметры.НаимГруп = СокрЛП(Выборка.Карт.Родитель.Наименование);
        ОблСтрока.Параметры.НаимКарт = СокрЛП(Выборка.Карт.Наименование);
        ОблСтрока.Параметры.ТипКарт  = СокрЛП(Выборка.Карт.ТипКарт);
        ОблСтрока.Параметры.Принтеры = СокрЛП(Выборка.Карт.Принтеры);
        ТабДок.Вывести(ОблСтрока);
    КонецЦикла;
    //ТабДок.Показать("список"); // работает на клиенте, т.е. см. Печать()
    
КонецПроцедуры


просто текст (без параметра НомерСтраницы) в колонтитуле тоже не печатается
программа простейшая
6 Мимохожий Однако
 
06.06.16
13:37
Попробуй закомментировать
ТабДок.ВерхнийКолонтитул.НачальнаяСтраница=1;
7 Мимохожий Однако
 
06.06.16
13:41
Скорее всего при просмотре в параметрах страницы Колонтитулы сверху=0 установлено.
8 IgorTrifonov
 
06.06.16
13:59
нет, указывал 10
    ТабДок.РазмерКолонтитулаСверху= 10;
начальную страницу закомментировал, не помогло

при просмотре перед печатью поля установлены так как указано в программе то есть по 10
а колонтитулов не видать вообще
9 Мимохожий Однако
 
06.06.16
14:37
На других печатных формах удаётся увидеть колонтитул? Посмотри колонтитул на просмотре поменяв размер сверху в интерактивном режиме.
10 IgorTrifonov
 
06.06.16
15:00
(9) поменял высоту СВЕРХУ
поменял размер колонтитулов

ВСЁ слушается, высота меняется, но колонтитулов не видать.
11 Мимохожий Однако
 
06.06.16
15:17
На других печатных формах удаётся увидеть колонтитул? Или только в этой печатной форме?
12 Мимохожий Однако
 
06.06.16
15:17
Может быть, шрифт как у фона?
13 Fedor-1971
 
06.06.16
15:25
(5) Колонтитул заполняешь сразу после очистки таблицы, а надо после её формирования.
Нужно заполнить в самом конце СформироватьОтчет(ТабДок, ДатаОтчета), т.е. должно быть так:
....
   ТабДок.ВерхнийКолонтитул.ТекстСправа="просто ттекст";
КонецПроцедуры

Просто текст колонтитулов автоматически очищается при заполнении таблицы.
14 IgorTrifonov
 
06.06.16
15:42
ВСЕХ благодарю. ВСЁ заработало. Всех поздравляю с понедельником. Всех благ.
Я у себя на работе тоже всех на уши поднял.
15 Fedor-1971
 
06.06.16
15:44
(14) Зачем на уши и всех? гугл достаточно быстро даёт наводку на место заполнения колонтитула (после формирования таблицы)