Имя: Пароль:
1C
1С v8
Макет, и разное количество даных
0 tempaccount
 
29.08.13
02:11
Доброго времени суток.
Заранее прошу прощение за вопрос:

Есть макет. Состоит из двух частей:
Нижняя часть Таблица, с ней все ясно (почти), классически заполняется.
Верхняя же, это блоки (название, число и место под подпись), их количество ограничено, но заранее (Само-собой) не известно и разниться. Таких блоков в ширину помещается, допустим, 3, и строчки 2.

Цель: а) Неважно сколько блоков, даже при отсутствии, размеры полей статичны, т.е. все пустое, но таблица ВСЕГДА начинается в определенной позиции (т.е. распечатаем 1000 разных экземпляров, а таблица в одном месте, на каждом листе).

б) Как сделать добавление этих блоков корректно?

Я, экий криворук, из-за без опытности предположил, что можно создать просто шаблон, и заполнять им, как и таблицу, через цикл обхода результата запроса. НО тогда, таблица будет прыгать, в зависимости от количества строк, да и заполняться "В БОК" таким образом хз как.

Либо напихать, Допустим 6 параметров, по три на строку, но это глупо (ИМХО), да и если только три блока, то нижний ряд опять же не заполнится и таблица подпрыгнет. Если же ост параметры оставлять пустыми, то "разметка" будет видна. (Для указания подписи, и эстетики общей)

П.с. Заранее спасибо.
П.п.с. Очень надеюсь, что доходчиво написал. Всем заранее спасибо.
1 ИсчадиеADO
 
29.08.13
02:36
1) вот эта таблица, блоки, она на всех страницах одна и та же? Если да, то может стоит воспользоваться ПовторятьПриПечатиСтроки?
2 ИсчадиеADO
 
29.08.13
02:38
а не, прочел еще раз, не то написал
3 ИсчадиеADO
 
29.08.13
02:53
С макетами давно не работал, все больше с СКД, поэтому:

можно считать добавленные секции, при необходимости добавлять пустую. Т.е. условно на 1ую таблицу отводим 30 строк и это максимум, если меньше 30 добавляем пустые. Но тогда возникнет проблема, если у тебя из-за переноса строки в таблице выведется 1 секция, но по ширине она будет как 2-3.

В таком случае ты можешь пустую секцию сделать оч. маленькой. А проверять, дошел ли ты до места, когда нужно выводить 2ую таблицу методом ПроверитьВывод в который будешь передавать фиктивную секцию, по ширине таблицы чтоб была = размеру с низу. Если она одна влезает (в качестве параметра передается массив областей), а она + пустая маленькая секция нет, то время выводить таблицу.

Может кто завтра те че лучше предложит, но можно вот так