|
Функция ПроверитьВывод() в поле табличного документа | ☑ | ||
---|---|---|---|---|
0
mishula2005
10.05.17
✎
18:43
|
Нужна помощь: вывожу данные в поле табличного документа. Программно формирую текст, вставляю в ячейку и делаю проверку функцией ПроверитьВывод() на входжение на страницу. НО не всегда срабатывает эта функция. В отладчике проверяла - вроде ячейка уже должна перенестись на новую страницу - а результат проверки "Истина" - в итоге при сохранении документа в *.pdf выводится криво.
Принтер не установлен, поэтому не знаю какие настройки еще установить... Процедура ПроверитьВыводНаСтраницу(ПроверяемаяОбласть,ОбластьШтамп) МассивОбластей = Новый Массив; МассивОбластей.Добавить(ПроверяемаяОбласть); МассивОбластей.Добавить(ОбластьШтамп); Если не ОсновноеТабличноеПоле.ПроверитьВывод(МассивОбластей) Тогда ВывестиШтампВКонцеСтраницы(ОбластьШтамп); ОсновноеТабличноеПоле.Вывести(ПроверяемаяОбласть); МассивОбластей.очистить(); КонецЕсли; ОсновноеТабличноеПоле.Вывести(ПроверяемаяОбласть); КонецПроцедуры |
|||
1
catena
10.05.17
✎
18:46
|
Приведенного кода недостаточно. Неизвестно, что происходит в ВывестиШтампВКонцеСтраницы(), а ПроверяемаяОбласть в некоторых случаях выводится дважды...
|
|||
2
catena
10.05.17
✎
18:47
|
Ну и не видно, что массив областей заполняется перед проверкой.
|
|||
3
mishula2005
10.05.17
✎
18:55
|
(1) вот так вывожу штамп в конце страницы
Процедура ВывестиШтампВКонцеСтраницы(ОбластьПустаяСтрока,ОбластьШтамп,НомСтр) МассивОбластей = Новый Массив; МассивОбластей.Добавить(ОбластьШтамп); МассивОбластей.Добавить(ОбластьПустаяСтрока); Пока ОсновноеТабличноеПоле.ПроверитьВывод(МассивОбластей) Цикл ОсновноеТабличноеПоле.Вывести(ОбластьПустаяСтрока); КонецЦикла; ОсновноеТабличноеПоле.Вывести(ОбластьШтамп); ОсновноеТабличноеПоле.ВывестиГоризонтальныйРазделительСтраниц(); КонецПроцедуры А по выводу проверяемойОбласти - поняла. исправлю.. |
|||
4
mishula2005
10.05.17
✎
18:57
|
(2) Массив заполняется, в отладчике проверяла..
МассивОбластей = Новый Массив; МассивОбластей.Добавить(ПроверяемаяОбласть); МассивОбластей.Добавить(ОбластьШтамп); |
|||
5
Ц_У
10.05.17
✎
18:57
|
(3) может стоит добавить еще и ранее выведенную область?
|
|||
6
catena
10.05.17
✎
19:03
|
(4)Не массив. Для проверки должны ыть заполнены сами области. Но судя по тому, что они сразу выводятся, там должно быть все в порядке.
|
|||
7
mishula2005
10.05.17
✎
19:11
|
(5) Процедура вывода штампа в конце страницы отрабатывает хорошо, проблема в выводе (1) - ни в какую не проверяет что область не входит на страницу
|
|||
8
mishula2005
10.05.17
✎
19:13
|
(6) Да, сами области заполняются нормально, вот только не переносятся на следующую станицу...
|
|||
9
Злопчинский
11.05.17
✎
01:24
|
Если принтер не установлен тоткак система тебе отрисует страницу чтобы проверить влащит это или нет
|
|||
10
catena
11.05.17
✎
06:13
|
(9)Ну, в справке написано, что без принтера будет вываливаться исключение.
|
|||
11
BoberKurit Bambuk
11.05.17
✎
06:20
|
(10) Скорее всего есть виртуальный Adobe PDF принтер.
|
|||
12
catena
11.05.17
✎
06:23
|
(11)Это не важно, виртуальный или физический. Главное, что ПроверитьВывод() отлично отрабатывает, если ее правильно готовить.
|
|||
13
Злопчинский
11.05.17
✎
06:40
|
(12) отсюда вопрос как правильно готовить?
|
|||
14
catena
11.05.17
✎
06:45
|
(13)Сложно сказать, потому что автор врет. В (3) совсем не та процедура ВывестиШтампВКонцеСтраницы, что используется в (0).
|
|||
15
catena
11.05.17
✎
06:45
|
+(14)В смысле, сложно сказать, как готовят в данном случае)) А в целом все просто строго по документации: заполнить и проверить. Проверить то, что заполняем и выводить то, что проверяем.
|
|||
16
Fedor-1971
11.05.17
✎
09:05
|
(0) Заполни массив так:
- уже выведенное в табличный документ (большущая область предыдущего вывода) - область которую хочешь сейчас выводить - область штампа (что-бы штамп не остался на пустой странице) иначе, то что ты выводишь всегда влезет на страницу (одна строка и штамп - редко занимают больше одной страницы) Если тебе не нужно выводить некую информацию в конце страницы, например, часть бланка то используй ВывестиГоризонтальныйРазделительСтраниц(), а не выводи пустые строки |
|||
17
catena
11.05.17
✎
09:09
|
(16)Вы не правы. http://its.1c.ua/db/metod8dev#content:2226:hdoc
|
|||
18
Fedor-1971
11.05.17
✎
09:22
|
(17) да попутал малость, ранее выведенный документ в массиве не нужен.
В примере есть нюанс - в массив добавлена пустая область, а в реале она может занимать больше места чем в макете |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |