|
Помогите с печатью - найти конец страницы | ☑ | ||
---|---|---|---|---|
0
oleg_prg
14.12.12
✎
11:23
|
Уважаемые форумчане, помогите пожалуйста.
Необходимо при печати найти конец страницы и вывести нужную область делаю так Процедура ПечатьТЧДокумента(Макет, ТабДокумент, ТЗ, ЭтоПрил, Шапка = 0) МассивВыводимыхОбластей = Новый Массив; // создадим массив для проверки вывода Если ЭтоПрил = 1 Тогда //Если это приложение то к областям добавим его шапку МассивВыводимыхОбластей.Добавить(Шапка); КонецЕсли; НПП = 0; Для А = 0 По ТЗ.Количество()-1 Цикл НПП = НПП + 1; ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(НПП)+" "+СокрЛП(ТЗ[А].Номенклатура.Наименование)+" "+ТЗ[А].Характеристика; ОбластьМакета.Параметры.ЕдиницаИзмерения = СокрЛП(ТЗ[А].ЕдИзм); ОбластьМакета.Параметры.Количество = ТЗ[А].Количество; ОбластьМакета.Параметры.Цена = ТЗ[А].Цена; ОбластьМакета.Параметры.Сумма = ТЗ[А].Сумма; ОбластьМакета.Параметры.СтавкаНДС = ТЗ[А].СтавкаНДС; ОбластьМакета.Параметры.СуммаНДС = Формат(ТЗ[А].СуммаНДС,"ЧН=---"); ОбластьМакета.Параметры.Всего = ТЗ[А].Всего; ОбластьМакета.Параметры.Примечание = ТЗ[А].Примечание; Попытка ОбластьМакета.Параметры.КолГМ = ТЗ[А].Количество; Исключение КонецПопытки; ТабДокумент.Вывести(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьМакета); //Добавим строку к областым Если Не ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда ТабДокумент.Вывести(Макет.ПолучитьОбласть("Тест")); //Если конец страницы - значит выводим тестовую запись КонецЕсли; КонецЦикла; КонецПроцедуры Но! Ошибка в том, что выводится конец страницы не там где надо |
|||
1
Галахад
гуру
14.12.12
✎
11:27
|
А где надо?
|
|||
2
oleg_prg
14.12.12
✎
11:29
|
Вот скрин http://files.mail.ru/PM82Q7 как получается
|
|||
3
kosts
14.12.12
✎
11:29
|
(0) Уже выведенные области не нужно запихивать в массив
МассивВыводимыхОбластей.Добавить(ОбластьМакета); |
|||
4
kosts
14.12.12
✎
11:34
|
Попытка
ОбластьМакета.Параметры.КолГМ = ТЗ[А].Количество; Исключение КонецПопытки; // ТабДокумент.Вывести(ОбластьМакета); // МассивВыводимыхОбластей.Добавить(ОбластьМакета); //Добавим строку к областым Если Не ТабДокумент.ПроверитьВывод( ОбластьМакета ) Тогда ТабДокумент.Вывести(ОбластьМакета); Иначе ТабДокумент.Вывести(Макет.ПолучитьОбласть("Тест")); //Если конец страницы - значит выводим тестовую запись ТабДокумент.Вывести горизонтальный разделитель(); КонецЕсли; |
|||
5
kosts
14.12.12
✎
11:38
|
(4) Поторопился чуть
Если Не ТабДокумент.ПроверитьВывод( ОбластьМакета ) Тогда ТабДокумент.Вывести(Макет.ПолучитьОбласть("Тест")); //Если конец страницы - значит выводим тестовую запись ТабДокумент.Вывести горизонтальный разделитель(); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); |
|||
6
oleg_prg
14.12.12
✎
11:52
|
(6) Спасибо за советы, с массивом я понимал что надо очистить, но главная проблема в том, что я получаю не верную позицию переноса страницы
http://files.mail.ru/PC2Z6S вот скрин |
|||
7
oleg_prg
14.12.12
✎
11:54
|
и то что на странице 2, то же самое (имею в виду ранний перенос) и на всех последующих страницах
|
|||
8
sTOd
14.12.12
✎
12:02
|
Установи чётко параметры страницы, т.е. поля, колонтитулы, маштаб, тогда и заработает.
|
|||
9
oleg_prg
14.12.12
✎
12:06
|
УРРРААА! Спасибо огромное Kosts и sTOd, все заработало!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |