| 
    
            
         
         | 
    
  | 
Удалить:Недопустимое значение параметра (параметр номер '1') | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Игорь_МММ    
     19.12.20 
            ✎
    15:15 
 | 
         
        Вроде все ясно как божий день, но ...
 
        КоллекцияСтрок = СтрокаМатериал.ПолучитьЭлементы(); Для Каждого стрКоллекции Из КоллекцияСтрок Цикл МассивУдаляемых.Добавить(стрКоллекции); КонецЦикла; Для Каждого стрКоллекции Из МассивУдаляемых Цикл КоллекцияСтрок.Удалить(стрКоллекции); КонецЦикла; на КоллекцияСтрок.Удалить(стрКоллекции) возникает ошибка "Ошибка при вызове метода контекста (Удалить) ....Недопустимое значение параметра (параметр номер '1')" вставал на этой строке, проверял входит ли она в коллекцию, сверял типы ... пробовал удалять по идентификатору .. все едино. что за хрень, я уже теряюсь, причем раньше работало - после чего перестало уже не могу отследить. Да и как может что-то влиять когда код написан последовательно - выборка строк и следом удаление. Есть ли какие мысли?  | 
|||
| 
    1
    
        Злопчинский    
     19.12.20 
            ✎
    15:33 
 | 
         
        я вообще ноль в 8-ке, но мне кажется что код бредовый написан.
 
        могу ошибаться.  | 
|||
| 
    2
    
        Злопчинский    
     19.12.20 
            ✎
    15:39 
 | 
         
        ваще ничего не понимая.. вот так нельзя?
 
        КоллекцияСтрок = СтрокаМатериал.ПолучитьЭлементы(); Для Каждого стрКоллекции Из КоллекцияСтрок Цикл КоллекцияСтрок.Удалить(стрКоллекции); КонецЦикла;  | 
|||
| 
    3
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:02 
 | 
         
        (2) нет, конечно, нельзя. Как сработает Для Каждого , если вы в процессе строки удаляете     
         | 
|||
| 
    4
    
        Злопчинский    
     19.12.20 
            ✎
    16:04 
 | 
         
        (3) с конца удалять, не?     
         | 
|||
| 
    5
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:06 
 | 
         
        +(0) в этом примере конечно просто выйти из положения написав  СтрокаМатериал.ПолучитьЭлементы().Очистить(). Но смысл не в этом .. Текущие строки записываются и удаляются после манипуляций с деревом.
 
        Вообщем не понятна возникающая ошибка, прошу помощи, плиз  | 
|||
| 
    6
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:07 
 | 
         
        (4) не     
         | 
|||
| 
    7
    
        runoff_runoff    
     19.12.20 
            ✎
    16:12 
 | 
         
        кстати.. падает сразу на втором круге или дальше?     
         | 
|||
| 
    8
    
        Cthulhu    
     19.12.20 
            ✎
    16:16 
 | 
||||
| 
    9
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:16 
 | 
         
        (7) сразу, на первом же круге     
         | 
|||
| 
    10
    
        runoff_runoff    
     19.12.20 
            ✎
    16:22 
 | 
         
        попробуйте заменить на КоллекцияСтрок.Удалить(0).. сработает?..
 
        чисто из спортивного интереса  | 
|||
| 
    11
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:37 
 | 
         
        Для Каждого стрКоллекции Из КоллекцияСтрок Цикл
 
        МассивУдаляемых.Добавить(стрКоллекции.ПолучитьИдентификатор()); КонецЦикла; Для Каждого ИдентификаторСтроки Из МассивУдаляемых Цикл ТекущаяСтрока = ДеталировкаФорма.НайтиПоИдентификатору(ИдентификаторСтроки); СтрокаРодитель = ТекущаяСтрока.ПолучитьРодителя(); Если СтрокаРодитель = Неопределено Тогда ДеталировкаФорма.ПолучитьЭлементы().Удалить(ТекущаяСтрока); Иначе СтрокаРодитель.ПолучитьЭлементы().Удалить(ТекущаяСтрока); КонецЕсли; КонецЦикла; вот так прокатывает, но в чем разница с этим?: КоллекцияСтрок = СтрокаМатериал.ПолучитьЭлементы(); Для Каждого стрКоллекции Из КоллекцияСтрок Цикл МассивУдаляемых.Добавить(стрКоллекции); КонецЦикла; Для Каждого стрКоллекции Из МассивУдаляемых Цикл КоллекцияСтрок.Удалить(стрКоллекции); КонецЦикла;  | 
|||
| 
    12
    
        Cthulhu    
     19.12.20 
            ✎
    16:40 
 | 
         
        а "спасибо" где?     
         | 
|||
| 
    13
    
        acht    
     19.12.20 
            ✎
    16:40 
 | 
         
        (11) Возможно ты пытаешся удалить строку, которая уже была удалена ранее как часть поддерева     
         | 
|||
| 
    14
    
        Игорь_МММ    
     19.12.20 
            ✎
    16:47 
 | 
         
        (12) спасибо, спасибо )) 
 
        (13) в группировке только одна строка - при ее попытке сразу же ошибка я вычислял КоллекцияСтрок[0].ПолучитьИдентификатор() = стрКоллекции.ПолучитьИдентификатор() - результат Истина, так что остался в непонятках. Cthulhu, поясните в чем прикол?  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |