Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Задачка на сообразительность (как спозиционировать курсор на строке таблицы)

Задачка на сообразительность (как спозиционировать курсор на строке таблицы)
Я
   DoReMi
 
15.09.16 - 13:54
Обработка (8.3 толстый клиент, УФ) http://take.ms/Mb9LK

Задача - внести изменения в код таким образом, чтобы при последующих нажатиях на кнопку "Заполнить", в табличной части курсор оставался всё время на одной строке, ну, например, на 19-й.

Посвящается проблеме Индекс - НомерСтроки -Идентификатор строки.
 
 
   Mauser
 
1 - 15.09.16 - 14:01
Отлично! Как решишь, расскажешь.
   aleks_default
 
2 - 15.09.16 - 14:01
опять халявщик...
   DoReMi
 
3 - 15.09.16 - 14:09
(1) (2) Вы не посмотрели даже? Там весело!
   xafavute
 
4 - 15.09.16 - 14:10
Именно по индексу нужно остаться? иил можно по ключевым полям?
   DoReMi
 
5 - 15.09.16 - 14:12
(4) Нет никаких ключевых полей, нужно просто поставить курсор в строку №
   butterbean
 
6 - 15.09.16 - 14:12
(5) т.е. ключевое поле это "номер строки"
   Fragster
 
7 - 15.09.16 - 14:13
(0) 1круб
   DoReMi
 
8 - 15.09.16 - 14:14
(7) Задача не несет никакого практического значения, поэтому и бюджета нет, на интерес.
   Fragster
 
9 - 15.09.16 - 14:14
(8) ну ладно :(
   xafavute
 
10 - 15.09.16 - 14:16
вопрос заключаетсяв том как получить индекс строки по ид.
обратное то совсем просто
 
 Рекламное место пустует
   Mauser
 
11 - 15.09.16 - 14:16
(3) Повеселится за бесплатно! На интерес! Налетай!
   Fragster
 
12 - 15.09.16 - 14:17
(10) там два парных метода
   DoReMi
 
13 - 15.09.16 - 14:17
(10) Ну, или как-то избавиться от автоинкремента ИД.
   Mauser
 
14 - 15.09.16 - 14:17
(10)
ДанныеФормыСтруктураСКоллекцией (FormDataStructureAndCollection)
Индекс (IndexOf)
Синтаксис:

Индекс(<Элемент>)
Параметры:

<Элемент> (необязательный)

Тип: ДанныеФормыЭлементКоллекции.
Элемент коллекции, индекс которого требуется получить.
Возвращаемое значение:

Тип: Число.

Описание:
Получает индекс элемента коллекции.

Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
   Mauser
 
15 - 15.09.16 - 14:18
(12)
ДанныеФормыСтруктураСКоллекцией (FormDataStructureAndCollection)
Получить (Get)
Синтаксис:

Получить(<Индекс>)
Параметры:

<Индекс> (необязательный)

Тип: Число.
Расположение элемента в коллекции.
Возвращаемое значение:

Тип: ДанныеФормыЭлементКоллекции.

Описание:
Получает элемент по индексу. Работает аналогично оператору [].

Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
   Mauser
 
16 - 15.09.16 - 14:18
Дальше СП цитировать? Там весело!
   _stay true_
 
17 - 15.09.16 - 14:20
(16) Теперь ТС обязан сделать тебе бесплатный...:)
   DoReMi
 
18 - 15.09.16 - 14:20
(16) Продолжай позориться, форум всё стерпит :)
   Mauser
 
19 - 15.09.16 - 14:25
(18)
ДанныеФормыСтруктураСКоллекцией (FormDataStructureAndCollection)
НайтиПоИдентификатору (FindByID)
Синтаксис:

НайтиПоИдентификатору(<Идентификатор>)
Параметры:

<Идентификатор> (необязательный)

Тип: Число.
Идентификатор элемента коллекции.
Возвращаемое значение:

Тип: ДанныеФормыЭлементКоллекции;
   Mauser
 
20 - 15.09.16 - 14:25
ДанныеФормыЭлементКоллекции (FormDataCollectionItem)
ПолучитьИдентификатор (GetID)
Синтаксис:

ПолучитьИдентификатор()
Возвращаемое значение:

Тип: Число.

Описание:

Получает идентификатор для элемента коллекции.
   Mauser
 
21 - 15.09.16 - 14:27
(18) Тебе осталось прочитать и осознать в каком порядке где использовать ДанныеФормыЭлементКоллекции и Число

Соображалку береги, а то перегреется
   aleks_default
 
22 - 15.09.16 - 14:37
(21)Последние 2 метода тут вообще нахрен не нужны.
   Mauser
 
23 - 15.09.16 - 14:38
(22) Ну он в (0) хотел "Индекс - НомерСтроки -Идентификатор строки."
   DoReMi
 
24 - 15.09.16 - 14:43
Короче так и думал, что найдется чел, который испортит праздник. Повод ещё года три не писать сюда ничего и не заходить.

Правильный ответ:

&НаКлиенте
Процедура Заполнить(Команда)
    // сохраняем элемент

    Инд = Таблица1.Индекс(Элементы.Таблица1.ТекущиеДанные);
    
    Таблица1.Очистить();
    Для сч=1 по 100 цикл
        Нов = Таблица1.Добавить();
        Нов.Реквизит1 = ЧислоПрописью(сч)+"/"+ТекущаяДата();
    КонецЦикла;
    
    // выбираем строку

    Если Инд>0 Тогда
        Элементы.Таблица1.ТекущаяСтрока = Таблица1.Получить(Инд).ПолучитьИдентификатор();
    КонецЕсли;
    
КонецПроцедуры
   Mauser
 
25 - 15.09.16 - 14:44
(24) Полегчало? Ждем тебя в 2019
   xafavute
 
26 - 15.09.16 - 14:44
(24) ради такой задачки влом было руки марать
   DoReMi
 
27 - 15.09.16 - 14:45
Пацаны ваще ребята, смотрю)
Чуть задача попроще - лень руки марать, чуть посложнее - деньги давай.
Коммюнити!
   Fragster
 
28 - 15.09.16 - 14:48
(27) просто понять, что на форме - идентификатор, а в коллекции - индекс, и как из них друг друга получить - много ума не надо.
   Mauser
 
29 - 15.09.16 - 14:55
(28) К сожалению, мы не оценили его радость и веселье познания и преодоления.


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