Имя: Пароль:
1C
1С v8
Задачка на сообразительность (как спозиционировать курсор на строке таблицы)
0 DoReMi
 
15.09.16
13:54
Обработка (8.3 толстый клиент, УФ) http://take.ms/Mb9LK

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

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

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

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

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

Тип: Число.

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип: Число.

Описание:

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

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

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

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