|
|
|
| Подскажите, пожалуйста, кто знает...Такая ситуация: Отчет на 2-х страницах, примечание отчета уходит на вторую страницу, нижний колонтитул на первой странице выводится как ему и положено – внизу, т.е. между данными отчета и нижним колонтитулом получается разрыв. Нельзя ли заставить нижний колонтитул на первой странице печататься сразу после данных. Спасибо | |
|
| |
|
|
|
| колонтитул - он на то и колонтитул что бы печататься на краю страницы....
Отключите печать колонтитула на последней странице и сделайте примечание отчета таким что бы и данные из колонтитула тоже были в нем | |
|
| |
|
|
|
| Попробуйте так:
Создайте группировку по выражению "=1", в примечание группы перенесите все из нижнего колонтитула, а его спрячте. | |
|
| |
|
|
|
| Не проходит! У меня формируется «Товарная накладная». Если количество записей меньше чем заданное количество, то последняя запись переносится на следующую страницу, на первой странице получается разрыв, а примечание группы выводится в конце всех данных, т.е. на следующей странице. Получается что примечание группы в разрыв данных (строк отчета) я вставить не могу. Есть ли какой то другой способ решить эту проблему? Спасибо! | |
|
| |
|
|
|
|
Если количество записей меньше чем заданное количество, то последняя запись переносится на следующую страницу, на первой странице получается разрыв, а примечание группы выводится в конце всех данных, т.е. на следующей странице
|
У Вас же есть обработка этого условия? Включите эту в процедуру подавление колонтитула и вывод требуемого примечания сразу после данных | |
|
| |
|
|
|
| Все так и сделано, убрал колонтитул на первой странице, вывел примечание группы... Но так как данные разрываются на две страницы, соответственно примечание группы выводится всего лишь один раз – в конце данных на второй странице. Доступно только использование колонтитула, что нежелательно. Если бы был способ (програмно) разбить данные на группы – для каждой страницы своя, думаю что проблема была бы решена. Что то подскажете? Спасибо. | |
|
| |
|
|
|
| >Если бы был способ (програмно) разбить данные на группы – для каждой страницы своя
Нет такого способа.
Могу предложить пару вариантов.
1. Создать группу по ID записи. Тогда в нужный момент можно показать заголовок или примечание этой группы для конкретной записи..
2. В области данных положить и поля (скрытые), которые сейчас у вас в колонтитуле. В нужный момент скрываете одни поля, показываете другие, и Me.NextRecord=False. На следующей записи всё восстановить. ИМХО, у вас обработка переноса записи на след. станицу выполняется на событии Detail_Print? В данном варианте она не нужна. | |
|
| |
|
|
|
| Наверное больше подходит вариант 2. Работает примерно такой код по событию Detail_Format
Dim stroka As Long
stroka =3
If Me.Поле56 Mod stroka <> 0 Then ’ Поле56 - счетчик
Detail.ForceNewPage = 0
Me!П33.Visible = False ‘ поле в области данных
Else
Detail.ForceNewPage = 1
End If
If Me.Поле56 Mod stroka = 0 Then
Me!П33.Visible = True
End If
Здесь П33 выводится вместе с третьей строкой (и далее во всех строках на другой странице), а нужно чтобы П33 выводилось в четвертой (со скрытыми данными) строке на первой странице и далее в других строках не выводилось, подскажите что не так. Спасибо. | |
|
| |
|
|
|
| Судя по приведенному коду ситуация длжна быть другой - каждая запись печатается трижды, и в каждой третей записи поле П33 - показывается.
То, что вы описали может получиться, если не срабатывает условие
If Me.Поле56 Mod stroka <> 0 Then
Для 4-й строки я бы сделал так:
Dim fl As Boolean
fl = (Me.Поле56=4)
Me.ForceNewPage = Not fl
Me!П33.Visible = fl
Me!остальные.Visible = Not fl | |
|
| |
|
|
|
| Ситуация была как раз такая как я описывал. На данный момент, благодаря вашему варианту 2, задачу всетаки решил. Пришлось правда подправить код и все заработало. Если хотите посмотреть я пришлю.Там ничего сверхестественного нет так что могу отправить в следующем сообщении. А за идею БОЛЬШОЕ СПАСИБО!!! | |
|
| |