|
Проверить, умещается ли группировка на страницу, СКД. | ☑ | ||
---|---|---|---|---|
0
iogann1691
06.02.17
✎
14:04
|
Добрый день уважаемые.
Нужна помощь, сделал отчет на СКД, выводятся группировки по работнику (таблица расчетов), нужно определить, умещается ли таблица по работнику на странице и сделать разрыв. P.S таблицы могут быть разного размера и могут быть и 3 и 4 штуки на листе. Прошу помочь, как можно это определить в ПриКомпоновкеРезультата. Заранее благодарен. |
|||
1
iogann1691
06.02.17
✎
16:11
|
ХЕЕЕЛПП!
|
|||
2
shamannk
06.02.17
✎
16:14
|
Напиши лучше зачем тебе это.
|
|||
3
iogann1691
06.02.17
✎
16:24
|
(2) у меня идет отчет по работникам, у каждого работника есть какие то движения, выводится примерно как расчетные листки, вот надо определить, влезла ли у меня табличка по работнику на страницу или перенести на следующую
|
|||
4
iogann1691
06.02.17
✎
16:25
|
(3) но отчет на СКД
|
|||
5
shamannk
06.02.17
✎
16:25
|
(3) Само не переносится чтоли?
|
|||
6
shamannk
06.02.17
✎
16:27
|
||||
7
iogann1691
06.02.17
✎
16:29
|
(6) курил статью, но тут разрыв на каждую таблицу, а мне нужно вывести столько таблиц, сколько поместится, их может может быть N-ное количество
|
|||
8
Начинающий Юзер
06.02.17
✎
16:34
|
В ПриКомпоновкеРезультата() делать свой вывод отчета. В процессе вывода контролировать влезания на лист (как это обычно делается в печатных формах)
|
|||
9
iogann1691
06.02.17
✎
16:36
|
(8) вот это то я и делаю, вот только не получается, отсюда прошу помощи, как можно проконтролировать, влазиет ли на лист?
|
|||
10
Начинающий Юзер
06.02.17
✎
16:40
|
(9) Методы ПроверитьВывод(), ПроверитьПрисоединение() + выводить в свой макет. Да, коряво, но точно будет работать
|
|||
11
iogann1691
06.02.17
✎
16:42
|
(10) попробовал так
ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ДокументРезультат.АвтоМасштаб = Истина; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.НачатьВывод(); ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Пока НЕ ЭлементРезультатаКомпоновкиДанных = Неопределено Цикл ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных); Если НЕ ДокументРезультат.ПроверитьВывод(ДокументРезультат) Тогда Если ЭлементРезультатаКомпоновкиДанных.Макет = "Макет6" Тогда ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; КонецЕсли; ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; //СлужебныйПроцессорВывода.ЗакончитьВывод(); ПроцессорВывода.ЗакончитьВывод(); Но не работает, разрезает как попало, где накосячил? |
|||
12
iogann1691
06.02.17
✎
16:43
|
(10) Макет 6, это моя отбивка
|
|||
13
Начинающий Юзер
06.02.17
✎
17:08
|
(12) Посмотри в типовых как сделан вывод печатных форм (ТОРГ-12 например), а сейчас ты ерунду написал.
И скорее всего придется делать свой макет, вывод через ПроцессорВывода не прокатит |
|||
14
Начинающий Юзер
06.02.17
✎
17:16
|
Алгоритм вывода должен быть следующий:
1. Набираешь области, которые должны влезать на один лист. 2. Проверяешь через ПроверитьВывод() 3. Если в п.2 влазят на лист - выводишь области из п.1 в табличный документ, иначе - вставляешь разрыв страницы и переходишь на новый лист |
|||
15
iogann1691
07.02.17
✎
15:33
|
(14) сделал следующим образом, вывел результат СКД в таб док, одновременно заполнил другой (вспомогательный табдок), определил умещается ли на лист и вывел разделитель в результате.
|
|||
16
iogann1691
07.02.17
✎
15:40
|
(14) всем спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |