Имя: Пароль:
1C
1С v8
Вывести печать на новую страницу
,
0 Nic1
 
15.06.12
13:24
Платформа 8.2.15.257 файловый вариант. Совершенно не правильно работает метод КоличествоСтраниц(). Где одна страница, показывает то 2, то 4. Соответственно и метод ПроверитьВывод() неправильно работает, пробовал передавать параметром как ТабличныйДокумент, так и массив секций. Как еще можно проверить, что табличный документ занимает более 1 страницы?
1 andrewks
 
15.06.12
13:28
и где-ж ты его откопал-то?
2 Nic1
 
15.06.12
13:31
(1) кого его-то? )
3 andrewks
 
15.06.12
13:35
(2) релиз этот
4 Nic1
 
15.06.12
13:38
(3) думаешь, если поновее поставить поможет? просто находил в инете аналогичную проблему, у кого-то при переходе на 8.2.15 такая же проблема, а на 8.2.13 все нормально было. Попробуй щас обновиться, проверю...
5 hhhh
 
15.06.12
13:59
(4) да вообще такого релиза не было. Ты наверно с торрента скачал?
6 Nic1
 
15.06.12
17:12
Поставил релиз 1С 8.2.15.317, все то же самое
7 Nic1
 
15.06.12
17:12
(5) был, качаю только с http://users.v8.1c.ru
8 andrewks
 
15.06.12
17:17
ну, у остальных-то работает. значит, проблема на твоей стороне. начни с очистки кэша
9 Nic1
 
15.06.12
17:20
(8) попробую почистить кэш. Точно на этом релизе у всех работает или ты так предполагаешь? Просто ошибка такая не только у меня, есть и другие примеры.
10 andrewks
 
15.06.12
17:21
давай свою тестовую обработку, проверю у себя
11 Nic1
 
15.06.12
17:31
У меня формируется печатная форма документа.

Вот например, так:


   Выборка = Запрос.Выполнить().Выбрать();
   
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьСписокНоменклатурыШапка = Макет.ПолучитьОбласть("СписокНоменклатурыШапка");
   ОбластьСписокНоменклатуры = Макет.ПолучитьОбласть("СписокНоменклатуры");
   Подвал = Макет.ПолучитьОбласть("Подвал");

   ТабДок.Очистить();
   
   Пока Выборка.Следующий() Цикл
       
       Шапка.Параметры.Заполнить(Выборка);
       Шапка.Параметры.Дата=Формат(Выборка.Дата,"ДФ=dd.MM.yy");
       
       ТабДок.Вывести(Шапка, Выборка.Уровень());
       
       ТабДок.Вывести(ОбластьСписокНоменклатурыШапка);
       ВыборкаСписокНоменклатуры = Выборка.СписокНоменклатуры.Выбрать();
       ВсегоНаименований=ВыборкаСписокНоменклатуры.Количество();
       Пока ВыборкаСписокНоменклатуры.Следующий() Цикл
           ОбластьСписокНоменклатуры.Параметры.Заполнить(ВыборкаСписокНоменклатуры);
           ТабДок.Вывести(ОбластьСписокНоменклатуры, ВыборкаСписокНоменклатуры.Уровень());
       КонецЦикла;
       
       Подвал.Параметры.Заполнить(Выборка);
       
       ТабДок.Вывести(Подвал);
       
   КонецЦикла;

В и итоге в печатной форме занято полстраницы, но        Сообщить(ТабДок.КоличествоСтраниц()) выдает почему-то 2.
12 Nic1
 
15.06.12
17:34
(11) Т.е. реально, через просмотр и печать выходит на полстраницы. А оно выдает почему-то, что 2
13 Nic1
 
15.06.12
17:37
Может это связано с какими-то настрйоками форматирования. В инете как раз находил аналогичный случай. Когда имеется определенное форматирование, КоличествоСтраниц() выдает неверный результат
14 n koretsky
 
15.06.12
17:38
смотри в сторону настроек принтера. бывали и не такие глюки в свое время. после настройки принтера - попускало.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший