7.7 Разместить ценники на листе

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем varSmokelord, 20 дек 2007.

  1. TopicStarter Overlay
    varSmokelord
    Offline

    varSmokelord

    Регистрация:
    20 дек 2007
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Помогите плиз! Данные считываются из файла и програмным путем формируются ценники. Сколько файлов, столько ценников. Ширину ценника можно считать константой, высота изменяется динамически в зависимости от кол. товаров (речь идет о ценнике на букет цветов). Хотелось бы печатать несколько ценников на 1 листе, соответственно проверяя влезают они все или нет, если нет, то часть перенести на другой лист. Проблема собственно говоря с секциями. У меня 2 таблицы, в 1 формируется ценник, а потом как объект передается во вторую, и вроде бы все хорошо НО !! код примерно такой
    Таб1.ВывестиСекцию("Гор|Верт<"); вывожу шапку ценника
    Начало цикла
    Таб1.ВывестиСекцию("Гор|Верт-"); вывожу товары
    КонецЦикла
    Таб1.ВывестиСекцию("Гор|Верт>"); вывожу подвал с итогами
    Секция=Таб1.ПолучитьСекцию("Гор|Верт"); косяк здесь, он видит только последнюю строку товара
    Таб2. ПрисоединитьСекцию(Секция);
    В Таб1 выводит все путем, проверял. Как быть? С функциями Вывести и ПрисоединитьСекцию уже по всякому развлекался, не помогает.
  2. †omynoker
    Offline

    †omynoker

    Регистрация:
    17 авг 2006
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Мне видится два варианта решения:
    1. Задать высоту ценника постоянной (максимальное количество строк в ценнике) и при отсутствии позиции выводить пустую строку. Тогда можно через ПрисоединитьСекцию выводить несколько ценников рядом (несколько колонок) и точно расчитать количество ценников на лист.
    2. Посчитать количество строк которое влазит на лист и просто расчитать количество строк перед их выведением. Например:
    ВысотаОчередногоЦенника = 14(высота шапки + количество строк + высота подвала (2 + 10 + 2))
    УжеВыведено = 22
    ВсегоНаЛист = 25
    Вывод: не подходит -> новая страница.
    У этого метода есть недостаток - можно печатать только в одну колонку или заморочится с предварительными расчетами и подставлять рядом ценники с одинаковым количеством строк... Б-р-р

    Успехов.
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    О! А в 7 нет разве такой же вещи, как в 8: ПроверитьВывод() и ПроверитьПрисоединение?

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