Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ. Можно ли узнать номер видимой строки в таблице формы?

УФ. Можно ли узнать номер видимой строки в таблице формы?
Я
   psy_sln
 
30.10.20 - 13:01
Здравствуйте,
возможно ли узнать позицию выделенной строки (не в данных объекта!), а в таблице формы? т.е. например у нас таблица из 100 строк, на форме мы видим строки с 20 по 40, выделена третья строка сверху (допустим ее индекс в таблице 23). Вот мне нужно получить номер 3
   Ёпрст
 
1 - 30.10.20 - 13:04
(0) зачем ?просто получай текущую строку и всё.. вот не пофик ли, 3-я она сверху или 5-ая..
   psy_sln
 
2 - 30.10.20 - 13:05
Если бы было пофик, не было бы этой темы
   Ёпрст
 
3 - 30.10.20 - 13:08
(2) ну и скажи, зачем ?
   psy_sln
 
4 - 30.10.20 - 13:10
Для синхроницазии действий, на форме 2 таблицы, и когда чтото выделяю в одной, мне нужно чтобы в другой нужная строка встала на ту же позицию, что и в первой
   Ёпрст
 
5 - 30.10.20 - 13:12
(4) дык заведи ключ записи в обеих таблицах и приактивизации в первой ищи во второй по этому ключу
   Ёпрст
 
6 - 30.10.20 - 13:12
какй нахрен еще..3-ий номер сверху..
   psy_sln
 
7 - 30.10.20 - 13:14
да это есть, но мне нужно чтоб визуально строки были друг напротив друга
   Вафель
 
8 - 30.10.20 - 13:14
так он наверное и скролить синхронно хочет
   Вафель
 
9 - 30.10.20 - 13:15
такое только на хтмл возможно
   psy_sln
 
10 - 30.10.20 - 13:17
(8) это в идеале, мне хотябы при выделении строки такое организовать
   Вафель
 
11 - 30.10.20 - 13:20
так если у тебя строк больше, что при скроле должно быть, когда тек строка не меняется?
   psy_sln
 
12 - 30.10.20 - 13:25
Строк в этих таблицах будет всегда одинаковое количество, к тому же на скрол нет событий, по этому пытаюсь что то придумать при выделении строки
   Ёпрст
 
13 - 30.10.20 - 13:50
(12) то как ?
   Ёпрст
 
14 - 30.10.20 - 13:51
На первой таблице у тебя 10 строк, мышой тыркаешь в 9-ую, во второй таблице  сколько строк ?  с чего там должна быть активна 9-ая ?
   УдавВПопугаях
 
15 - 30.10.20 - 13:55
ну при активизации в одной таблице находишь нужную строку в другой и делаешь ее активной
   УдавВПопугаях
 
16 - 30.10.20 - 13:56
если надо что бы всегда были друг напротив друга, то строк должно быть одинаковое количество + одинаковая сортировка
   psy_sln
 
17 - 30.10.20 - 13:57
(15) Да, активной она становится, но мне нужно управлять размещением этой строки в отображаемой части таблицы
   УдавВПопугаях
 
18 - 30.10.20 - 13:58
а скролл - только если не колесом, а как то по-другому список прокручивать, кнопкой например, и там уже отлавливать
   psy_sln
 
19 - 30.10.20 - 13:59
(16) нет, ситуация, я прокрутил 5 экранов в низ и выделил самую нижнюю видимую строку, в другой таблице выделенная строка помещается в центр
   УдавВПопугаях
 
20 - 30.10.20 - 14:00
(19) во второй таблице выделенная всегда должна быть в центре? или друг напротив друга должны быть не понял
   hhhh
 
21 - 30.10.20 - 14:01
(19) сделай одну таблицу тогда. зачем вдруг понадобилось 2 таблицы?
   УдавВПопугаях
 
22 - 30.10.20 - 14:02
может отбор поставить на вторую таблицу, тогда там будут только строки, которые имеют ключ из первой, если она всегда будет одна, то будет в начале списка
   psy_sln
 
23 - 30.10.20 - 14:03
(20) друг на против друга
   УдавВПопугаях
 
24 - 30.10.20 - 14:07
(23) во второй таблице она в центре, а в первой... тоже в центре? давай картинку, как есть и как хочется, со стрелками, непонятно
   psy_sln
 
25 - 30.10.20 - 14:12
(24) Попробую без картинки, в первой таблице я выделяю строку (пусть будет вторая снизу), система в другой таблице находит эту строку и устанавливает на нее курсор, но курсор может быть расположен где угодно, а мне надо чтобы найденная строка во второй таблице была также второй снизу
   УдавВПопугаях
 
26 - 30.10.20 - 14:17
ох ты ж епт, знает толк в извращениях
поставить фильтр на вторую таблицу не вариант? в ней не останется ничего, кроме подходящего по условию
   УдавВПопугаях
 
27 - 30.10.20 - 14:18
табличная часть.сдвинуть() есть
   УдавВПопугаях
 
28 - 30.10.20 - 14:21
если количество строк одинаковое то
текданные1 = таб1.текущиеданные
строкатаб2 = таб.найти(текданные1.ключ, "ключ")
таб2.сдвинуть(строкатаб2, таб1.индекс(текданные1) - таб2.Индекс(строкатаб2))

это не точный код, считать и проверять надо, смысл где то такой
   УдавВПопугаях
 
29 - 30.10.20 - 14:22
а, ну и таб2.текущаястрока = строкатаб2
   УдавВПопугаях
 
30 - 30.10.20 - 14:26
может еще табличноеполе.обновитьстроки() или аналогичное нужно будет сделать, если при сдвиге в тч табполе не отобразит
ну и я про обычные формы, в управляемых должно быть аналогично
 
 Рекламное место пустует
   SleepyHead
 
31 - 30.10.20 - 14:28
(12) Нахрен две таблицы? Одна тогда нужна.
   УдавВПопугаях
 
32 - 30.10.20 - 14:28
(31) ну видимо разные данные в таблицах
   psy_sln
 
33 - 30.10.20 - 14:28
(29) Такой вариант, к сожалению, не подходит. У меня не табличная часть, да и двигать тут нельзя строки ибо смысл тогда теряется, наверно надо смотреть в сторону одной таблицы. Похоже что в платформе нет механизмов управления отображаемыми данными
   УдавВПопугаях
 
34 - 30.10.20 - 14:29
(0) при этом разве обязательно строку перемещать напротив другой? может достаточно просто выделить нужную и все?
   УдавВПопугаях
 
35 - 30.10.20 - 14:30
(33) в таблице значений тоже самое
   УдавВПопугаях
 
36 - 30.10.20 - 14:32
(33) механизмы есть, но обычно это для извращений, чем проще механизм тем он надежней
   УдавВПопугаях
 
37 - 30.10.20 - 14:38
че то странное
(17) "Да, активной она становится, но мне нужно управлять размещением этой строки в отображаемой части таблицы"
и
(33) "да и двигать тут нельзя строки ибо смысл тогда теряется, наверно надо смотреть в сторону одной таблицы. Похоже что в платформе нет механизмов управления отображаемыми данными"

и не сходится где то
   psy_sln
 
38 - 30.10.20 - 14:42
(37) на сколько я понял метод сдвинуть физически переместит строку на нужную позицию, т.е. ее индекс изменится, а мне не нежно менять индекс, мне нужно чтобы система проскролила таблицу так, чтобы выделенная строка оказалась на нужной мне позиции.
   УдавВПопугаях
 
39 - 30.10.20 - 14:49
ну активизируй нужную строку, она и проскролит
   УдавВПопугаях
 
40 - 30.10.20 - 14:50
не факт что встанут друг напротив друга, даже факт что не встанут
   УдавВПопугаях
 
41 - 30.10.20 - 14:52
что это за херня
   psy_sln
 
42 - 30.10.20 - 14:54
(40) вот именно, что не факт, а мне надо ))))
   psy_sln
 
43 - 30.10.20 - 14:54
но видимо это невозможно, я понял
   hhhh
 
44 - 30.10.20 - 14:57
(43) просто делай одну таблицу из двух и выводи ее. Ведь всё равно это не табчасти, значит вообще без проблем.
   МимохожийОднако
 
45 - 30.10.20 - 14:59
И на хрена это? Если у двух таблиц одинаковые ключи поиска при одинаковом количестве строк, то логичнее сделать одну таблицу
   psy_sln
 
46 - 30.10.20 - 15:03
(45) тут тема в визуальном представлении, в таблице отображается дерево, и если делать одну таблицу но с 2мя колонками, то дерево (визуально в виде дерева) будет только в одной колонке
   Cthulhu
 
47 - 30.10.20 - 15:04
запомнил номер строки в первой - нашел во второй - активизировал во второй (стало по центру) - активизировал запомненный  номер строки в первой (стало по центру) == обе синхронно по центру одна напротив другой...
визуально выглядит как тек.строка всегда посередине, а список движется. норм.
   УдавВПопугаях
 
48 - 30.10.20 - 15:07
(47) да хрен оно встанет по центру, она может быть с индексом 3 например, в самом верху
   УдавВПопугаях
 
49 - 30.10.20 - 15:08
(43) все возможно
в этом случае надо двигать строки и будет ок
   УдавВПопугаях
 
50 - 30.10.20 - 15:09
либо отсортировать в обеих таблицах, тогда ваще все одинаковое будет
   hhhh
 
51 - 30.10.20 - 15:14
(46) так значит у вас неодинаковое количество строк? Что же вы писали, что одинаковое?
   hhhh
 
52 - 30.10.20 - 15:16
(46) тогда невозможно в принципе. Первая строка не прокатит. в первой таблице на первой строке иерархия, а во второй таблице иерархии нет, сразу идут элементы.
   Cthulhu
 
53 - 30.10.20 - 15:21
(48) да вообще-то до лампады где, главное что рядом-напротив как надо автору. исключение - только конец списка если размер списков разный, но автор говорил вроде, что списки равной длины...
   hhhh
 
54 - 30.10.20 - 15:24
(53) левый исписок иерархический, как оказалось.
   Cthulhu
 
55 - 30.10.20 - 15:25
(54): еще раз. до лампочки. тек.строка по центру - сисок движется - найденная строка второго списка всегда рядом.
   psy_sln
 
56 - 30.10.20 - 15:27
(55) да, вот вы меня правильно поняли, и да как я и говорил количество элементов в таблице одинаково. то что они иерархические это для дела не суть важно
   Ёпрст
 
57 - 30.10.20 - 15:31
(55) врят ли в первой скрол сдвинет текущую строку посерёдке, если она и так текущая..лень проверять
   Ёпрст
 
58 - 30.10.20 - 15:31
*не скрол а установка текущей..
   УдавВПопугаях
 
59 - 30.10.20 - 15:37
(53) нуууу рядом это не напротив
   УдавВПопугаях
 
60 - 30.10.20 - 15:40
а напротив они не встанут
 
 Рекламное место пустует
   УдавВПопугаях
 
61 - 30.10.20 - 15:40
только если отсортированы одинаково
   Cthulhu
 
62 - 30.10.20 - 15:55
(57): есть такая вероятность, но если даже и так - установка тек.строкой другой потом обратно той же решает такую проблему (если! она возникнет)
(60),(61): блин, "Василий Иванович, иногда мне кажется, что вы бредите" (с)
и рядом, и напротив в двух списках на форме, расположенных рядом и имеющих одинаковую высоту - одно и то же, и встанут. сортировки - до лампады, тек.строка второго будет рядо=напротив тек.строки первого. как нашли строку второго чтобы сделать ее текущей - дело семнассатое.
   ДедМорроз
 
63 - 31.10.20 - 13:54
Если в таблицах одинаковое число строк,то просто в одну таблицу.
Если разное,то не поставите вы третьей строку,если во второй таблице всего две строки.
Как вариант,нарисуйте поля второй таблицы для текущей строки,а саму таблицу сделайте невидимой и меняйте в ней текущую строку,будет то,что нужно.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.