8.х Как удалить элемент из массива

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем v0233, 16 июн 2011.

  1. TopicStarter Overlay
    v0233
    Offline

    v0233 Опытный в 1С

    Регистрация:
    23 авг 2010
    Сообщения:
    167
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Подскажите пожалуйста причину по которой 1с не хочет удалять элемент из массива


    Код:
    Для каждого элементМассива из Массив Цикл
    Для каждого ВЗ из ВыгружаемыеЗаписи Цикл
    Если ЭлементМассива=ВЗ Тогда
    ВыгружаемыеЗаписи.Удалить(ВЗ);
    КонецЕсли;
    КонецЦикла;
    
    КонецЦикла;
    
    
    
    вот какую ошибку выдает 1с
    {Обработка.Обработка1.Форма.Форма(195)}: Ошибка при вызове метода контекста (Удалить)
    ВыгружаемыеЗаписи.Удалить(ВЗ);
    по причине:
    Несоответствие типов (параметр номер '1')
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
  3. TopicStarter Overlay
    v0233
    Offline

    v0233 Опытный в 1С

    Регистрация:
    23 авг 2010
    Сообщения:
    167
    Симпатии:
    0
    Баллы:
    26
    А как узнать какое число в данном случае этот элемент
    Код:
    ВЗ
    
    
    ?
  4. yzek
    Offline

    yzek Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    0
    Баллы:
    26
    Код:
    Индекс = Массив.Найти(ВЗ);
    
  5. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    мне кажется, тут логическая ошибка. удалять надо снизу вверх, а не сверху вниз.

    если удалить элемент с индексом 3, то следующий за ним элемент с индексом 4 становится на место 3-го элемента..

    например, с таблицей значений так поступают. я думаю, это же правило распространяется и на массив.

    Код:
    КолСтрок = Таблица.Количество();
    Для Сч=1 по КолСтрок Цикл
    
    НомерСтроки = КолСтрок - Сч;
    
    Если трампампам Тогда
    Таблица.Удалить(НомерСтроки);
    КонецЕсли;
    
    КонецЦикла;
    
    
    
    

Поделиться этой страницей