8.х Свойство платформы.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Yoda, 20 ноя 2008.

  1. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    В конфигураторе, если выделить строку в табличной форме макета далее Таблица-Настройка печати есть 2 функции : Колонтитулы... и "Повторять на каждом листе" они почемуто не срабатывают (относятся выводимым и не вывыдимым областям).

    в модуле на печать стоит текст :
    Код:
      
    ТабДокумент.РазмерКолонтитулаСверху = 0;
    ТабДокумент.РазмерКолонтитулаСнизу  = 70;
    
    //////////////////////////////////////////////////////

    В колонтитулах настройки:
    левый нижний "окошечко" и установлена галочка с первого листа.
    Стандарный текст в "окошечке" :

    [&НомерСтраницы]
    [&Дата]


    Почему он не повторяет? Платформа 8.1.12.101

    Спасибо.
  2. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Код дайте. Все выводится, кроме верхнего колонтитула - вы же ему размер в ноль установили.
  3. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    А это и есть код :) . Мне нужен только нижний колонтитул... Заработало.
    Я написал ему :
    Код:
    ТабДокумент.НижнийКолонтитул.Выводить = истина; 
    
    
    
    , но если мне хочется чтоб что-то написал тогда ему придётся ещё писать :
    Код:
    ТабДокумент.НижнийКолонтитул.ТекстСлева = "ляляля";
    
    
    
    а очень нужно чтобы он сам считали выводил номер страницы , т.к. при "вставке" дополнительного текста весь текст возможно "съедет".
    Какой цикл нужен , когда неизвестно будущее количество страниц в данной ситуации?

    Код:
    КоличествоСтраницДоговора  = ТабДокумент.КоличествоСтраниц();
    
    
    потом в цикле или есть более нормальный способ?
    Если нет, то как в этом же колонтитуле вывести 2 строку, например - номер договора и картинку справа?
    Заранее благодарю.
  4. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Я не понимаю, в чем проблема с нумерацией?
    Используйте "в этом окошечке" то, что написали сами в первом своем сообщении: [&НомерСтраницы].
    Чтобы верхний колонтитул не выводился, необязательно размер его ставить нулем. Достаточно ничего не указывать в процедуре печати, в отличие от нижнего колонтитула, где вы указали
    Код:
    ТабДокумент.НижнийКолонтитул.Выводить = истина;
    
    
    И он не будет верхний выводить в принципе.

    Зачем ТабДокумент.НижнийКолонтитул.ТекстСлева = "ляляля"???

    Вот мой код:
    Код:
        ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    ОбД = Макет.ПолучитьОбласть("Д");
    ТабДок.РазмерКолонтитулаСнизу = 70;
    Для н = 1 по 300 Цикл
    ТабДок.Вывести(ОбД);
    КонецЦикла;
    ТабДок.Показать();
    
    
    В прикрепленном файле настройки.

    И вас работает так, как вы хотели!

    Вложения:

    • pic.png
      pic.png
      Размер файла:
      6,7 КБ
      Просмотров:
      99
  5. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    Спасибо.

    вместо строк "вогнал" :
    Код:
    КоличествоСтраницДоговора  = ТабДокумент.КоличествоСтраниц()
    Номера  = 1;
    Пока Номера <= КоличествоСтраницДоговора  цикл
    //и тд
    
    
    Картинку возможно в этот момент добавить?
  6. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Прошу прощения, но что-то не догоняю, в чем проблема..

    Колонтитулы можно увидеть, если, открыв печатную форму, нажать кнопку Предварительный просмотр.

    Нумерация при настройках, которые я описал, идет с первого до последнего листа, и так, как это задано в настройках печати таблицы.

    Вам какая нумерация нужна?
  7. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    Спасибо, я всё увидел. У меня осталси только вопрос о возможности вставления туда ещё и картинки.
  8. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Насколько я знаю, средствами платформы этого не осуществить. Можно вообще отказаться от колонтитулов, а создать область со всем и нужными полями и объектами, и программно задать ее повторение на каждом листе. Такие методы есть.
  9. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    Я вот как раз думал: если через свойство платформы (колонтитулы) нельзя,- стал пытаться выбирать необходимые строички на которых все "изукрашки" - установил "Повторять на каждом листе" ....но результата нет. Я так и не понял как этим пользоваться.

    Если не трудно, можно Ваш программный код "задать повторение на каждом листе"?

    У Меня не получается
    Код:
    	
    ОбластьМакетаКолонтитулНиз = Макет.ПолучитьОбласть("КолонтитулНиз");
    ТабДокумент.ПовторятьПриПечатиСтроки = ОбластьМакетаКолонтитулНиз;
    
    
    - и как отдельная и внутри область
  10. TopicStarter Overlay
    Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    Нумерацию сделал через панель при работе с макетом:

    код :
    Код:
    стр. [&НомерСтраницы] из [&СтраницВсего]
    
    
    
    в модуле печати добавил
    Код:
    ТабДокумент.НижнийКолонтитул.ТекстВЦентре = "Договор № "+НомерДоговора;
    
    
    Теперь есть картинка ... в макете с именем.... как бы её определить туда ?..

    Код:
    ТабДокумент.НижнийКолонтитул.ТекстСправа =  ?;
    
    
    
    :unsure: вот тут я думал пробывать использовать "Повторять на каждом листе"... т.к. тут только текст можно передать

Поделиться этой страницей