| 
    
 | 
        Очистить индекс выделенных строк в табличной части обработки     ↓ (Волшебник 21.08.2024 09:27)     | 
☑ | 
    
        | 
    0
    
        newtech    
       
    naïve 
    20.08.24 
            ✎
    21:00 
 | 
         
        Проблема такая... 
 1. Есть обработка с табличной частью
 2. По команде (Загрузить) загружаю в ТЧ некоторые данные (3 строки).Перед этим выполняю Объект.ТЧСписок.Очистить()
 3. Выбираю нужные мне данные (к примеру 2 первые строки) и обрабатываю, используя МассивВыделенныхСтрок = ЭтаФорма.Элементы.ТЧСписок.ВыделенныеСтроки
  получаем массив из 2 элементов, со значениями 0,1
 4. Если не закрывая табличную часть, снова (с Объект.ТЧСписок.Очистить() ) загрузить данные начиная с П.2
 то получаем массив из 2 элементов, со значениями 3,4. Из за чего получаю ошибку (Индекс находится за границами массива)
 
 Как очистить индексы выделяемых строк, перед повторным заполнением ТЧ?     
         | 
 | 
    
    
        | 
    1
    
        Волшебник    
       
    
    20.08.24 
            ✎
    21:33 
 | 
         
        чушь     
         | 
 | 
    
    
        | 
    2
    
        PR    
       
    
    20.08.24 
            ✎
    21:41 
 | 
         
        (0) — Давай купим картошку
 — Я вчера мешок купил, она что, вся испортилась?
 — Нет она вся свекла
 
 Я к тому, что не нужно заниматься всякой чушью типа "очистить индексы выделяемых строк"
 Лучше потратить время на изучение предметной области, в частности такой вещи, как ИсходныйНомерСтроки     
         | 
 | 
    
    
        | 
    3
    
        newtech    
       
    naïve 
    20.08.24 
            ✎
    22:01 
 | 
         
        (1) Возможно не точно описал проблему. Дополню..
 
 после заполнения ТЧ, выбираю только те строки которые меня интересуют, для дальнейшей обработки.
 
 где получаю в МассивВыделенныхСтрок - список значений(Номера выделенных строк, выделяя через ctrl, в той последовательности, которая необходима).
 далее...  массив передаю через     ПоказатьВопрос(Новый ОписаниеОповещения("ОтправитьПоАдресам", ЭтотОбъект, Новый Структура("МассивВыделенныхСтрок", МассивВыделенныхСтрок)), ТекстВопроса,РежимДиалогаВопрос.ДаНет);
 далее... 
 М = ДополнительныеПараметры.МассивВыделенныхСтрок;
 далее Для Каждого ТекСтрока Из  М Цикл
 где получаю Объект.ТЧСписок[ТекСтрока].НужныеДанные
 
 теперь если не закрывая ТЧ, снова загрузить и обработать вылетает ошибка. 
 
 возможно нужно поменять алгоритм обработки выделенных строк., натолкните на мысль..))     
         | 
 | 
    
    
        | 
    4
    
        timurhv    
       
    
    20.08.24 
            ✎
    22:22 
 | 
        
         | 
 | 
    
    
        | 
    5
    
        newtech    
       
    naïve 
    20.08.24 
            ✎
    23:08 
 | 
         
        (4) Да, уж ларчик просто открывается., СПАСИБО.
 PS. прежде чем обратится сюда, убил сутки ))
  Заменил НужныеДанные = Объект.ТЧСписок[ТекСтрока].НужныеДанные
 
 на НужныеДанные = Объект.ТЧСписок.НайтиПоИдентификатору(ТекСтрока).НужныеДанные
 
 и все зашелестело ))     
         | 
 | 
    
    
        | 
    6
    
        Ненавижу 1С    
       
    
    21.08.24 
            ✎
    08:34 
 | 
         
        Идентификатор строки это не ее индекс в источнике     
         | 
 | 
    
    
        | 
    7
    
        PR    
       
    
    21.08.24 
            ✎
    12:08 
 | 
         
        (5) А мог бы просто прочитать (2)
 Но, видимо, чукча не читатель     
         | 
 |