7.7 Торг-12 как высчитать высоту строки ?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Sherry Djeanna, 17 дек 2016.

  1. TopicStarter Overlay
    Sherry Djeanna
    Offline

    Sherry Djeanna Опытный в 1С

    Регистрация:
    12 июл 2015
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте.
    При выводе номенклатуры высота строки может варьироваться. Как высчитать, на сколько строк напечатается номенклатура?
    Я сделала высоту Авто - это дало возможность вмещать все наименование. Но дело в том, что в низу каждой страницы должна выводиться сумма и кол-во на этой странице.
    Хотелось бы, что б страница заполнялась максимально, но не получается высчитать высоту строки для каждой номенкл, т.к. ширина символов всех разная.
    [​IMG]
    Думаю проблема эта кем-то уже решена, но решения я пока не нашла.
    Последнее редактирование: 17 дек 2016
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    8.257
    Симпатии:
    837
    Баллы:
    204
    Вы сами ответили на свой вопрос - никак. Типовая Торг12 вроде ж выводит в конце листа стандартный подвал с суммой и количеством на странице.
  3. LordMaverick
    Online

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.724
    Симпатии:
    425
    Баллы:
    104
    в штатной ТОРГ-12 из 9.2 там фиксированная высота

    Код:
        // Выводим шапку таблицы. Шапка печатается на каждом листе.
        ПечТабл.ВывестиСекцию("Шапка");
       
        // Выводим спецификацию
       
        //Для простоты настройки печатной формы примем следующие соглашения:
        //    -    высота строк в таблице печатной формы задана жестко,
        //        тогда известно, сколько строк помещается на странице;
        СтрокНаСтранице    = 20;
       
        //    -    высота шапки и подвала задана жестко и кратна высоте строк таблицы,
        //        тогда можно указать, сколько строк занимают шапка и подвал
        //        в пересчете на строки таблицы;
        СтрокШапки        = 9;
        СтрокПодвала    = 8;
       
        //    -    для нормальной работы алгоритма необходимо, чтобы шапка и подвал
        //        могли поместиться на одной странице + хотя бы одна строка таблицы:
        //        СтрокНаСтранице >= СтрокШапки + СтрокПодвала + 1
        //    -    если подвал не помещается на странице, он переносится на другую
        //        страницу с последней строкой; исключение составляет случай,
        //        когда в таблице всего одна строка.
        НомерСтраницы    = 1;
  4. TopicStarter Overlay
    Sherry Djeanna
    Offline

    Sherry Djeanna Опытный в 1С

    Регистрация:
    12 июл 2015
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    Просто думала, может быть есть какая-то функция, которая определяет сколько выведено строк? Позицию как-то... Или высоту области?
    Да, стандартная выводит все. Но в стандартной строго определена высота секции - 2 строки. А, как видите, номенклатура может занимать и 5 стр. поэтому мне пришлось сделать высоту строки Авто, примерно рассчитывать сколько возможно займет строк номенклатура. Как понимаете, все очень приблизительно. В результате, лист заполнен примерно на 2/3.
    Или убрать программный перевод страниц и может быть можно как-то анализировать - новая страница или нет. Тогда подвал прикрепить как нижний колонтитул.
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    8.257
    Симпатии:
    837
    Баллы:
    204
    Не знаю, есть ли в 7.7 ПроверитьВывод(). Если нет, то видимо вообще никак, только фиксированной высотой и подсчетом выведенных строк.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.870
    Симпатии:
    452
    Баллы:
    104
    Нету.
    только считать строки... причем по длине выводимого значения можно определить будет ли перевод строки
  7. TopicStarter Overlay
    Sherry Djeanna
    Offline

    Sherry Djeanna Опытный в 1С

    Регистрация:
    12 июл 2015
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    "причем по длине выводимого значения можно определить будет ли перевод строки"
    Не подскажите, как вычислить длину с учетом ширины символов?
    Вверху я дала пример выводимых наименований. В строке №2 длина 32 символа, а вообще вмещается 27 букв.
  8. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.499
    Симпатии:
    47
    Баллы:
    54
    Выс=0;
    Шир=Таб.ШиринаТаблицы();
    Для ст=1 По Таб.ВысотаТаблицы() Цикл
    Выс=Выс+Таб.Область(ст,1,ст,Шир).ВысотаСтроки();
    КонецЦикла;

    взято здесь
    1c77progr.ru/article/vysota-strok-tablitsy-v-otchete
    Последнее редактирование модератором: 20 дек 2016

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