8.х Некорректно работает метод ПроверитьВывод()

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем skygge, 23 сен 2010.

  1. TopicStarter Overlay
    skygge
    Offline

    skygge

    Регистрация:
    15 сен 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Доброго всем времени суток. Печатаю ценники все красиво все хорошо. Проверяю помещается ли новый ценник на этой страницы методом ПроверитьВывод(), если нет то делаю горизонтальный разрыв и переношу новый ценник на новую страницу если помещается то вывожу на эту страницу. Проблема в чем для первой страницы он делает разрыв раньше чем нужно, т.е. остается еще место для двух рядов ценников, но он переносит на новую страницу. А начиная со второй страницы все красиво.

    P.S.
    HELP ..java script:emoticon(':aua:', 'smid_5')

    Вот код

    Код:
    Если НЕ ЗначениеЗаполнено(Организация) Тогда
    Предупреждение("Не выбрана организация!");
    Возврат;
    КонецЕсли;
    
    ТабДокумент                       = Новый ТабличныйДокумент;
    ТабДокумент.АвтоМасштаб           = Истина;
    ТабДокумент.ОриентацияСтраницы    = ОриентацияСтраницы.Портрет;
    ТабДокумент.ПолеСверху            = 0;
    ТабДокумент.ПолеСлева             = 5;
    ТабДокумент.ПолеСнизу             = 0;
    ТабДокумент.ПолеСправа            = 5;
    ТабДокумент.ТолькоПросмотр        = Истина;
    ТабДокумент.ОтображатьГруппировки = Ложь;
    ТабДокумент.ОтображатьЗаголовки   = Ложь;
    ТабДокумент.ОтображатьСетку       = Ложь;
    
    Макет                             = ПолучитьМакет("Ценник");
    ОбластьЦенника                    = Макет.ПолучитьОбласть("Строка|Столбец");
    
    ДатаПечати = РабочаяДата;
    
    ТекСтолбец = 0;
    ТекСтрока  = 0;
    МассивВыводимыхОбластей = Новый Массив;
    Для Каждого СтрокаТаблицы Из Товары Цикл
    Если СтрокаТаблицы.Печать Тогда
    Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
    ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы);
    ОбластьЦенника.Параметры.НоменклатураНаименование        = СокрЛП(СтрокаТаблицы.Номенклатура.Наименование);
    ОбластьЦенника.Параметры.ЕдиницаНаименование             = СтрокаТаблицы.ЕдиницаИзмерения;
    ОбластьЦенника.Параметры.Цена                            = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, , "00");
    ОбластьЦенника.Параметры.ДатаПечати                      = ДатаПечати;
    ОбластьЦенника.Параметры.Организация                     = Организация;
    ОбластьЦенника.Параметры.Код                             = СтрокаТаблицы.Номенклатура.Код;
    
    МассивВыводимыхОбластей.Очистить();
    МассивВыводимыхОбластей.Добавить(ОбластьЦенника);
    
    Если НЕ ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    
    
    Если ТекСтолбец = 0 Тогда
    ТабДокумент.Вывести(ОбластьЦенника);
    Иначе
    ТабДокумент.Присоединить(ОбластьЦенника);
    КонецЕсли;
    
    ТекСтолбец = ТекСтолбец + 1;
    
    Если ТекСтолбец = 5 Тогда
    ТекСтрока  = ТекСтрока + 1;
    ТекСтолбец = 0;
    КонецЕсли;
    
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;
    
    ТабДокумент.Показать();
    
    
  2. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.400
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Есл честно, ошибок не вижу, лист ни чем не ограничен?
    Функцию ПроверитьВывод 1С-ники так и не доработали, я бы порекомендовал использовать метод ПОПЫТКА, в противном случае, если принтер не установлен, выкидывает ошибку, пользователю вовсе не понятную (вывод прерывается), он сразу пугается и бежит к программисту.
  3. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Мелочь: перенесите проверку внутрь условия на ТекущаяКолонка = 0 (зачем проверять высоту каждый раз, если вы выводите по горизонтали?)

    Также проверьте, что стоит в настройках печати для первой страницы - может, у вас задан колонтитул нижний огромный?

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