![]() |
|
Нумерация табличного документа через колонтитул | ☑ | ||
---|---|---|---|---|
0
victuan1
24.05.10
✎
14:56
|
Как задать, чтобы в колонтитуле табличного документа (макета) проставлялась нумерация, но не с единицы, а с другого произвольно заданного числа?
Например, нумерацию нужно начать не с 1, а с 20534. |
|||
1
DrZombi
гуру
24.05.10
✎
15:01
|
(0)Ты в курсах, сколько номеров может хранить база ? :)
После 32000 у тебя один есь будет казать погоду ;) |
|||
2
victuan1
24.05.10
✎
15:04
|
Так, вопрос мой не поняли.
Речь идет не о многострочной части документа, а объекте типа Таблица (макет отчета). Мне нужно огранизовать через колонтитул нумерацию страниц выводимого отчета, но параметр #P дает только с 1, выражения в колонитутуле выполняются только в момент Таб.Показать(), поэтому выражения в колонтитул я запихать не могу |
|||
3
dk
24.05.10
✎
15:04
|
(0) низзя
(1) мимо |
|||
4
victuan1
24.05.10
✎
15:04
|
TableDoc умеет?
|
|||
5
dk
24.05.10
✎
15:05
|
(2) напечатать нужное количество пустых листов ))
|
|||
6
victuan1
24.05.10
✎
15:06
|
(2) 20534? А будет и больше 100 000.
Конечно я могу дать 20534 команду Таб.НоваяСтраница(). Но не хочу увеличивать тормоза. |
|||
7
victuan1
24.05.10
✎
15:10
|
Пока только одна здравая мысль - добавить секцию в отчет, которая будет имитировать колонтитул, но у меня строки переменной высоты (автовысота), как отслеживать переход на новую страницу?
|
|||
8
victuan1
24.05.10
✎
15:11
|
И в Эксель не сохранишь такие объемы, чтобы проставить автонумерацию там.
Yoksel тут помощник? |
|||
9
dk
24.05.10
✎
15:14
|
что за объемы?
2007-й Excel до 2 млрд строк держит вроде |
|||
10
victuan1
24.05.10
✎
15:16
|
Объем меньше двух млрд. Не более 200 000 строк.
Просто хочется печатать из 1С, а не заморачиваться с переносом в Эксель и форматированием |
|||
11
dk
24.05.10
✎
15:18
|
с йокселем не работал, так что не подскажу
|
|||
12
Ёпрст
гуру
24.05.10
✎
15:29
|
(4) нет
|
|||
13
victuan1
24.05.10
✎
15:30
|
(12) и что делать с учетом (7).
Эксель вроде тоже это не умеет, так что выгрузка в него ничего не даст. |
|||
14
victuan1
24.05.10
✎
15:31
|
Пока что единственный и жутко кривой вариант:
для й = 1 по НачСтр-1 Цикл Таб.НоваяСтраница() КонецЦикла; |
|||
15
Ёпрст
гуру
24.05.10
✎
15:37
|
(14) не поможет..
|
|||
16
dk
24.05.10
✎
15:41
|
•Чтобы начать нумерацию страниц не с единицы, укажите номер первой страницы, а затем используйте последовательность &[Страница] в верхнем или нижнем колонтитуле. Чтобы задать номер первой страницы, выполните следующие действия.
1.Выберите пункт Параметры страницы в меню Файл. 2.В поле Номер первой страницы введите номер первой страницы. Excel |
|||
17
victuan1
24.05.10
✎
15:41
|
Почему?
Я про (5) |
|||
18
Ёпрст
гуру
24.05.10
✎
15:44
|
(17) этот метод воткнёт тебе 1 перевод и всё.. но никак не создат 100 "пустых страниц"
|
|||
19
victuan1
24.05.10
✎
15:46
|
(16) Где нужно указать номер страницы?
(18) Почему 1 перевод, а не (НачСтр-1) переводов? |
|||
20
Ёпрст
гуру
24.05.10
✎
15:48
|
(19) это ты у создателей 1с-ины спроси.
|
|||
21
victuan1
24.05.10
✎
15:51
|
(16)
"В меню Файл выберите команду Параметры страницы, а затем — вкладку Страница. В поле Номер первой страницы введите номер, который появится на первой странице листа Microsoft Excel." Вкладки Страница нет (но есть лист), не могу найти поля для задания номера начальной страницы. Что делать? (20) А если добавить вывод пустой секции? |
|||
22
victuan1
24.05.10
✎
15:51
|
для й = 1 по НачСтр-1 Цикл
Таб.НоваяСтраница(); Таб.ВывестиСекцию("ПустаяСтрока"); КонецЦикла; |
|||
23
dk
24.05.10
✎
15:53
|
это была справка для 2003-го, как в 2007-м хз
|
|||
24
victuan1
24.05.10
✎
15:54
|
Блин, это я тормоз, Страница - это самая первая вкладка - открывается по умолчанию. Все нашел в Экселе.
Метод (22) будет работать? |
|||
25
Ёпрст
гуру
24.05.10
✎
15:54
|
(22) так будет работать, но на экране - ппц как это выглядит..
|
|||
26
Ёпрст
гуру
24.05.10
✎
15:55
|
+25 да и печатать придётся с какого-то нумера всегда, в общем г.. вариант.
|
|||
27
victuan1
24.05.10
✎
15:59
|
Блин, Эксель не дает вести номер первой страницы больше 32767!
Значит, с Экселем тоже облом!!! (26) Пипец - не пипец, а выкручиваться как-то надо. Книга печатается раз в год, можно и потерпеть, пусть будет г.. на экране, а при печати буду выбирать диапозон страниц. Не навижу 1С, аж депрессия началась... |
|||
28
victuan1
24.05.10
✎
16:05
|
Я представил себе как будет выводится конечный раздел Книги:
сначала 90 тыс. пустых строк, затем 10 тыс. строк самой таблицы. (((((((((( |
|||
29
Ёпрст
гуру
24.05.10
✎
16:27
|
Короче, считаешь высоту секции перед выводом и выводишь свой колонтитул в виде секции..
Высоту секции считаешь через ВысотаСтрокиТаблицы(<Таблица>,<НомерСтроки>,<ТипВозврата>) у формекса и привет.. |
|||
30
Ёпрст
гуру
24.05.10
✎
16:29
|
+29 вот примерчик:
Функция ВысотаСекции(Секция) Экспорт Перем Строк, Высота, н; ВремТаб.Очистить(); ВремТаб.ИсходнаяТаблица(ИмяФормы); ВремТаб.ВывестиСекцию(Секция); Строк = ВремТаб.ВысотаТаблицы(); Высота = 0; Для н = 1 По Строк Цикл Высота = Высота + оСервис.ВысотаСтрокиТаблицы(ВремТаб, н, 1); КонецЦикла; Возврат Высота * 1.03; КонецФункции где: оСервис = СоздатьОбъект("Сервис"); ©@Sadovnikov |
|||
31
victuan1
24.05.10
✎
16:36
|
И в чем высота измеряется? В пикселях, мм?
А если шрифты разные в строках, не влияет на точность вычисления высоты? |
|||
32
victuan1
24.05.10
✎
16:41
|
Мне подсказали хорошую идею.
Сначала распечатать только нумерацию страниц. Затем на пронумерованной бумаге распечатать отчет. Наверное так и буду делать. И никакого кодинга! |
|||
33
Ёпрст
гуру
24.05.10
✎
16:44
|
(31)
<ТипВозврата> - тип возвращаемого значения. Может принимать следующие значения: 1 - возвращается значение в миллиметрах, 2 - возвращается значение в экранных пикселах, 3 - возвращается значение во внутренних юнитах 1С. |
|||
34
Ёпрст
гуру
24.05.10
✎
16:44
|
(32) под каждый отчет будешь печатать?
умаешься. |
|||
35
victuan1
24.05.10
✎
16:47
|
(34) Работа эта 1 раз в год. Оператора-девочку посажу печатать нумерацию.
|
|||
36
AlexYurg
24.05.10
✎
16:52
|
(32) Принтер один лист зажует - и привет
|
|||
37
Любитель XML
24.05.10
✎
16:52
|
(36) юзай "Снегурочку" )))))))))))))))))))))
|
|||
38
victuan1
24.05.10
✎
16:53
|
(36) Зажует, значит остановка. Перепечатаю с зажеванного места - тоже мне проблема.
Одна только маета: время печати увеличится, и тонера больше уйдет. |
|||
39
Ёпрст
гуру
24.05.10
✎
16:54
|
(38) время - да, а тонера - столько же.
|
|||
40
AlexYurg
24.05.10
✎
16:56
|
(38) Иногда принтер по два листа берет вместо одного.
А это заметить "на ходу" очень трудно. Вот тебе и тонер. |
|||
41
victuan1
24.05.10
✎
16:57
|
(39) При печати принтер фонит, тонер расходуется на сероватый фон страницы
|
|||
42
victuan1
24.05.10
✎
16:58
|
(40) Придется замечать, не так это и сложно.
|
|||
43
victuan1
24.05.10
✎
17:23
|
Идея. А если вывести один раз секцию с выражением Таб.КоличествоСтраниц() и задать для нее ПовторятьПриПечатиСтроки() ?
|
|||
44
trad
24.05.10
✎
18:34
|
Можно, например, направить печать через драйвер виртуального принтера типа FinePrint.
А в нем уже настроить колонтитул с выводом номера страницы с заданного стартового значения. (проверено) |
|||
45
victuan1
24.05.10
✎
18:41
|
(43) Нет, не работает.
(44) Не умею так делать. |
|||
46
trad
24.05.10
✎
18:43
|
(45)скачай и установи FinePrint. Там разберешься.
|
|||
47
victuan1
24.05.10
✎
19:18
|
(46) Озадачу сисадмина
|
|||
48
Torquader
24.05.10
✎
20:39
|
А разве в колонтитуле шаблоны не исполняются ? [[#P]+12000] что даст ?
|
|||
49
victuan1
24.05.10
✎
20:55
|
(48) Ничего хорошего
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |