|
Печать текста в фиксированном месте | ☑ | ||
---|---|---|---|---|
0
Iori
26.01.20
✎
16:37
|
Появилась задача: в низу счета нужно напечатать адрес клиента, который на формате А4 должен быть в фиксированном месте, чтобы при укладке в конверт просматривался через окошко. Какие есть для этого методы, так как считать строки в табличной части, которые к тому же могут расширяться в связи с переносом, не очень удобно?
|
|||
1
ДенисЧ
26.01.20
✎
16:39
|
В ворд выводи
|
|||
2
acht
26.01.20
✎
16:43
|
(0) ТабличныйДокумент.ПроверитьВывод
Код пиши сам. |
|||
3
Iori
26.01.20
✎
17:00
|
(1) А что даст вывод в ворд? Ручной коректировкой свободного места? Если так, то не подходит. Здесь идет пакетная печать документов, сразу сотни штук... Абонентская рассылка счетов...
|
|||
4
Iori
26.01.20
✎
17:03
|
(2) Методом поверитьвывод, я так понял, постепенно забирать по строке свободного места, пока не поместится на странице? Но тогда табдокумент формировать несколько раз нужно. Не очень медленно работать будет?
|
|||
5
Iori
26.01.20
✎
17:07
|
В любом случае, я так понял, принудительно установить координаты для печати области нет. А нижний колонтитул для этих целей не подойтет? Он имеет ограничения по высоте?
|
|||
6
Фрэнки
26.01.20
✎
17:11
|
КолонтитулТабличногоДокумента (SpreadsheetDocumentHeaderFooter)
насколько я пробовал, то ограничений по высоте не было. По крайней мере, тот вывод, что нужен был мне в колонтитул вписывался. |
|||
7
acht
26.01.20
✎
17:22
|
(4) Или добавлять, пока не перестанет помещаться. Перестал помещаться - удаляешь выведнную область (см. также на результат вызова .Вывести)
(5) Нет никаких координат. Табличный документ, он вообще описывает абстракцию, которая приобретает физический смысл только при применении характеристик и параметров текущего принтера. Вот методы ПроверитьВывод и ПроверитьПрисоединение это и делают. |
|||
8
acht
26.01.20
✎
17:31
|
Хотя, можно, наверно еще как-нибудь поизвращаться через картинку, там можно получить ее будущий фактический размер в миллиметрах. ЕМНИП, так в типовых при печати штрихкода делали, брали картинку с известным размером 100 на 100 пикселей, добавляли и смотрели размер в миллиметрах. Получали, по сути, разрешение принтера.
Ну или вообще запечь адрес на картинке и поставить ее фоном (: |
|||
9
acht
26.01.20
✎
17:41
|
О, я в (7) про удаление невлезающего таки наврал. Там все проще - https://its.1c.ru/db/metod8dev#content:2226:hdoc
|
|||
10
Garykom
гуру
26.01.20
✎
17:45
|
(0) Задача нетривиальна если нужна точность до мм.
На каждом новом принтере и новом компе/операционке будет сбиваться. Рекомендую сразу придумать механизм подстройки через параметры, чтобы юзер сам попробовал и если не попадает в его случае сочетания принтер/комп/операционка/платформа 1С то сам двигал как надо и менял размеры окна печати. |
|||
11
Iori
11.02.20
✎
17:23
|
Спасибо всем за участие и соответственно за помощь (лучше позже, чем никогда). Остановился на методе ТабДок.ПроверитьВывод(). Первые абонентские рассылки сделаны, адрес в окошке "держит" нормально. Хотя были замечены странности после применения этого метода. Например, ТабДок.Напечатать() и ТабДок.Показать() работают правильно. Но если сделать ТабДок.Показать() и интерактивно пустить после этого на печать, то печатает всего полстраницы текста, хотя на экране полная страница.
|
|||
12
pechkin
11.02.20
✎
17:51
|
сделай 1 печ форму с адресом. положение подгони на макете.
в чем проблема? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |