Имя: Пароль:
1C
 
Вывод информации в определенном месте табличного документа
,
0 Aleksey1989
 
02.06.16
12:48
Добрый день. Никак не могу сообразить, как можно вывести нужную информацию в определенном месте в табличном документе? Например, есть печатная форма счета на оплату, мне необходимо вывести информацию практически в самом конце счета на оплату, например, за 5 см до окончания листа. Как это сделать?
Если создавать области, а потом их выводить, они будут идти по порядку, если обращаться напрямую к области, то нужно знать "координаты".
1 Рэйв
 
02.06.16
12:58
попробуй в нижний колонтитул писать
2 Aleksey1989
 
02.06.16
12:59
(1) Ну как вариант да, можно колонтитул использовать. Но все равно интересно, как без них обойтись можно?
3 lodger
 
02.06.16
12:59
если мне не изменяет память. то при работе с табдоком можно выводить данные только подряд сверху вниз, слева направо.
т.е. при работе с данными уже в самом конце вывода надо узнать сколько до конца страницы дополнить до нужной высоты и вывести.
но вообще есть фича НижнийКолонтитул (Footer), может подойдет. правда с регулировками там туго. где встанет, там встанет ) 5 см. не отмеришь.
4 Nuobu
 
02.06.16
13:00
(0) А какая задача вообще?
5 Aleksey1989
 
02.06.16
13:06
(4) В конце счета нужно надпись вставить
6 Nuobu
 
02.06.16
13:16
(5) А в макете нельзя эту надпись вставить? Или эта надпись должна быть на 5 см от низа страницы?
7 Мимохожий Однако
 
02.06.16
13:21
(0)Стесняюсь спросить. Зачем?
8 Aleksey1989
 
02.06.16
13:22
(6) Нет, нельзя - надпись будет меняться в зависимости от контрагента
9 birkoFFFF
 
02.06.16
13:23
Чем нижний колонтитул не устраивает? Он для этого и задуман...
10 Nuobu
 
02.06.16
13:26
(8) Как сильно будет меняться? Можно, например, вместо текста использовать параметры.
11 Aleksey1989
 
02.06.16
13:26
(9) В нем надпись расползается слишком
12 Aleksey1989
 
02.06.16
13:27
(10) ок, использование параметров не проблема, но как сделать так, чтобы эта область, которая содержит параметры, выводилась в конце страницы?
13 Nuobu
 
02.06.16
13:27
(12) В самом низу?
14 Nuobu
 
02.06.16
13:28
(13) + была последней строкой на каждой странице?
15 birkoFFFF
 
02.06.16
13:28
(11) А если по русски? Что значит расползается?
16 Aleksey1989
 
02.06.16
13:33
(13) Не совсем в самом низу, ориентировочно за 5 см до самого низа.

(15) Мне нужно, чтобы надпись была в несколько строчек, а, если поместить ее в колонтитулы, то она на всю длину страницы печатается. Если говорить о помещение текста в ячейку, то для ячейки можно настроить перенос текста, для колонтитула, возможно, будут работать символы перевода строки, но проблема в том, что текст заранее не известной длины, он зависит от каждого контрагента.
17 birkoFFFF
 
02.06.16
13:34
Ну если совсем не устраивает колонтитул, то использовать:

ТабличныйДокумент.ПроверитьВывод (SpreadsheetDocument.CheckPut)
ТабличныйДокумент (SpreadsheetDocument)
ПроверитьВывод (CheckPut)
Синтаксис:

ПроверитьВывод(<Таблицы>)
Параметры:

<Таблицы> (обязательный)

Тип: Массив; ТабличныйДокумент.
Массив из проверяемых таблиц или табличный документ.
Возвращаемое значение:

Тип: Булево.
Истина - умещаются; Ложь - в противном случае.
Описание:

Проверяет, умещаются ли переданные табличные документы на страницу при печати.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Пример:

Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента);
Т.Добавить(ПодвалДокумента);
Если Не ТабДок.ПроверитьВывод(Т) Тогда
    Сообщить("Документ не умещается на страницу!");
КонецЕсли;
18 birkoFFFF
 
02.06.16
13:36
(16)  Передавай в текст колонтитула строку с использованием "РазделительСтрок"
19 birkoFFFF
 
02.06.16
13:37
(+18) и выравнивание по нужному краю, не по центру
20 mistеr
 
02.06.16
13:38
(0) Рисунок. Что-то все забыли про него.
21 Nuobu
 
02.06.16
13:39
(16) В таких случаях - сделай две области: пробел (довольно не высокая строка) и твой подвальчик.

План действий:
1. Перед добавлением области на документ создаешь таб док с нужной строчкой и подвалом.
2. Проверяешь вывод.
3. Если не выводится - добавляешь только подвал и ГоризонтальныйРазделительСтраниц.
4. Если выводится - выводишь только строчку с данными, без подвала.
5. Если это была последняя строка с данными, то добавляешь пробел до тех пор, пока на страницу помещается пробел и подвал. Как только перестаёт помещаться - выводи подвал.
22 Aleksey1989
 
13.06.16
18:19
(1) Каким образом использовать рисунок для вывода текста в нужное место?
23 mistеr
 
13.06.16
19:02
(22) Выводишь из макета как обычно, вместе с ячейкой, к которой он привязан (куда попадает левый верхний угол). Затем устанавливаешь Лево, Верх в миллиметрах. Либо опять же привязываешь к ячейке через Расположить().
24 Aleksey1989
 
14.06.16
13:29
(23) Только вот как понять, где находится нужная ячейка... Ведь текст в верхних ячейках может быть записан в одной ячейке, при этом высота ячейки может увеличиться (для ячейки будет установлено свойство "Переносить".
25 Aleksey1989
 
14.06.16
13:29
Все таки использование колонтитулов самый правильный вариант, думаю.
26 mistеr
 
14.06.16
16:13
(24) Ну прицепи к следующей ячейке, в чем проблема.
27 Aleksey1989
 
14.06.16
16:33
Возникла следующая проблема при использовании колонтитулов для варианта, когда будут сформированы печатные формы сразу по нескольким документам - по моему сценарию для каждого счета на оплату в самом низу, в определенном месте, должна выводиться информации из справочника "Контрагенты", т.к. в разных счетах на оплату контрагенты разные, то и информация д.б. разная, но так не получится - т.е. нельзя для каждой страницы сделать свой колонтитул. Или можно?