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


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

ВыделенныеСтроки расчет значение индекса после каждого использования

ВыделенныеСтроки расчет значение индекса после каждого использования
Я
   Jenstel
 
05.12.18 - 11:27
&НаСервере
Процедура ПолучитьРезультатыНаСервере()
    ТЧ = Объект.Запросы;    
    ВыделенныеСтроки = Элементы.СписокЗапросов.ВыделенныеСтроки;
    Для Каждого ТекСтрока Из ВыделенныеСтроки Цикл
        ПолучениеРезультата(ТЧ[ТекСтрока]);
    КонецЦикла;
    ОбновитьСписокЗаявок();    
КонецПроцедуры

Доброго времени суток. Использую такой код для перебора выделенных в таблице строк и выполнения по ним запроса, но с каждым повторным выполнением этой процедуры значение ТекСтрока увеличивается на количество строк в таблице. Что не так?
 
 
   dezss
 
1 - 05.12.18 - 11:32
Такое может быть, если ТЧ перезаполняется.
   hhhh
 
2 - 05.12.18 - 11:35
(0) ТекСтрока - это не индекс теперь. Это раньше был индекс, в обычных формах.
   dezss
 
3 - 05.12.18 - 11:40
(2) ТаблицаФормы (FormTable)
ВыделенныеСтроки (SelectedRows)
Использование:

Только чтение.
Описание:

Тип: Массив.
Содержит массив идентификаторов выделенных строк.

А идентификатор - это ж и есть индекс, если не ошибаюсь...
   Cyberhawk
 
4 - 05.12.18 - 11:42
(3) Ошибаешься
   Jenstel
 
5 - 05.12.18 - 11:42
(1) А как сделать правильно?
   dezss
 
6 - 05.12.18 - 11:43
(4) а что это тогда?
   Jenstel
 
7 - 05.12.18 - 11:43
Список перезаполняетя, и я так понимаю значение индекса увеличивается с каждым перезаполнением. Как правильно тогда обращаться в выделенным строкам? Можно кусок кода?
   Cyberhawk
 
8 - 05.12.18 - 11:45
(6) Идентификатор - то, что позволяет однозначно идентифицировать
   dezss
 
9 - 05.12.18 - 11:45
(7) А что тебя не устраивает в (0)?
Может тебе не надо каждый раз перезаполнять, а только добавлять/изменять/сортировать?
   dezss
 
10 - 05.12.18 - 11:45
(8) хм...ну так индекс, не?)))
 
 Рекламное место пустует
   Cyberhawk
 
11 - 05.12.18 - 11:45
Вероятно, обычный инкремент. С индексом не соотносится, т.к. индекс всегда с нуля, а идентификатор - нет.
   Cyberhawk
 
12 - 05.12.18 - 11:46
(10) При первом открытии вероятно совпадает с индексом. При сношениях с таблицей формы начинает расходиться.
   Jenstel
 
13 - 05.12.18 - 11:46
(8) А можно кусок кода как по идентификатору перебирать выделенные строки?
   dezss
 
14 - 05.12.18 - 11:48
(13) Ты их и так по нему перебираешь перебираешь)

(11) (12) Э, у нас, видимо, проблема с использованием разной терминологии.
С чего уверенность, что индекс всегда с 0 начинается?
   dezss
 
15 - 05.12.18 - 11:49
(11) Из вики:
И́ндекс (лат. index — список, реестр, указатель, а также указательный палец) — число, буквы или другая комбинация символов, указывающая место элемента в совокупности или характеризующая состояние некоторой системы, например показатель активности, производительности, развития, изменения чего-либо.


Идентифика́тор, ID (англ. data name, identifier — опознаватель) — уникальный признак объекта, позволяющий отличать его от других объектов, т.е. идентифицировать.
   Cyberhawk
 
16 - 05.12.18 - 11:49
(13) Смотри в разделе "См. также" в СП для "ТекущаяСтрока"
   Cyberhawk
 
17 - 05.12.18 - 11:50
(15) Ты повторил в (8), все усложнив
   Jenstel
 
18 - 05.12.18 - 11:50
Для Каждого ТекСтрока Из ВыделенныеСтроки Цикл
  ПолучениеРезультата(ТЧ.НайтиПоИдентификатору(ТекСтрока));
КонецЦикла;

Вот так работает
   dezss
 
19 - 05.12.18 - 11:50
(17) ага...только идентификатор и индекс, в данном контексте - это одно и то же)
   Cyberhawk
 
20 - 05.12.18 - 11:51
(14) "С чего уверенность, что индекс всегда с 0 начинается?" // С того, что индекс определяет положение, нумерация с нуля
   Cyberhawk
 
21 - 05.12.18 - 11:51
(19) Могу только отправить в (4)
   dezss
 
22 - 05.12.18 - 11:52
(20) Слишком узко мыслишь)
   Cyberhawk
 
23 - 05.12.18 - 11:53
(22) В 1С только так


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