|
Программный вывод табличного документа на страницу панели | ☑ | ||
---|---|---|---|---|
0
extrim-style
27.10.11
✎
16:52
|
8.1 подскажите код. Есть ТабДок, нужно добавить новую страницу на панель и разместить ТабДок в ПолеТабличногоДокумента по размеру страницы.
|
|||
1
DrShad
27.10.11
✎
16:54
|
а не до фига ли хочешь сразу узнать?
|
|||
2
DrShad
27.10.11
✎
16:54
|
сколько? за код
|
|||
3
extrim-style
27.10.11
✎
16:58
|
(2) думаю, это уже достаточно типовая процедура, чтобы быть бесплатной)
|
|||
4
extrim-style
27.10.11
✎
16:59
|
+(3) вот только я впервые к ней подошел
|
|||
5
DrShad
27.10.11
✎
17:00
|
(3) ну тогда удачи и СП в помощь - там все написано достаточно давно
|
|||
6
Михаил Козлов
27.10.11
✎
17:03
|
Сделайте страницу сначала невидимой.
|
|||
7
extrim-style
28.10.11
✎
09:38
|
Что-то не воткну как сделать.
НовПоле = ЭлементыФормы.Добавить(Тип("ПолеТабличногоДокумента"), "Результат"+Сч,,ЭлементыФормы.Панель1); ЭлементыФормы.Панель1.Страницы.Добавить(, Стр.Наименование, НовПоле); ничего не появляется |
|||
8
extrim-style
28.10.11
✎
09:46
|
разобрался. нужно было текущую страницу установить.
|
|||
9
extrim-style
28.10.11
✎
10:34
|
Подскажите! Первую страницу я нарисовал ручками - добавил на неё поле табличного документа. Вторую - программно. Размеры Поля на второй странице устанавливаю программно. Сначала Поле на второй странице не поместилось полностью (хотя сделал по размерам Поля первой страницы) и появились полоски вертикальной и горизонтальной прокрутки. Затем я подогнал размеры, но как только исчезают полосы прокрутки, сразу справа и внизу появляются бордюры, которые больше, чем на первой странице и это заметно при переходе между страницами. В элементе Панель в СП не нашел ничего про полосы прокрутки, чтобы их отключить. Подскажите, как тут поступить? Нужен бордюр как у первой страницы.
|
|||
10
Reset
28.10.11
✎
10:36
|
(9) Тебе непременно хочется решение через опу? Делай (6)
|
|||
11
GenV
28.10.11
✎
10:37
|
(9) Привязки после размещения на форме установи правильные после добавления на страницу - тогда и не будет бордюров.
ЗЫ Заголовок у страницы сразу отображается или потом отображаешь? (10)+1 работа с добавлением на закладки это ... |
|||
12
extrim-style
28.10.11
✎
10:57
|
(10) у меня количество страниц заранее не известно
(11) проверил привязку Поля на первой странице. Сложная, правая граница к Панель правая, нижняя - к Панель нижняя, без сохранения пропорций, лев и верх не привязаны. Делаю тоже самое для второй страницы программно: НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,,, ЭлементыФормы.Панель1, ГраницаЭлементаУправления.Низ); НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право,,, ЭлементыФормы.Панель1, ГраницаЭлементаУправления.Право); но ничего не меняется... |
|||
13
GenV
28.10.11
✎
11:01
|
(12) НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,Панель,ГраницаЭлементаУправления.Низ, Неопределено, Неопределено);
НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право,Панель, ГраницаЭлементаУправления.Право, Неопределено, Неопределено); |
|||
14
extrim-style
28.10.11
✎
11:15
|
(13) чёта не получается...
Кстати, когда я смотрю в привязку Поля первой страницы, то там просто привязка к Панель, хотя имя панели у меня Панель1. Почему так? В любом случае попытался также указать вместо Панель ЭлементыФормы.Панель1 - ничего не получилось. Не знаю, что делать... А нельзя страницу скопировать просто? |
|||
15
extrim-style
28.10.11
✎
11:18
|
+(14) и еще вопрос - программно я могу привязки посмотреть? ну чтобы скопировать их от Поля первой страницы?
|
|||
16
extrim-style
28.10.11
✎
11:35
|
А может дело в этой синей пунктирной рамочке? Я не знаю, что это за хрень, типа выравнивающей рамки, внутри которой объекты создаются? Возможно, для первой страницы я её немного увеличил. Как мне её тут увеличить программно?
|
|||
17
Михаил Козлов
28.10.11
✎
11:47
|
Может посмотреть, как генерятся страницы в документе КорректировкаЗаписейРегистровНакопления?
|
|||
18
GenV
28.10.11
✎
11:47
|
(14) Панель - означает, что ты привязываешься к границам родительского элемента в котором размещен твой элемент (т.е. если не на панели - это будет форма, если на панели - страница панели).
Скопировать нельзя. Посмотреть привязки - ПолучитьПривязки (хотя там у тебя смотреть нечего, это когда связываешь несколько элементов - тогда да, есть смысл смотреть). (16) Пунктирная рамка влияет только на интерактивное добавление элементов - облегчает их размещение. |
|||
19
extrim-style
28.10.11
✎
12:01
|
(17) посмотрел. ничего особенного, кроме привязок, не увидел
(18) спс за инфу ёлы-палы, что же делать... |
|||
20
GenV
28.10.11
✎
12:05
|
(19) Добавь сначала без привязок. Проверь что нормально отображается и остальные элементы нормально выводятся.
Еще раз: Заголовок у страницы сразу отображается или потом отображаешь? |
|||
21
Reset
28.10.11
✎
12:11
|
(19) Особенность в том, что там оно работает ;)
|
|||
22
Mort
28.10.11
✎
12:14
|
Вот тут на страницы добавляются табличные поля с привязками.
http://infostart.ru/public/65473/ |
|||
23
extrim-style
28.10.11
✎
12:25
|
(20) видимо сразу. а какое это имеет значение?
НовСтраница = ЭлементыФормы.Панель1.Страницы.Добавить("Результат"+Сч, Стр.Наименование); ЭлементыФормы.Панель1.ТекущаяСтраница = НовСтраница; НовПоле = ЭлементыФормы.Добавить(Тип("ПолеТабличногоДокумента"), "Результат"+Сч,,ЭлементыФормы.Панель1); НовПоле.Вывести(ТабДок); НовПоле.Верх = ЭлементыФормы.Результат.Верх; НовПоле.Лево = ЭлементыФормы.Результат.Лево; НовПоле.Ширина = ЭлементыФормы.Результат.Ширина-6; НовПоле.Высота = ЭлементыФормы.Результат.Высота-6; НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Неопределено, Неопределено, ЭлементыФормы.Панель1, ГраницаЭлементаУправления.Низ); НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право, Неопределено, Неопределено, ЭлементыФормы.Панель1, ГраницаЭлементаУправления.Право); привязки уже попробовал самые разные, результата - null Можно отключить прокрутку у СтраницыПанели??? |
|||
24
Mort
28.10.11
✎
12:27
|
НовПоле.Верх = ЭлементыФормы.Результат.Верх;
НовПоле.Лево = ЭлементыФормы.Результат.Лево; вот это отладчиком посмотри внимательно и подумай, почему ширина или высота не "влазят". |
|||
25
extrim-style
28.10.11
✎
12:31
|
(24) видимо вот это ты имел ввиду?:
НовПоле.Ширина = ЭлементыФормы.Результат.Ширина-6; НовПоле.Высота = ЭлементыФормы.Результат.Высота-6; сам не понял, почему размеры не совпадают. Мне почему-то кажется, что это всё потому, что я на первой странице вручную растянул границы (в частности рамки), сделал бордюры поменьше. А когда добавляю программно, то элемент вписывается в эту рамку. Но (18) говорит, что рамка это только интерактив. |
|||
26
GenV
28.10.11
✎
12:36
|
(23) Если ты по шаблону задаешь с первой страницы зачем еще уменьшать на 6? Он же и так нормальный должен быть.
ЗЫ Если меняешь видимость заголовка страниц при добавлении элементов на страницы иногда бывают глюки с их размерами. |
|||
27
extrim-style
28.10.11
✎
12:42
|
Если я делаю размеры поля второй страницы по размеру поля первой страницы, то второе поле располагается так, как нужно, и полосы прокрутки в нужных местах. Проблема только в том, что на второй странице дополнительно появляются полосы прокрутки для страницы панели. А как их убрать я хз, т.к. в этом элементе упр. нет ничего подобного. Также привязки ставлю - результата нуль.
|
|||
28
extrim-style
28.10.11
✎
12:43
|
(26) да это я подгонял, чтобы посмотреть когда полосы прокрутки для страницы панели исчезнут.
|
|||
29
Mort
28.10.11
✎
12:48
|
(25) У тебя верхней и левой координате присваиваются координаты самой панели, а элементы на панели имеют координаты относительно панели.
Попробуй так: НовПоле.Верх = 3; НовПоле.Лево = 3; НовПоле.Ширина = ЭлементыФормы.Результат.Ширина-6; НовПоле.Высота = ЭлементыФормы.Результат.Высота-6; |
|||
30
Mort
28.10.11
✎
12:50
|
ЭлементыФормы.Результат это что?
|
|||
31
extrim-style
28.10.11
✎
12:53
|
(30) это ПолеТабличногоДокумента, которое я расположил изначально на Панели (видимо на первой странице).
|
|||
32
extrim-style
28.10.11
✎
12:58
|
(29) Нет, я присваиваю координаты первого поля.
Вот так второе поле располагается абсолютно так, как первое, как нужно: НовПоле.Верх = ЭлементыФормы.Результат.Верх; НовПоле.Лево = ЭлементыФормы.Результат.Лево; НовПоле.Ширина = ЭлементыФормы.Результат.Ширина; НовПоле.Высота = ЭлементыФормы.Результат.Высота; Разница лишь в том что появляются долбаные полосы прокрутки для страницы панели... |
|||
33
extrim-style
28.10.11
✎
14:27
|
Может кто подскажет, как убрать эти полосы прокрутки?
|
|||
34
Mort
28.10.11
✎
14:31
|
(33) Экспериментируй. Попробуй разместить поле в центре панели подальше от границ. Потом изменяй размеры и пали из-за чего появляются прокрутки.
|
|||
35
Mort
28.10.11
✎
14:33
|
Еще прикол, когда добавляются страницы, если места для закладок не хватает, новая закладка может уйти вниз и область станет меньше.
|
|||
36
DrShad
28.10.11
✎
14:36
|
(33) до сих пор ищешь бесплатный пример?
|
|||
37
extrim-style
28.10.11
✎
14:41
|
(36) слушай, иди в флудь в другую тему.
|
|||
38
extrim-style
28.10.11
✎
14:55
|
(34) полосы прокрутки появляются, как только правая или нижняя граница ПоляТабличногоДокумента доходят до какого-то определенного значения. Почему-то мне кажется, что этим значением как раз является рамочка. Эта рамочка неуправляемая? Можно на неё как-то программно воздействовать?
Или может быть всё-таки как-то нужно по-другому указывать привязки? |
|||
39
Mort
28.10.11
✎
15:00
|
До какого значения узнал? Рамочка ни при чем.
|
|||
40
extrim-style
28.10.11
✎
15:02
|
(39) ну могу узнать и что мне это дает? (на 6 единиц меньше прав и низ первой области, как видно из кода выше)
|
|||
41
Mort
28.10.11
✎
15:04
|
(40) Из кода нихрена никогда не видно, видно только из отладчика. Короче вместо двух операций дольше рассуждаешь, давно уже бы нашел.
|
|||
42
extrim-style
28.10.11
✎
15:09
|
(41) ну, знаю я это значение, и дальше что?
|
|||
43
Mort
28.10.11
✎
15:22
|
Дальше (34)
|
|||
44
extrim-style
28.10.11
✎
15:24
|
на (34) я уже ответил в (38). Что экспериментировать, если они все-равно появляются...
|
|||
45
Mort
28.10.11
✎
15:29
|
Скрин покажи
|
|||
46
extrim-style
28.10.11
✎
16:06
|
Да что там на скрин смотреть. Вот простенький пример. Всё лишнее убрал, только эта проблема - http://zalil.ru/31950818
|
|||
47
GenV
28.10.11
✎
16:56
|
||||
48
GenV
28.10.11
✎
16:59
|
47+ если 8.2 нет: раздвигаешь образец на всю ширину страницы, код:
ЭлементыФормы.Панель1.ОтображениеЗакладок = ОтображениеЗакладок.СверхуСПрокруткой; НовСтраница = ЭлементыФормы.Панель1.Страницы.Добавить("Результат2"); ЭлементыФормы.Панель1.ТекущаяСтраница = НовСтраница; НовПоле = ЭлементыФормы.Добавить(Тип("ПолеТабличногоДокумента"), "Результат3",,ЭлементыФормы.Панель1); ЭлементыФормы.Результат.УстановитьПривязку(ГраницаЭлементаУправления.Низ); ЭлементыФормы.Результат.УстановитьПривязку(ГраницаЭлементаУправления.Право); ЭлементыФормы.Результат.Ширина = ЭлементыФормы.Результат.Ширина - 12; ЭлементыФормы.Результат.Высота = ЭлементыФормы.Результат.Высота - 12; ЭлементыФормы.Результат.Лево = 6; ЭлементыФормы.Результат.Верх = 6; ЭлементыФормы.Результат.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Низ); ЭлементыФормы.Результат.УстановитьПривязку(ГраницаЭлементаУправления.Право, Панель, ГраницаЭлементаУправления.Право); НовПоле.Верх = ЭлементыФормы.Результат.Верх; НовПоле.Лево = ЭлементыФормы.Результат.Лево; НовПоле.Ширина = ЭлементыФормы.Результат.Ширина; НовПоле.Высота = ЭлементыФормы.Результат.Высота; НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Низ); НовПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право, Панель, ГраницаЭлементаУправления.Право); |
|||
49
Mort
28.10.11
✎
17:21
|
ААААА !!!
Чувак, ну ты жошь. |
|||
50
Mort
28.10.11
✎
17:22
|
(49) -> ТС
|
|||
51
Mort
28.10.11
✎
17:23
|
Ты чо сразу не сказал что у тебя изначально на панели закладки не отображаются? Ясен хер когда добавляешь страницу у тебя появляются закладки и рабочее место уменьшается.
|
|||
52
Mort
28.10.11
✎
17:26
|
Плюс рамка рисуется - минус два пикселя.
|
|||
53
extrim-style
01.11.11
✎
10:01
|
(48) ну и что тут? я всю дорогу говорил, как же мне оставить узкий бордюр, как у меня в примере (46), чтобы вторая страница была как первая. А ты взял и увеличил бордюр первой страницы, как у второй... (причем сильно увеличил, там 6 достаточно).
В моем примере остаются на первой странице узкие бордюры. Вопрос: как повторить такой же бордюр программно на второй странице? (51) Ну и что, что рамка рисуется? Я не придал рамке значения, т.к. в моём примере на первой странице остается узкий бордюр. Почему рамка никак не влияет на ТабДок на первой странице? И тот же вопрос: как програмнно сделать такой же (узкий) бордюр, как на первой странице? |
|||
54
extrim-style
01.11.11
✎
11:15
|
Ап
|
|||
55
GenV
01.11.11
✎
11:42
|
(53) Не тупи - после добавление страниц у каждой бордюр по краям будет 6, как 1С везде делает.
ЗЫ Тебе объяснили, что программно во всю страницу (с бордюром 0) не сделаешь. 1С специально бордюр везде оставляет. Делай интерактивно и изменяй видимость. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |