Имя: Пароль:
1C
 
Удаление элементов массива по индексам с учетом уменьшения размерности массива
🠗 (Волшебник 28.10.2022 14:25)
0 LivingStar
 
28.10.22
14:13
Удаляю элементы массива. не учел что его количество уменьшается. И нужные индексы становятся другими.
Прописал статичную индексацию. Можете ли подсказать как это правильно делать?
Так как удалять можно только по индексам.
Может искать элемент по идентификатору, а потом получая его индекс удалять?
решил вот спросить. А то сам. не погрузившись на час в этот вопрос, не получу понимания. относительно его решения.
1 Смотрящий
 
28.10.22
14:18
С конца массива удаляй
2 Timon1405
 
28.10.22
14:21
также можно еще копировать только нужные данные в новую коллекцию
3 mikecool
 
28.10.22
14:23
(0) ты поиском умеешь пользоваться?
4 LivingStar
 
28.10.22
14:26
(1) Дело в том что удалять нужно от 4х условий. Разные элементы.
То есть изначально 47 элементов, удалять нужно по 10, от всего размера.

(3) Умею. Видимо данная задача имеет более широкие рамки, и я выхожу на обсуждение, что бы получить информацию. Сам пока не могу произвести старт и выявить ход решения.

Придет время, уделю задаче час. Возьму лист. Буду выявлять все возможные моменты и ходы решения. Там и найду его.
5 timurhv
 
28.10.22
14:27
ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияЗначенияИзМассива

ОбщегоНазначенияКлиентСервер.РазностьМассивов
ОбщегоНазначенияКлиентСервер.СвернутьМассив
ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива
6 LivingStar
 
28.10.22
14:30
(5) Интересные варианты, нужно будет изучить.
7 rphosts
 
28.10.22
15:09
(6) если у тебя ИБ на БСП, конечно
8 H A D G E H O G s
 
28.10.22
15:12
(0) Удали себя из профессии
9 ДедМорроз
 
28.10.22
17:35
Начнем с того,что удаление элемента из массива - это достаточно ресурсоемкая операция,когда массив большой.
Поэтому,обычно не удаляют,а перемещают элементы на место удаляемых,а хвост зачищают.
10 LivingStar
 
31.10.22
04:20
(9) Это верно. И если еще нужно удалять выборочно в разных местах массива, группами.

(7) да, конечно на БСП.

(5) Как только этим пользоваться, нужно понять.
11 LivingStar
 
31.10.22
04:27
(5) Посмотрел, но не особо там богатый функционал. такое и самому за 5 минут можно сделать.

Как вот удалять, группы элементов в теле массива7 Это когда не просто с конца идет удаление.
12 LivingStar
 
31.10.22
07:10
такими блоками решил все

        Индекс1 = ПроверяемыеРеквизиты.Найти("НомерЗакупки");
        Если Индекс1 <> Неопределено Тогда
            ПроверяемыеРеквизиты.Удалить(Индекс1);
        КонецЕсли;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан