|
Курсор не переходит на след. строку | ☑ | ||
---|---|---|---|---|
0
rowflag
07.11.12
✎
13:01
|
&НаКлиенте
Процедура ТЧСписокПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) Объект.ТЧСписок.Добавить(); Элементы.ТЧСписок.ТекущаяСтрока = Элементы.ТЧСписок.ТекущаяСтрока + 1; КонецПроцедуры Почему? |
|||
1
Wobland
07.11.12
✎
13:02
|
ТекущаяСтрока - не число
|
|||
2
rowflag
07.11.12
✎
13:02
|
(строка выделена следующая, а курсор стоит на предыдущей)
|
|||
3
rowflag
07.11.12
✎
13:02
|
(1) но строка то выделяется следующая. Как правильно
|
|||
4
rowflag
07.11.12
✎
13:02
|
?
|
|||
5
Wobland
07.11.12
✎
13:04
|
(4) правильно присваивать в текущую строку нужную строку
|
|||
6
rowflag
07.11.12
✎
13:04
|
Выражение Значение Тип
Элементы.ТЧСписок.ТекущаяСтрока 0 Число |
|||
7
rowflag
07.11.12
✎
13:05
|
Как присвоить ту, которую я только что добавил?
|
|||
8
Wobland
07.11.12
✎
13:05
|
(7)Описание:
Тип: Произвольный. Идентификатор текущей строки таблицы. |
|||
9
rowflag
07.11.12
✎
13:05
|
Отладчик пишет что число.
|
|||
10
Reset
07.11.12
✎
13:09
|
Я нуль в УФ и проверять некогда, но попробуй так
НоваяСтрока=Объект.ТЧСписок.Добавить(); Элементы.ТЧСписок.ТекущаяСтрока = НоваяСтрока.ПолучитьИдентификатор(); |
|||
11
Wobland
07.11.12
✎
13:10
|
(10) я 0.01 в УФ, но попробуй =НоваяСтрока
|
|||
12
Reset
07.11.12
✎
13:11
|
(11) Пусть оба попробует) Заодно узнаем. Хоть какая-то польза
|
|||
13
Wobland
07.11.12
✎
13:12
|
(12) да это принцип, не зависящий от формы
|
|||
14
rowflag
07.11.12
✎
13:14
|
Попробовал и то и другое. Результат тот же:
Строка новая выделенная (текущая), а курсор на предыдущей.. |
|||
15
rowflag
07.11.12
✎
13:15
|
Выход нашелся..
|
|||
16
rowflag
07.11.12
✎
13:16
|
&НаКлиенте
Процедура ТЧСписокШКРучнойВводПриИзменении(Элемент) СтрокаТЧ = Элементы.ТЧСписок.ТекущиеДанные; ПрефиксСтрока = Строка(СтрокаТЧ.ПрефиксРучнойВвод); Код = СтрокаТЧ.ШКРучнойВвод; Если СтрДлина(Код) = 4 Тогда КодСтрока = Код; ИначеЕсли СтрДлина(Код) = 3 Тогда КодСтрока = "0" + Код; ИначеЕсли СтрДлина(Код) = 2 Тогда КодСтрока = "00" + Код; ИначеЕсли СтрДлина(Код) = 1 Тогда КодСтрока = "000" + Код; КонецЕсли; Данные = Число(ПрефиксСтрока + КодСтрока); Номенклатура = ПолучитьНоменклатуруПоШтрихкоду(Данные); Если Номенклатура <> Неопределено Тогда ДобавитьНоменклатуруРучнойВвод(Номенклатура); Элементы.ТЧСписок.ЗакончитьРедактированиеСтроки(Ложь); Элементы.ТЧСписок.ТекущаяСтрока = Элементы.ТЧСписок.ТекущаяСтрока + 1; Иначе Сообщить("Не найдено по штрихкоду " + """" + Данные + """"); КонецЕсли КонецПроцедуры &НаКлиенте Процедура ТЧСписокПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) Объект.ТЧСписок.Добавить(); КонецПроцедуры |
|||
17
rowflag
07.11.12
✎
13:16
|
Делать текущую строку надо не в процедуре ТЧСписокПриОкончанииРедактирования.
|
|||
18
Reset
07.11.12
✎
13:17
|
(17) Ну, это, собственно, логично
|
|||
19
Wobland
07.11.12
✎
13:18
|
(18) логично - это соответствующее свойство у таблицы выставить. и без всякого кода
|
|||
20
Wobland
07.11.12
✎
13:18
|
а так - меняет посередине, внезапно выскакивает новая строка. жуть
|
|||
21
Reset
07.11.12
✎
13:19
|
Но, я все таки рекомендовал бы избавится от Текущая+1, ибо
... идентификатор для элемента коллекции. Этот идентификатор не привязан к позиции элемента в коллекции. |
|||
22
rowflag
07.11.12
✎
13:21
|
(19) какое свойство?
|
|||
23
rowflag
07.11.12
✎
13:22
|
(21) спасибо!
|
|||
24
Wobland
07.11.12
✎
13:30
|
(22) соответствующее. какие нашёл?
|
|||
25
rowflag
07.11.12
✎
15:32
|
Не нашел..
|
|||
26
Wobland
07.11.12
✎
16:30
|
(25) а тут?
http://screencast.com/t/vWvWLWsuyer |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |