8.х Количество строк табличного документа

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

  1. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Помогите пожалуйста подсчитать кол-во строк табличного документа!!!
    Получаю с формы с поля ввода текст, вывожу его на печать. Если текст не помещается на 1 страницу, получается не очень хорошо. хотел бы подсчитать количество строк, чтобы сделать фиксированный вывод строк на одну страницу.
    Процедура Печать(Элемент)
    ТабДок = Новый ТабличныйДокумент;
    Макет = Документы.СлужебнаяЗаписка.ПолучитьМакет("Печать");
    Шапка=Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Шапка);
    ТекстСЗ=Макет.ПолучитьОбласть("ТекстСЗ");
    //параметр, в который подставляется значение поля ввода.
    ТекстСЗ.Параметры.Заполнить(ЭтотОбъект);
    //необходимо подсчитать количество строк перед выводом,
    ТабДок.Вывести(ТекстСЗ);
    Подвал=Макет.ПолучитьОбласть("Подвал");
    ТабДок.Вывести(Подвал);
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Ложь;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.ПовторятьПриПечатиСтроки=(ТабДок.Области.Шапка);
    ТабДок.Показать();
    КонецПроцедуры
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Табдок.ПроверитьВывод() вернет тебе Истина, если документ влазит на страницу, ЛОЖЬ - если не влазит.
    Так же есть ПроверитьПрисоединение(). Принцип тот же.

    Последнюю строку документа можно определить по ТабДок.ВысотаТаблицы
  3. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Проверки то срабатывают, а все равно если текста на 2 страницы - первая страница пустая ( тут он только повторяемые строки выдает), на второй странице текст съезжает.
  4. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    такая тема уже поднималась как-то, надо посмотреть как делается типовая ТОРГ-12
  5. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    в ТОРГ-12 исп. табл.часть.
    Тут же у меня есть только поле ввода, с которого я считываю строку.
    Если страниц >2 то на первой странице печатается только шапка, а далее нормально.
  6. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    посоветуйте пожалуйста!!! каким образом это все можно сделать?!?!
  7. WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    А почему Вы не хотите посчитать количество строк в самом табличном документе, и только потом исходя из количества строк создавать печатную форму?
  8. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    потому что я не могу подсчитать кол-во строк!
    может быть кто-либо сталкивался с этим??? предложите свои варианты создания документа без табличной части!
  9. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    вопрос решился путем замены поля ввода на поле текстового документа!
    тут уж подсчитать строки без проблем.
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    я ж написал, ТабДок.ВысотаТаблицы - количество строк табличного документа
  11. TopicStarter Overlay
    4el
    Offline

    4el

    Регистрация:
    18 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    да, но при помощи ВысотаТаблицы я мог узнать кол-во строк после того, как вывел строку(а строка считанная с поля ввода и есть весь текст)!!!
    а теперь я с поля текстового документа считываю строку, вывожу и проверяю.
    Так что nomad_irk, в принципе Ваш вариант рабочий, но был неподходящий в первом случае.
  12. Fedot
    Offline

    Fedot

    Регистрация:
    27 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Интересует как можно влиять на количество печатаемых на листе строк. К примеру есть указать в ручную количество строк меньшее чем есть в табличном документе <code>(ТабДок.ВысотаТаблицы=7;)</code> получим сообщение об ошибке «Поле объекта недоступно для записи (ВысотаТаблицы) ТабДок.ВысотаТаблицы=7;». В моем пробном примере в ВысотаТаблицы было 8. В типовых конфигурациях можно встретить такое [​IMG]
    Выводится макет с табличной частью на четыре листа при этом табличная часть не заполняет всю таблицу

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