![]() |
![]() |
![]() |
|
Нумерация страниц в отчете 1с (7.7) | ☑ | ||
---|---|---|---|---|
0
REMREM
09.01.06
✎
10:12
|
Подскажите,пожалуйста, как получить информацию о количестве выведенных страниц отчета в теле модуля формы без принудительного разбиения на страницы. Мне нужно знать хотя бы больше одной или нет.
Функция Перем Номстр; Функция счетчик() Номстр=Номстр+1; Возврат Номстр; КонецФункции Номстр=0; Вставленная в колонтитул почему-то не срабатывает. |
|||
1
ТестПопытка
09.01.06
✎
10:15
|
плодишь ветки?
Програмирование в 1С V7.7 |
|||
2
REMREM
09.01.06
✎
10:22
|
Но я не нашел ответа
|
|||
3
Мулька
09.01.06
✎
10:26
|
У тебя в вопросе ответ уже есть: "без принудительного разбиения на страницы".
Не взлетит. |
|||
4
REMREM
09.01.06
✎
10:26
|
Печально
|
|||
5
smaharbA
09.01.06
✎
10:28
|
Взлетит
|
|||
6
REMREM
09.01.06
✎
10:28
|
Как
|
|||
7
skunk
09.01.06
✎
10:29
|
иметь номер страницы...
|
|||
8
skunk
09.01.06
✎
10:30
|
даже проще...
заводишь глобальную переменую... делаешь секцию... в секции пишешь ТвояПеременая = ТвояПеременая + 1... секцию делаешь выводить на каждой странице |
|||
9
REMREM
09.01.06
✎
10:34
|
Это я понимаю, но объем отчета формируется не за счет фиксированных секций типа "Шапки", а за счет строк, которых много. Куда вставлять-то.
Повторение при печати фиксированных строк ведь не прокатит. |
|||
10
skunk
09.01.06
✎
10:35
|
(9)1С сама его вставит на каждую страницу...
|
|||
11
REMREM
09.01.06
✎
10:35
|
Вот тут подробние пожалуйста.
|
|||
12
skunk
09.01.06
✎
10:49
|
ПовторятьПриПечатиСтроки(<?>,);
RepeatRowsWhilePrinting(<?>,); Синтаксис: ПовторятьПриПечатиСтроки(<НачСтрока>,<КонСтрока>) Назначение: Задать строки результирующей таблицы, повторяющиеся при печати в начале каждой страницы. Параметры: <НачСтрока> - номер первой строки повторения. <КонСтрока> - номер последней строки повторения. Замечание: Метод может использоваться при работе с таблицей в режиме ввода данных. |
|||
13
REMREM
09.01.06
✎
10:52
|
Да нет это я слава богу наизусть знаю.
Достатосно ли этого для достижения цели -получения номеров страниц. Мне кажется нет. Может я ошибаюсь? |
|||
14
skunk
09.01.06
✎
10:56
|
(13)более чем достаточно... пробовано мин нет..
|
|||
15
REMREM
09.01.06
✎
10:58
|
Пробую
|
|||
16
REMREM
09.01.06
✎
11:02
|
Вставил в "шапку" отчета фукцию Счетчик().
Перем Номстр; Функция счетчик() Номстр=Номстр+1; Возврат Номстр; КонецФункции Номстр=0; Повтряю шапку при печати на каждой странице. Выводи везде 1. Что не так? |
|||
17
lisss
09.01.06
✎
11:16
|
(16)Номстр не объявил как глобальную переменную....
|
|||
18
skunk
09.01.06
✎
11:16
|
var Page;
//******************************************* function NumPage() Page = Page + 1; endfunction //******************************************* procedure Make() Page = 0; tabReport = createobject("table"); tabReport.SourceTable("Table") ; for x = 1 to 10 do tabReport.PutSection("Example"); enddo; tabReport.Show(); message(Page) endprocedure в секции Example ... в любой ячейки в свойствах указываешь ... выражение ... в тексте NumPage() |
|||
19
REMREM
09.01.06
✎
11:19
|
(16)Объявил, объявил.
|
|||
20
skunk
09.01.06
✎
11:33
|
(19)ты (18) внимательно посмотрел... особенно то что надо сделать в ячейки секции
|
|||
21
REMREM
09.01.06
✎
11:38
|
(18) С примером все понятно, но tabReport.PutSection("Example"); я не знаю когда вызвать, т.к. у есть цикл, допустим, обхода(печати) большого справочника
"Номенклатура", а реальнее табличной части "расходной накладной", количество строк может не поместится на странице, названия могут быть длинными, т.е. строки таблицы будут иметь разную высоту. Как узнать сколько сраниц я уже напечатал? Вот в чем проблема. А вывод tabReport.PutSection("Example"); равносилен тому, что ты знаешь где кончилась страница. Как это узнать? Вот в чем проблема. |
|||
22
lisss
09.01.06
✎
11:45
|
(21)тебе надо узнавать количество напечатанных страниц в процессе печати????
|
|||
23
REMREM
09.01.06
✎
11:50
|
Мне нужно знать когда я вывожу в цикле секцию, допустим "строка", которая соответсвует строке документа(элементу справочника), в результирующую таблицу, т.е. формирую эту таблицу(конечно физически еще не печатаю), скольким страницам соответствует объем выведенной информации в результирующую таблицу.
|
|||
24
skunk
09.01.06
✎
11:52
|
//*******************************************
procedure Make() Page = 0; tabReport = createobject("table"); tabReport.SourceTable("Table") ; tabReport.RepeatRowsWhilePrinting("Example"); // .... бла ... бла ...бла tabReport.Show(); message(Page) endprocedure |
|||
25
REMREM
09.01.06
✎
12:03
|
(24)Я уже говорил(16),что повторение печати фиксированной секции, в которую вставленна функция счетчик():
Перем Номстр;// объявление глобальной переменной Функция счетчик() Номстр=Номстр+1; Возврат Номстр; КонецФункции Номстр=0;//начальное значение(тело модуля) Приводит к выводу на всех-всех страница цифры 1. |
|||
26
skunk
09.01.06
✎
12:07
|
(25)смыль свой отчет на skunk_ dog mail.ru
|
|||
27
REMREM
09.01.06
✎
12:17
|
В Этом нет смысла, я приведу условный пример:
Таб=СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Пример"); Номенклатура=СоздатьОбъект("Справочник.Номенклатура"); Номенклатура.ВыбратьЭлементы(); Пока Номенклатура.ПолучитьЭлемент()=1 Цикл Товар=Номенклатура.ТекущийЭлемент(); Таб.ВывестиСекцию("Строка"); КонецЦикла; Допустим в справочнике 10000 элементов, как мне узнать номер текущей страницы в результирующей таблице. Повторяю, у меня задача уже- узнать есть одна страница или более. |
|||
28
skunk
09.01.06
✎
12:25
|
с этого и надо было начинать... при выводе отчета ... и при формировании отчета ... это разные вещи...
в твоем варианте только подсчитывать... "руками"... при формировании отчета |
|||
29
smaharbA
09.01.06
✎
14:09
|
Вывести отчет два раза...
|
|||
30
lexa
09.01.06
✎
15:58
|
||||
31
mikecool
09.01.06
✎
16:53
|
Или я туго въезжаю, или развели демагогию на пустом месте...
Разве методы ВысотаСекции(), ВысотаТаблицы() и ВысотаСтроки() отменяли? |
|||
32
skunk
09.01.06
✎
16:55
|
(31)нет не въезжаешь... они не везде работают...
|
|||
33
NiGMa
09.01.06
✎
17:02
|
(31) ВысотаСтроки() не работает, ежели она "Авто"
И не возвращает реальную высоту при переносе по словам. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |