Имя: Пароль:
1C
1С v8
Обход несколько текущих строк
🠗 (Волшебник 24.03.2023 00:25)
0 Barry
 
23.03.23
10:47
Есть команда, которая меняет статус документу. Если я выделил в табличной части строку, то соответственно только для нее и изменится статус. А мне нужно чтобы когда я выделяю две, три и более строки, то они все также обработались. Вот код процедуры я так понимаю мне нужно его как-то правильно разместить в цикле:

Строка = Элементы.ТабЧ.ТекущиеДанные.Документ;

НаОбработку = Новый Массив;
НаОбработку.Добавить(Строка);
КомандаОбработчик.ПереборДокументов(НаОбработку);
1 Волшебник
 
23.03.23
10:50
см ВыделенныеСтроки
2 НафНаф
 
23.03.23
10:50
Строки = Элементы.ТабЧ.ВыделенныеСтроки
3 mikecool
 
23.03.23
11:25
и не забыть - у команды изменить режим использования параметра
4 Barry
 
23.03.23
17:23
(2) Не работает, вообще перестало менять статус для текущей строки
5 Fish
 
23.03.23
17:37
(4) Ты не путай разные сущности. Текущая строка всегда одна. А ВыделенныеСтроки - это массив строк.
6 Barry
 
23.03.23
19:39
(5) ну таки да, я же говорю без цикла не обойтись было)
7 Волшебник
 
23.03.23
19:42
(6) Программирование — это фантазия плюс умение крутить циклы.
8 Barry
 
24.03.23
00:16
Короче, что-то не так. При первом выполнение немного отрабатывает и получаю ошибку: Индекс находится за пределами массива. Что не так то?

Строка = Элементы.ТабЧ.ВыделенныеСтроки;
Для Каждого Стр Из Строка Цикл
   Знач = Объект.ТабЧ[Стр].Документ;
   КомандаОбработчик.ПереборДокументов(Знач);
КонецЦикла
9 Волшебник
 
24.03.23
00:24
(8) Вы уж там разберитесь
10 Fish
 
24.03.23
08:30
(8) У тебя какая-то путаница даже в названиях. В переменную СтрокА ты передаёшь массив строк. А в ПереборДокументОВ ты передаёшь всего один документ :)
11 Barry
 
24.03.23
14:27
(10) не могу понять, как мне тогда добавить только выделенные строки в перебордокументов?
12 Волшебник
 
24.03.23
14:54
СписокДок = Новый Массив;
Для Каждого Стр Из Элементы.ТабЧ.ВыделенныеСтроки Цикл
   СписокДок.Добавить(Стр.Документ);
КонецЦикла
КомандаОбработчик.ПереборДокументов(СписокДок);


и не говорите, что пропущена точка с запятой
13 Barry
 
24.03.23
15:55
(12) ну почти)) только вместо стр.документ добавил Объект.ТабЧ[Стр].Документ
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан