|
v7: Программно получить номер страницы отчета | ☑ | ||
---|---|---|---|---|
0
pcica
24.05.12
✎
16:34
|
Перечитал все что отдал по запросу гугл. Все равно не получается :(
Помогите. Задача следующая: нужно чтобы каждый заказ в отчете - бывет и 3 строчки бывает и на 2 страницы шел неразрывно с новой страницы. т.к. менеджер разрезает ножницами листик и отдает в цех. Метод Сервис.ВысотаСтрокиТаблицы от FormEx приклеил к отчету. Взял высоту А4 как 297 мм и подсчитываю длину строк. как только набегает 297мм я вставляю разрыв страницы в то место где был ближайший начало заказ (символ "-") и начинаю отсчет заново. Работает только тогда когда стоит масшат 100%. Но отчет "плавающи" по ширине поэтому не знаю что делать. Не работает когда в параметрах страницы стоит "По ширине листа". Отчет на страницы разбивается некорректно. Вопрос: может есь возможность както автомасштаб одеть на расчет длины страницы? ВОт кусочек того что сделано: После формирования отчета вот такой кусок: Сервис = СоздатьОбъект("Сервис"); Таб.Показать("Тест"); Сервис.ПрятатьТаблицу(Таб,1); дл = 0; длСтр = 297; // мм. А4 длНовЗак = 0; ПозНоЗак = 0; НомСтрНовСтр = 0; Для инд = 1 по Таб.ВысотаТаблицы() Цикл дл = дл + Сервис.ВысотаСтрокиТаблицы(Таб, инд, 3); длНовЗак = длНовЗак + Сервис.ВысотаСтрокиТаблицы(Таб, инд, 3); Если дл > длСтр Тогда // перешли на другую страницу Таб.НоваяСтраница(НомСтрНовСтр); дл = длНовЗак; КонецЕсли; Если Таб.Область("R"+инд+"C1").Текст="-" Тогда ПозНоЗак = дл; НомСтрНовСтр = инд; длНовЗак = 0; КонецЕсли; КонецЦикла; Сервис.ПрятатьТаблицу(Таб,0); Спасибо!!! |
|||
1
pcica
24.05.12
✎
16:36
|
Уточню: видимо когда происходит масшабирование по "ширине страницы" параметра 297 мм для А4 уменьшается пропорционально "сжатию". Соответственно у меня все "плывет"
Правильно мыслю? |
|||
2
pcica
24.05.12
✎
16:40
|
Еще уточнение: в коде ошибка. Не то скопировал - тренировался.
метод вызывается как Сервис.ВысотаСтрокиТаблицы(Таб, инд, 1); параметр 3 - я подбирал юниты - не помогло для разбивки. |
|||
3
Злопчинский
24.05.12
✎
18:45
|
Сделай секции фиксированной высоты. а чтобы влазил тектс если он длинный - автоподбор шрифта Автоподбор шрифта
|
|||
4
Злопчинский
24.05.12
✎
18:46
|
хотя с другой стороны - и этого не надо:
какая проблема для каждого нового заказа просто тупо начинать с новой страницы? вопрос чисто в экономии бумаги..? |
|||
5
pcica
24.05.12
✎
23:36
|
Ну да. Бывают заказы на 3-5 строчек. бывают на целый лист.
Начальство недовольно когда целый лист на 3-5 строчек тратится. В принципе для этой цели и был сделан отдельный отчет, где бы манагеры могли отбирать группу заказов и делать им общую печать. Перелопатил много всего за день и на данный момент решил проблему с помошью программы Йоксель. Отчет копируется в эксель через обработку йоеселя и там манагер уже сам разбивает на страницы печать. |
|||
6
Злопчинский
25.05.12
✎
01:04
|
(5) еврейское решение.
|
|||
7
Злопчинский
25.05.12
✎
01:05
|
можно сделать как в (3), а можно и даже без фикисрованной высоты - и вычислять...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |