|
Позиционирование строки | ☑ | ||
---|---|---|---|---|
0
Frostik
02.10.12
✎
08:08
|
Всем доброго времени суток)
Столкнулся с такой проблемой: Есть форма списка , при изменении (Модификации) записи элемента в списке курсор активной строки перекидывает на начало списка, что не есть гуд т.к. нужно чтобы измененный элемент списка оставался активным. ТН = ЭлементыФормы.Сотрудники.ТекущаяСтрока.ТН; // Спозиционируемся на той же строке ТекущаяСтрока = Сотрудники.Найти(ТН, "ТН"); Если ТекущаяСтрока<>Неопределено Тогда ЭлементыФормы.Сотрудники.ТекущаяСтрока = ТекущаяСтрока; КонецЕсли; Ошибок не выдает но и желаемого эффекта нет( |
|||
1
kosts
02.10.12
✎
08:17
|
Ты ищешь ТН уже из первой строки
|
|||
2
Frostik
02.10.12
✎
08:33
|
в смысле?
P.S прошу извинить я начинающий программист |
|||
3
НикДляЗапросов
02.10.12
✎
08:37
|
в смысле находишь
|
|||
4
Frostik
02.10.12
✎
08:40
|
а как должна выглядеть процедура на текущую?
|
|||
5
kosts
02.10.12
✎
08:45
|
(0) Не ясно почему у тебя вообще перескакивает на другую строку, не должно быть такого.
Рассказывай как редактируешь элемент. |
|||
6
Frostik
02.10.12
✎
08:47
|
вызываю кнопкой форму редактирования элемента, выбираю нужный параметр, изменяю и вуаля.. опять первая строка
|
|||
7
Frostik
02.10.12
✎
08:50
|
СоздатьОткрыть = "Создать";
Форма = ПолучитьФорму("ФормаДокумента"); Форма.ВладелецФормы = ЭтаФорма; Результат = Форма.ОткрытьМодально(); Если Результат = Неопределено Тогда Возврат; КонецЕсли; ПолучитьСотрудников(); Сотрудники = СотрудникиПодразделения; ТН = ЭлементыФормы.Сотрудники.ТекущаяСтрока.ТН; Спозиционируемся на той же строке ТекущаяСтрока = Сотрудники.Найти(ТН, "ТН"); Если ТекущаяСтрока<>Неопределено Тогда ЭлементыФормы.Сотрудники.ТекущаяСтрока = ТекущаяСтрока; КонецЕсли; На кнопке вот эта процедура |
|||
8
kosts
02.10.12
✎
08:53
|
(7) Т.е. список сотрудников это ТЗ?
Тогда эту строку заменить примерно на ТН = ЭлементыФормы.Сотрудники.ТекущаяСтрока.ТН; -> ТН = Форма.Код; |
|||
9
kosts
02.10.12
✎
08:54
|
И не ищи сотрудников по ТН, т.к. ТН (Код) Сотрудника в тповых это не уникальное значение. Нужно искать по ссылке.
Да и перезаполнять весь список после изменения одной строки нет смысла. Измени только одну строку . |
|||
10
kosts
02.10.12
✎
08:57
|
В своей ТЗ колонкам давай те же имена, что и в соответствующем источнике это на много удобнее.
Тогда можно использовать типовую функцию ЗаполнитьЗначенияСвойств(ЗаполняемаяСтрока, ИсходныйЭлемент); |
|||
11
Frostik
02.10.12
✎
09:09
|
если честно вообще не понял(
|
|||
12
kosts
02.10.12
✎
09:18
|
(11) Для исправления твоей ситуации достаточно заменить строку
ТН = ЭлементыФормы.Сотрудники.ТекущаяСтрока.ТН; примерно на такую ТН = Форма.Сотрудник.Код; Остальное так как желательно делать. Вникай ... |
|||
13
Frostik
02.10.12
✎
09:19
|
Спасибо ) буду разбираться)
Главное подсказал верное направление |
|||
14
kosts
02.10.12
✎
09:19
|
Ты хочешь открыть форму нового документа или существующего?
|
|||
15
Frostik
02.10.12
✎
09:22
|
Открываю форму элемента из списка
|
|||
16
чувак
02.10.12
✎
09:28
|
Получился? Я тоже недавно решил эту проблему
|
|||
17
Frostik
02.10.12
✎
09:34
|
пока нет, ты как решил?
|
|||
18
kosts
02.10.12
✎
09:34
|
(15) Форму элемента справочника или форму документа? или у тебя форма элемента справочника названа как "ФормаДокумента"?
|
|||
19
Frostik
02.10.12
✎
09:40
|
Изначально есть форма списка с элементами, модифицируешь элемент через форму документа, во как...
|
|||
20
чувак
02.10.12
✎
09:57
|
А источник данных формы списка какой? откуда список берет данные?
|
|||
21
kosts
02.10.12
✎
10:01
|
(19) Вообще через документ не рекомендуется менять реквизиты справочников.
|
|||
22
kosts
02.10.12
✎
10:02
|
А в переменную "Результат" что возвращается?
|
|||
23
Frostik
02.10.12
✎
10:04
|
с БД сервера
|
|||
24
kosts
02.10.12
✎
10:11
|
(23) Что именно?
|
|||
25
Frostik
04.10.12
✎
11:18
|
Данные по сотруднику
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |