8.х ПовторятьПриПечатиСтроки

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

  1. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    В Журнал учета счетов-фактур по Постановлению № 1137, (подправленно для 8.1), есть два основных заголовка для Выданных и Полученных. При печати необходимо для каждой части отчета повторять соответсвующие заголовки. Т.е. в одной и той же процедуре нужно два раза использовать ПовторятьПриПечатиСтроки. Но на печати повторяется только заголовок только для второй.
    Код:
     // ЧАСТЬ 1
    Часть1Заголовок = Макет.ПолучитьОбласть("Часть1Заголовок");
    ТабличныйДокумент.Вывести(Часть1Заголовок);
    ТабличныйДокумент.ПовторятьПриПечатиСтроки =  ТабличныйДокумент.Область("Часть1Заголовок");
    ....
    // ЧАСТЬ 2
    Часть2Заголовок = Макет.ПолучитьОбласть("Часть2Заголовок");
    ТабличныйДокумент.Вывести(Часть2Заголовок);
    ТабличныйДокумент.ПовторятьПриПечатиСтроки = ТабличныйДокумент.Вывести(Часть2Заголовок);
    Как сделать что бы для каждой из частей повторялись нужные заголовки, на каждой странице?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    А что если переписать последнюю строчку у первой:
    Код:
    ТабличныйДокумент.ПовторятьПриПечатиСтроки = ТабличныйДокумент.Вывести(Часть1Заголовок);
  3. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    это ничего не меняет
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Так посмотрите внимательнее, в первой части вы передаете область, а во второй выводите.
  5. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    я вижу, просто неудачно код скопировала, как раз когда пробовала через вывести.

    Код:
     // ЧАСТЬ 1
    
    Часть1Заголовок = Макет.ПолучитьОбласть("Часть1Заголовок");
    ТабличныйДокумент.Вывести(Часть1Заголовок);
    ТабличныйДокумент.ПовторятьПриПечатиСтроки =  ТабличныйДокумент.Область("Часть1Заголовок");
    ...
    // ЧАСТЬ 2
    
    Часть2Заголовок = Макет.ПолучитьОбласть("Часть2Заголовок");
    ТабличныйДокумент.Вывести(Часть2Заголовок);
    ТабличныйДокумент.ПовторятьПриПечатиСтроки = ТабличныйДокумент.Область("Часть2Заголовок");
    вот, пусть так. Но через Вывести, точно не помогло.
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а через Вывести и не должно помочь, выведет на каждой странице при печати только вот такая конструкция
    Код:
    ТабличныйДокумент.ПовторятьПриПечатиСтроки =  ТабличныйДокумент.Область("Часть1Заголовок");
    ее и надо использовать
  7. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    А какая конструкция поможет в моем вопросе? окгда нужно два разных заголовка
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    При программном выводе, делаете условие, и выводите что вам нужно.
  9. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я конечно 2 разных заголовка не пробовала выводить, но надо было срочно и я сделала так (может конечно через лес, но работает). я собирала 2 табдока (в одном мне надо было повторять определенную область на каждой странице, в другом нет). Так вот в кратце можно написать так (под рукой щас кода нет):

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

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