ALLOW (контроль висячей строки)
ALLOW(value)
value | Целочисленная константа или переменная, содержащая число строк. |
Атрибут ALLOW разработан для подавления "сирот", висячих строк, при печати. VALUE задает минимальное число строк, которое должно оставаться для печати DETAIL-структур после печати заголовков, подножий и других DETAIL-структур. Если для размещения DETAIL-структуры не хватает строк, то происходит ПЕРЕПОЛНЕНИЕ СТРАНИЦЫ.
Допустим, у отчета LENGTH(60) и 50 строк уже напечатано на странице (внутренний счетчик строк=51). Если подножие занимает 3 строки, то для DETAIL-структур остается 7 строк. Если DETAIL-структура занимает 5 строк, то все нормально - ей хватит места. Если же у DETAIL-структуры есть атрибут ALLOW(5), то произойдет ПЕРЕПОЛНЕНИЕ СТРАНИЦЫ перед печатью DETAIL-структуры. Элементарная арифметика: осталось 7 строк, минус 5 (которые займет сама DETAIL-структура) получим две. А 2, это несколько меньше, чем 5, требуемых атрибутом ALLOW(5).
Для вычисления свободного места на странице используются еще и значения атрибутов SEPARATE.
Пример:
CustRpt REPORT,LENGTH(60) !60 строк на странице отчета
Head HEADER
!описания элементов структуры
.
GroupHead DETAIL,ALLOW(5) !Must allow 5 CustDetail lines
!5 строк - элементы структуры ! after the group header
.
CustDetail DETAIL !Элементы DETAIL
!1 строка - элемент структуры
.
Foot FOOTER !Это подножие занимает до 3 строк
!3 строки - элементы структуры
.
. !Конец описаний отчета