| 
    
        
     
     | 
    
  | 
        Обход несколько текущих строк     ↓ (Волшебник 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) ну почти)) только вместо стр.документ добавил Объект.ТабЧ[Стр].Документ     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |