![]() |
![]() |
![]() |
|
Как пронумеровать номера строк в таблице значений? | ☑ | ||
---|---|---|---|---|
0
iSNEG
08.01.08
✎
16:30
|
Добавил колонку "№ строки" в таблицу. Думаю вставить в событие ПриВыводеСтроки код который будет заполнять это поле.
Подскажите пожалуйста, что писать? Спасибо. |
|||
1
iSNEG
08.01.08
✎
16:31
|
ОформлениеСтроки.Ячейки.НомерСтроки.Значение = ?
|
|||
2
Terv
08.01.08
✎
16:33
|
чем стандартное поле "НомерСтроки" не устраивает?
|
|||
3
iSNEG
08.01.08
✎
16:34
|
Terv, а где оно? Как его найти?
|
|||
4
Terv
08.01.08
✎
16:36
|
в данные колонки табличного поля напиши "НомерСтроки"
|
|||
5
Terv
08.01.08
✎
16:39
|
только скорее всего это свойство будет только доступно только для чтения
|
|||
6
iSNEG
08.01.08
✎
16:40
|
Не дает ничего записать.
У этого табличного поля свойство данные - СправочникСписок. Дает выбирать только поля из этого справочника. Писать самому не дает. |
|||
7
Terv
08.01.08
✎
16:41
|
(6)// не путай ТП и ТЗ...
для како |
|||
8
Terv
08.01.08
✎
16:41
|
для какой цели ты хочешь пронумеровать список?
|
|||
9
iSNEG
08.01.08
✎
16:44
|
(7) спутал, извиняюсь.
Цель тривиальная, открывается список (источник - справочник), в нем записи, надо видеть порядковый номер каждой записи. |
|||
10
iSNEG
08.01.08
✎
16:45
|
Минимальная цель - видеть общее кол-во записей. Но лучше сделать нумерацию.
|
|||
11
Terv
08.01.08
✎
16:48
|
ну и добавь реквизит в справочник ... "ПорядковыйНомер" из него считывай либо испольузй реквизит "Код"
|
|||
12
Defender aka LINN
08.01.08
✎
16:51
|
(10) А зачем?
|
|||
13
iSNEG
08.01.08
✎
16:52
|
Нет в справочник добавлять никак нельзя. Во первых надо тогда его заполнять при всех добавлениях элементов в справочник.
Во вторых из справочника могут быть удалены элементы и вся нумерация рухнет. А реквизит Код это просто многозначный уникальный код, а мне нужен номер строки в табличном поле. |
|||
14
Terv
08.01.08
✎
16:55
|
(13) и как должна вести твоя номерация при смене сортировки или установке отборов?
|
|||
15
Terv
08.01.08
✎
16:55
|
*нумерация
|
|||
16
iSNEG
08.01.08
✎
16:56
|
(12) Что зачем? Зачем нумерацию или зачем общее кол-во?
На самом деле, нужно видеть сколько элементов имеется на данный момент в табличном поле. Визуальная нумерация, думаю, лучшее решение. |
|||
17
Terv
08.01.08
✎
16:57
|
(16) ну ТОЛЬКО видимые посчитать достаточно легко, тебя это устроит?
|
|||
18
Эрнст
08.01.08
✎
16:59
|
Структура Таблица Значений имеет атрибут НомерСтроки
|
|||
19
Terv
08.01.08
✎
16:59
|
+(17) хотя нет, наверно ошибаюсь проверять надо
|
|||
20
Terv
08.01.08
✎
16:59
|
(18) прежде чем писать, неплохо было бы научиться читать
|
|||
21
iSNEG
08.01.08
✎
17:00
|
(17) Именно это и нужно.
|
|||
22
Defender aka LINN
08.01.08
✎
17:00
|
(16) и то, и то. Не могу представить, какая от этого практическая польза.
|
|||
23
iSNEG
08.01.08
✎
17:03
|
(22) Потому что справочник этот не в чистом смысле справочник. А некий перечень уникальных автомобилей (буфер). Нужно знать общее кол-во автомобилей.
|
|||
24
iSNEG
08.01.08
✎
17:05
|
(19) Т.е. я так понимаю стандартных решений (или полей/методов ака НомерСтроки/НомерПозиции) нет?
|
|||
25
Terv
08.01.08
✎
17:06
|
(24) нет ибо не имеет практического смысла...
можно посчитать записи, которые отображены на данным момент в ТП, но я не вижу в этом никакой пользы |
|||
26
iSNEG
08.01.08
✎
17:08
|
Terv, ни тебе и даже мне пользы никакой нет. Но нашему главному менеджеру есть большая польза видеть кол-во автомобилей в квоте от дилера.
Ну надо это сделать. |
|||
27
Собеседник
08.01.08
✎
17:10
|
+(22)
а у иерархического справочника с "развернутой" иерархией как должна выглядеть нумерация? а сортировки и отборы? - Порядковый номер элемента относительно чего? "Видеть" количество элементов - более логичное пожелание. Но все равно, как быть с отборами? Оптимально: Запрос и результат в текстовое поле. + обновление данных этого поля по обработке оповещения |
|||
28
Terv
08.01.08
✎
17:12
|
(26) сделай ему отчет
|
|||
29
IronDemon
08.01.08
✎
17:12
|
(26) Отчетом
|
|||
30
Собеседник
08.01.08
✎
17:15
|
(26)
Три варианта: 1 - менеджеру по башке 2 - заменить справочник список на ТЗ 3 - (тупо) определить состояние отбора, и упорядочивания - сделать запрос, который даст в результате ТЗ "аналогичную" структуре представленного в ТП списка, выгрузить в ТЗ, при выводе строки искать в тз текущий элемент и выводить номер... перечитал - ЖЕСТЬ. |
|||
31
iSNEG
08.01.08
✎
17:15
|
(27) Порядковый номер относительно номера строки в табличном поле (давайте отойдем от самого справочника).
Вне зависимости от отборов и фильтрации. Т.е. даже если отбор убрал половину записей, все оставшиеся записи должны быть пронумерованы относительно своего текущего (т.е. нового после отбора) положения в ТП. Тут надо писать код в событии при выводе строки. Я так понимаю все строки выводятся заново при отборе/фильтрации? |
|||
32
Собеседник
08.01.08
✎
17:17
|
(30) + при изменении отборов, сортировки, иерархии - обновлять запрос
|
|||
33
Terv
08.01.08
✎
17:20
|
(31) ну если хошь этот бред, то держи: (обновление нумерации вручную, добавь в ТП колонку "НомерОтображеннойСтроки")
Процедура КнопкаВыполнитьНажатие(Кнопка) ЭлементыФормы.ТабличноеПоле1.ОбновитьСтроки(); КонецПроцедуры Процедура ТабличноеПоле1ПриПолученииДанных(Элемент, ОформленияСтрок) сч = 0 ; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Сч = Сч + 1; ОформлениеСтроки.Ячейки.НомерОтображеннойСтроки.УстановитьТекст( "" + Сч); КонецЦикла; КонецПроцедуры |
|||
34
iSNEG
08.01.08
✎
17:26
|
(33) Спасибо! А разве ПриПолученииДанных не будет срабатывать при отборе/сортировке.
нельзя никак без ручной кнопки обойтись? Сейчас попробую. |
|||
35
iSNEG
08.01.08
✎
17:28
|
(30)
1 - бесполезно :) 2 - сложно реализовать. тогда уж лучше п.1 ) 3 - думаю возможно, но подозреваю что у меня где-то в других местах "поплывет" после такого. |
|||
36
Terv
08.01.08
✎
17:28
|
(34) хм... поиграйся с размерами формы и полистай список, поймешь
|
|||
37
Собеседник
08.01.08
✎
17:30
|
(33) для иерархического списк проверял?
|
|||
38
iSNEG
08.01.08
✎
17:36
|
(36) проверил, посмотрел - понял :)
сейчас попробую сделать это на событии при открытии. |
|||
39
Собеседник
08.01.08
✎
17:38
|
(37)+ и как быть с текущей строкой?
|
|||
40
iSNEG
08.01.08
✎
19:26
|
Я совсем запутался.
Почему когда обращаюсь к полю НомерСтроки в Процедура ТабличноеПоле1ПриПолученииДанных(Элемент, ОформленияСтрок) сч = 0 ; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Сч = Сч + 1; ОформлениеСтроки.Ячейки.НомерСтроки.УстановитьТекст( "" + Сч); КонецЦикла; КонецПроцедуры все срабатывает, а когда обращаюсь в Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки.НомерСтроки.УстановитьТекст = Счетчик+1; КонецПроцедуры то пишет что "Поле объекта не обнаружено (НомерСтроки)" ?? В чем засада? |
|||
41
iSNEG
08.01.08
✎
19:27
|
поправка: ТабличноеПоле1 = Список.
|
|||
42
iSNEG
08.01.08
✎
20:22
|
поправка 2: УстановитьТекст = Счетчик+1 = УстановитьТекст(Счетчик+1).
Все равно не работет. Самие интересное что у меня сделана точно такая же конструкция в другой форме на этом же событии и все работает! Что за глюки? |
|||
43
iSNEG
08.01.08
✎
20:23
|
Извиняюсь за текстуальные ошибки. нервничаю...
|
|||
44
iSNEG
08.01.08
✎
21:43
|
В общем никак по-человечески не получилось пронумеровать.
решил делать предварительный запрос на количество элементов и выводить кол-во в подвале. Всем спасибо за мозговой штурм! :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |