|
Сортировка на форме списка | ☑ | ||
---|---|---|---|---|
0
bcosta
16.11.14
✎
22:34
|
Вечер добрый!
Подскажите, кто знает. Обычное приложение. Самописная конфа. На форме списка документа сортировка по дате. Если в документе изменить дату, то после проведения он убегает в другое место из-за своей новой даты. Как сделать так, чтобы при изменении даты, документ убегал в другое место, а выбор оставался на строке, на которой был этот документ. Например, я открыл документ в строке 5, после изменения даты документ переместился на строку 15, а выбор остался на другом документе на строке 5. |
|||
1
bcosta
16.11.14
✎
23:02
|
Никто не поможет?
|
|||
2
vicof
17.11.14
✎
00:09
|
запомнинать номер строки перед редактированием даты и делать текущей строку с этим номером после редактирования. Вроде бы все логично.
|
|||
3
bcosta
17.11.14
✎
00:23
|
(2) Логика очень даже понятна. Но вот как запомнить номер строки перед редактированием даты и как делать текущей строку с этим номером после редактирования?
|
|||
4
Reaper_1c
17.11.14
✎
00:29
|
Зачем?
|
|||
5
vicof
17.11.14
✎
00:30
|
Про номер я немного загнул. Но текущая строка вполне подойдет.
ТабличноеПоле.ТекущаяСтрока (TableBox.CurrentRow) ТабличноеПоле (TableBox) ТекущаяСтрока (CurrentRow) Использование: Чтение и запись. Описание: Содержит текущую строку табличного поля. Доступность: Толстый клиент. Примечание: Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов. См. также: ТабличноеПоле, свойство ТекущаяКолонка |
|||
6
vicof
17.11.14
✎
00:31
|
(4) Ну как, какой-нить оператор правит даты заказов ручками, а потом даты при смене уезжают, и бедный юзер забывает, где он находился.
|
|||
7
Reaper_1c
17.11.14
✎
00:45
|
(6) Оператор находится здесь и сейчас, это конец списка. Зачем он правит даты заказов? Амнезия? Болезнь Паркинсона?
|
|||
8
bcosta
17.11.14
✎
00:50
|
(5) ТабличноеПоле.ТекущаяСтрока пробовал уже. И как я понял, текущая строка содержит данные строки и независимо от номера тоже уедет. Или может не так чего делал.
|
|||
9
bcosta
17.11.14
✎
00:51
|
(5) Попробую еще покрутить.
|
|||
10
bcosta
17.11.14
✎
03:04
|
Ап
|
|||
11
bcosta
17.11.14
✎
09:06
|
Ап
|
|||
12
Cube
17.11.14
✎
09:10
|
Чё "ап"? Ответ в (5).
|
|||
13
bcosta
17.11.14
✎
09:15
|
(12) Не работает ответ в (5).
Запоминается вся строка и при изменении даты остается старая строка и "убегает" все равно. Нужно именно номер строки выцепить из ТекущаяСтрока, а как не знаю. |
|||
14
bcosta
17.11.14
✎
09:37
|
Напишите хоть еще одну версию. Вдруг кто знает решение. Или укажите, где я могу тупить, когда на самом деле все просто.
|
|||
15
Cube
17.11.14
✎
09:41
|
(13) Потому что не надо тупо копипастить, а покумекать... До записи документа надо запомнить ПРЕДЫДУЩУЮ СТРОКУ, прикинь, да? А после записи документа, надо спозиционироваться на запомненную ранее предыдущую строку...
|
|||
16
bcosta
17.11.14
✎
09:47
|
(15) На словах все очень просто, но на деле как запомнить предыдущую строку?
ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле.ТекущаяСтрока - так? А предыдущую строку как получить? |
|||
17
DmitrO
17.11.14
✎
09:47
|
Перед редактированием сохранять дату документа в текущей строке в данных формы, после редактирования, запросом получать ссылку документа у которого дата >= ранее сохраненной и на нее позиционировать текущую строку. Что сложного то?
|
|||
18
bcosta
17.11.14
✎
09:50
|
(17) Хорошая идея, только вот не обязательно сортировка может быть по дате. При другой сортировке все так же будет прыгать.
Да все просто, сам это понимаю, но вот нужная мысль никак в голову не приходит. Всю ночь не спал, ничего не соображаю. |
|||
19
DmitrO
17.11.14
✎
09:54
|
(18)можно конечно написать и универсальный алгоритм который будет работать при любой сортировке, в этом случае он должен работать не по дате а по полю (полям) текущей сортировки списка, но в общем случае он будет в несколько сложнее чем описанный выше.
Может для начала по дате напишите и этого будет достаточно? :) Ну или хотя бы всего пару вариантов реализовать, а если текущая сортировка не предусмотрена алгоритмом, то просто ничего не делать. |
|||
20
bcosta
17.11.14
✎
09:58
|
(19) Если ничего другое не получится, то придется так сделать. Спасибо за совет.
|
|||
21
Kamas
17.11.14
✎
10:01
|
Блин а почему бы не запоминать просто ссылку, а потом искать ссылку и позиционироваться на ней и пливать какая сортировка.
|
|||
22
DmitrO
17.11.14
✎
10:05
|
(21)вылазь из танка, как раз такого штатного поведения требуется избежать.
|
|||
23
bcosta
17.11.14
✎
10:06
|
Ссылку на что? На документ в текущей строке или в предыдущей?
|
|||
24
Kamas
17.11.14
✎
10:06
|
(22) Запоминай на строчку выше
|
|||
25
Cube
17.11.14
✎
10:09
|
(16) А ты думал, что в сказку попал?
|
|||
26
bcosta
17.11.14
✎
10:10
|
(24) Ок, только вот как?
|
|||
27
bcosta
17.11.14
✎
10:10
|
(25) Нет, это суровая жизнь, но сказки иногда хочется.
|
|||
28
Cube
17.11.14
✎
10:12
|
(26) Читай (18).
|
|||
29
bcosta
17.11.14
✎
10:14
|
(28) Что я там увидеть должен?
|
|||
30
del123
17.11.14
✎
10:28
|
Если на форме таблица по табличной части документа, то можно воспользоваться этим:
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока.НомерСтроки |
|||
31
Cube
17.11.14
✎
10:29
|
(29) Может, за тебя код написать, а ты за него лавандосы сострегешь и ЧСВ повысишь?
|
|||
32
bcosta
17.11.14
✎
10:30
|
(30) Нет, не табличная часть документа.
|
|||
33
bcosta
17.11.14
✎
10:31
|
(31) Конечно же нет, что ты. Нужна подсказка, куда копать. Больше ничего не прошу.
|
|||
34
Cube
17.11.14
✎
10:32
|
(33) Я в (28) ошибся. Хотель написать про (19) пост. Там и есть подсказка, куда копать.
|
|||
35
Cube
17.11.14
✎
10:34
|
Короче, делаешь запрос, который выдает тебе предыдущий документ. Конечно, при смене сортировки, придется и запрос изменять...
|
|||
36
Cube
17.11.14
✎
10:36
|
(33) Посмотри ещё тут v8: Как получить данные динамического списка? 11 пост
|
|||
37
bcosta
17.11.14
✎
10:59
|
(34)(35) Смысл из (19) понятен. Это будет работать. Но уж слишком громоздко. Хотелось бы, что-то стандартное типа НомерСтроки, Индекс и т.п. Но, что бы я не пробовал, найденное в интернете, ничего не подходит.
(36) Щас гляну, что там советуют. |
|||
38
bcosta
17.11.14
✎
11:11
|
А если добавить колонку НомерСтоки и при изменении сортировки перезаполнять ее во всех строках по порядку, через ТекущуюСтроку получать НомерСтроки и переключаться на предыдущий НомерСтроки при изменении документа?
Через одно место конечно, но вроде должно сработать. |
|||
39
Kamas
17.11.14
✎
11:13
|
(38) Долго
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |