|
Не работает ПовторятьПриПечатиСтроки | ☑ | ||
---|---|---|---|---|
0
Cоляпсус
05.04.18
✎
17:31
|
Здравствуйте. Понимаю, что тема много раз объезжена, почитал в всемирном мозге. Как мне кажется должно работать, но работает только при печати через предварительный просмотр. А через просто кнопку печать заголовок не печатается на второй странице. Подскажите, что не так. Написал у себя нужные две строчки, но не работает.
ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); ТабДок.ПовторятьПриПечатиСтроки = ТоварыОбласть; Заранее благодарен |
|||
1
Cоляпсус
05.04.18
✎
17:38
|
Так же пробовал через
ТоварыОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ТоварыШапкаТаблицы"); ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("ТоварыШапкаТаблицы"); ситуация была той же |
|||
2
Cоляпсус
05.04.18
✎
17:46
|
Кто-то может встречался с этой ситуацией. Хотелось обойтись без ПроверкиВывода() или тут никак?
|
|||
3
Cоляпсус
05.04.18
✎
17:48
|
Ссори через ПроверитьВывод ()
|
|||
4
Ёпрст
05.04.18
✎
17:54
|
нужно область не макета пихать
|
|||
5
Cоляпсус
05.04.18
✎
17:59
|
(0) Ну так здесь я и пихал областьЯчеекТабличногоДокумента
|
|||
6
Ёпрст
05.04.18
✎
18:00
|
На предварительном просмотре, шапка твоя повторяется ?
|
|||
7
Cоляпсус
05.04.18
✎
18:01
|
Ну да, на предварительном есть и печатаешь есть, на ПЕЧАТЬ нет
|
|||
8
Cоляпсус
05.04.18
✎
18:03
|
Добился в печатной форме вывод шапки через ПроверитьВывод, но так же вижу это на экранной форме, можно как то избавится?
|
|||
9
Cоляпсус
05.04.18
✎
18:04
|
От шапки в экранной форме. чтобы её не видеть, но печаталась (8)
|
|||
10
Ёпрст
05.04.18
✎
18:04
|
(7) если на предв. просмотре всё есть, тогда всё работает как надо
Если что-то нет при печати, то попробуй воткнуть ТабДок.Вывод = ИспользованиеВывода.Разрешить хотя это для записи в файло.. Печать потом, через что ? Через универсаольную обработку печати с макетом на форме ? |
|||
11
Ёпрст
05.04.18
✎
18:05
|
Повторять при печати строки, будет только на предв просмотре, и при печати (на бумаге) если что.
Визуально, на форме ты этого не увидишь |
|||
12
Cоляпсус
05.04.18
✎
18:07
|
Так ситуация обратная, при ТабДок.ПовторятьПриПечатиСтроки, не вижу на экране, не вижу на бумаге через команду ПЕЧАТЬ, но вижу при предварительном просмотре и вижу на бумаге при печати, через предварительный просмотр
|
|||
13
Cоляпсус
05.04.18
✎
18:08
|
А при проверитьВыовод(), всё хорошо печатаестя, но на экране шапка видна при разрыве, там она конечно лишняя
|
|||
14
Cоляпсус
05.04.18
✎
18:09
|
(10) Нет не работает всётаки как надо. ((
|
|||
15
Cоляпсус
06.04.18
✎
09:14
|
Доброе утро всем. Вынужден повторится.
Необходимо, чтобы шапка документа, печаталась на каждой странице, когда таблица выходит за рамки одной страницы. Для этого ей было подано: ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); - область ячеек табдока. Если ТабДок.ПроверитьВывод(ТоварыОбластьДетальныхЗаписей) = Ложь Тогда ТабДок.ПовторятьПриПечатиСтроки = ТоварыОбласть; КонецЕсли; Но ситуация продолжает оставаться прежней: При печати командой ПЕЧАТЬ на форме, вторая страница выходит без шапки. При печати - Предварительный просмотр, видно что шапка на второй странице есть и печать из предварительного просмотра, листы печатаются как нужно с шапкой на второй странице. Кто-то может знает как исправить ситуацию? Пробовал после Тогда - ТабДок.Вывести(ТоварыОбластьШапкаТаблицы); Но тогда разделение видно на экранном отображении, а это всётаки лишнее |
|||
16
George Wheels
06.04.18
✎
09:29
|
ТоварыОбласть = ТабДок.Область("R1:R2");
ТабДок.ПовторятьПриПечатиСтроки = ТоварыОбласть; R1:R2 - это две первые строки. Сколько у тебя (и с какой строки повторять) тебе лучше знать. |
|||
17
Cоляпсус
06.04.18
✎
09:39
|
(16) Ну так на всякий случай я пробовал. Ситуация одинаковая, как с
ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); ТабДок.ПовторятьПриПечатиСтроки = ТоварыОбласть; при предварительном есть, при печати команда нет. |
|||
18
George Wheels
06.04.18
✎
09:47
|
После того как ТД уже сформирован, при печати могут повторяться только его строки, а не строки макета.
В (2) ты писал ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("ТоварыШапкаТаблицы"); но в ТабДок нет области "ТоварыШапкаТаблицы" |
|||
19
Cоляпсус
06.04.18
✎
09:59
|
(18) это я понял и поэтому зададл областьячеекТабличноДокумента
ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); но ситуация не изменилась специально ещё раз попробывал ТоварыОбласть = ТабДок.Область("R1:R2"); - всё тоже, всё там же |
|||
20
ptiz
06.04.18
✎
10:04
|
(19) Ты всю ветку ходишь по одним и тем же граблям: указывать надо область ячеек табличного документа, который печатаешь.
Приведи полный код, ткнем тебя носом в грабли еще раз. |
|||
21
Cоляпсус
06.04.18
✎
10:08
|
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТоварыОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ТоварыШапкаТаблицы"); ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); ТоварыОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("ТоварыДетали"); ТабДок.Очистить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыбДетЗаписи = РезультатЗапроса.Выгрузить(); ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.АвтоМасштаб = Истина; ТабДок.Вывести(ОбластьЗаголовок); ОбластьЗаголовок.ТекущаяОбласть.Шрифт = Новый Шрифт(,14,Истина); ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыбДетЗаписи[0]); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); ТабДок.Вывести(ТоварыОбластьШапкаТаблицы); // ///////////////////////////////////////////// ВставлятьРазделительСтраниц = Ложь; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл //перебора массива объектов Если ВставлятьРазделительСтраниц = Истина Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1; ТоварыОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ТоварыОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); //подключимся к общ механизму обл печати УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДок, НомерСтрокиНачало, ОбъектыПечати, ВыборкаДетальныеЗаписи.Ссылка); //ВставлятьРазделительСтраниц = Истина; Если ТабДок.ПроверитьВывод(ТоварыОбластьДетальныхЗаписей) = Ложь Тогда ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R6C1:R6C10");; //ОбластьДетальныхЗаписей.Параметры.Заполнить(ТоварыОбласть); КонецЕсли; КонецЦикла; //перебора массива объектов Возврат ТабДок; |
|||
22
Cоляпсус
06.04.18
✎
10:08
|
Спасибо, что ткнёте, но казалось, что стараюсь правильно сделать
|
|||
23
Cоляпсус
06.04.18
✎
10:21
|
Куда-то все делись
|
|||
24
ptiz
06.04.18
✎
10:33
|
(21) Тут верно:
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R6C1:R6C10");; А вот алгоритм неправильный. Выкинь это условие: Если ТабДок.ПроверитьВывод(ТоварыОбластьДетальныхЗаписей) = Ложь Тогда ПовторятьПриПечатиСтроки - само выводит на каждой странице, незачем это условие втыкать. |
|||
25
Cоляпсус
06.04.18
✎
10:33
|
Было много людей и как-то сразу стала не интересна тема
|
|||
26
Cоляпсус
06.04.18
✎
10:35
|
(24) Согласен,так и было изначаль, но я это условие поставил только для того чтобы попробовать изменить ситуацию описанную (15), но никак не меняется ситуёвина. Но сейчас специально ещё разок попробую
|
|||
27
ptiz
06.04.18
✎
10:38
|
И вынеси ТабДок.ПовторятьПриПечатиСтроки после цикла
|
|||
28
Cоляпсус
06.04.18
✎
10:43
|
Так и сделал, не меняется ситуёвина.
Вот что пишет отладчик, тут наверное и проблема, (не уверен конечно) http://prntscr.com/j1lvd3 |
|||
29
Cоляпсус
06.04.18
✎
10:59
|
Как заговорённая, .лин
|
|||
30
ptiz
06.04.18
✎
10:59
|
(28) Еще раз покажи весь код.
|
|||
31
ptiz
06.04.18
✎
11:02
|
И - да, область задавать лучше строками:
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(6,,10,); |
|||
32
Cоляпсус
06.04.18
✎
11:42
|
Запрос.УстановитьПараметр("Ссылка", МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТоварыОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ТоварыШапкаТаблицы"); ТоварыОбласть = Макет.Область("ТоварыШапкаТаблицы"); ТоварыОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("ТоварыДетали"); ТабДок.Очистить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыбДетЗаписи = РезультатЗапроса.Выгрузить(); ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДок.АвтоМасштаб = Истина; ТабДок.Вывести(ОбластьЗаголовок); ОбластьЗаголовок.ТекущаяОбласть.Шрифт = Новый Шрифт(,14,Истина); ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыбДетЗаписи[0]); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); ТабДок.Вывести(ТоварыОбластьШапкаТаблицы); ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("ТоварыШапкаТаблицы");//ТоварыОбласть; // ///////////////////////////////////////////// ВставлятьРазделительСтраниц = Ложь; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл //перебора массива объектов Если ВставлятьРазделительСтраниц = Истина Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1; ТоварыОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ТоварыОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); //подключимся к общ механизму обл печати УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДок, НомерСтрокиНачало, ОбъектыПечати, ВыборкаДетальныеЗаписи.Ссылка); //ВставлятьРазделительСтраниц = Истина; //Если ТабДок.ПроверитьВывод(ТоварыОбластьДетальныхЗаписей) = Ложь Тогда //ОбластьДетальныхЗаписей.Параметры.Заполнить(ТоварыОбласть); //КонецЕсли; КонецЦикла; //перебора массива объектов ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R6C1:R6C10"); Возврат ТабДок; |
|||
33
Cоляпсус
06.04.18
✎
11:46
|
Заменил на
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(6,,6,); та же ф..ня(( |
|||
34
Cоляпсус
06.04.18
✎
11:46
|
В смысле через предварительно отлично работает, через ПЕЧАТЬ - перебьётесь называется
|
|||
35
Ёпрст
06.04.18
✎
13:39
|
(34)
Что значит "через" печать ? 1.В предварительном просмотре, есть твои повторяющиеся строки ? 2. На бумаге, после печати, они есть ? если ответ да и да, то так и должно быть Если ты хочешь видеть ЭТО на поле табличного документа на форме, то ты ЭТОГО не увидишь... хз, как тебе еще объяснить |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |