Имя: Пароль:
1C
1С v8
Проверить вывод() заполняет не полностью лист
0 log
 
25.12.13
10:19
Тут столкнулся с этой функцией, нужно заполнить лист полностью, а функция позволяет это сделать только на 60% максимум и считает, что больше не влезет на лист, чего ей не хватает?
1 butterbean
 
25.12.13
10:20
ориентация, масштаб и т.п.
2 Serg_1960
 
25.12.13
10:21
(0) Тут такое дело, хех... без озвучивания Вашего алгоритма - ну никак - в нём проблема возможно :)
3 kosts
 
25.12.13
10:28
(0) Проверить, что бы установка параметров документа была ДО проверки, а не ПОСЛЕ.
Во вторых проверить алгоритм.
В третьих, у меня лично был глюк, на одном принтере на первом лист не правильно определялось...
4 log
 
25.12.13
10:36
Принтеры менял, не помогло
5 log
 
25.12.13
10:38
ТабДокОбщ = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    Обл = Макет.ПолучитьОбласть("Тест");
    ВыводимыеОбласти = Новый Массив();
    
       ТабДокОбщ.ОриентацияСтраницы=ОриентацияСтраницы.Портрет;
    //ТабДокОбщ.АвтоМасштаб = Истина;
    ТабДокОбщ.РазмерСтраницы="A4";
    ТабДокОбщ.ВысотаСтраницы=297;
    ТабДокОбщ.ШиринаСтраницы=210;
    
    Для Сч=1 По 100 Цикл
                    
          ВыводимыеОбласти.Добавить(Обл);
          флВыводимыеОбластиУмещаютсяНаСтраницу = ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокОбщ,ВыводимыеОбласти, Ложь);
          Если флВыводимыеОбластиУмещаютсяНаСтраницу  Тогда
             ТабДокОбщ.Вывести(Обл);
          Иначе
          ВыводимыеОбласти.Очистить();
          ВыводимыеОбласти.Добавить(Обл);
          ТабДокОбщ.ВывестиГоризонтальныйРазделительСтраниц();  
          ТабДокОбщ.Вывести(Обл);
                
          КонецЕсли;
        
    КонецЦикла;
ТабДокОбщ.Показать();
6 butterbean
 
25.12.13
10:49
у тебя массив областей растет и на каждом шаге он все больше к середине листа проверяется вывод предыдущей половины листа :-)
7 log
 
25.12.13
10:53
(6) т.е. сначала надо проверить количество областей в массиве, а потом делать вывод в табдок?
8 butterbean
 
25.12.13
10:58
(7) в твоем случае в массиве для проверки всегда должна быть одна область
9 log
 
25.12.13
11:08
(8) как минимум одна там присутствует всегда, дело в том, что при 37 она считает, что область уже не влезет на страницу, причем тут "всегда должна быть одна область"?
10 log
 
25.12.13
11:08
если можно, поправьте мой код
11 Defender aka LINN
 
25.12.13
11:10
(9) СП читать не пробовал?
12 Defender aka LINN
 
25.12.13
11:10
(10) Если можно, перечислите нам свою зарплату за месяц.
13 milaffka
 
25.12.13
11:13
(6) точно - точно, сама с таким сталкивалась. в функцию надо передавать массив, который содержит ту информацию, вывод которой надо проверить(влезает на страницу или нет), а размер уже выведенных областей на табличный документ итак учитывается
14 log
 
25.12.13
11:18
(13) теперь понятно