Уведомления
Очистить все
1С:Предприятие 8.x
1
Записи
1
Пользователи
0
Likes
7,078
Просмотры
Создатель темы 09/10/2022 11:03 дп
Удаляем дубли из массива в 1С:
Способ 1
&НаСервере Функция УдалитьДублиИзМассива(Массив) ИндексТекущегоЭлемента = 0; ВсегоЭлементов = Массив.Количество(); Пока ИндексТекущегоЭлемента < ВсегоЭлементов Цикл ИндексСледующегоЭлемента = ИндексТекущегоЭлемента + 1; Пока ИндексСледующегоЭлемента < ВсегоЭлементов Цикл Если Массив[ИндексСледующегоЭлемента] = Массив[ИндексТекущегоЭлемента] Тогда Массив.Удалить(ИндексСледующегоЭлемента); ВсегоЭлементов = ВсегоЭлементов - 1; Иначе ИндексСледующегоЭлемента = ИндексСледующегоЭлемента + 1; КонецЕсли; КонецЦикла; ИндексТекущегоЭлемента = ИндексТекущегоЭлемента + 1; КонецЦикла; Возврат Массив; КонецФункции
Способ 2
&НаСервере Функция УдалитьДублиИзМассива(Массив) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Наимен"); Для f = 1 по Массив.Количество() Цикл ТЗ.Добавить(); КонецЦикла; ТЗ.ЗагрузитьКолонку(Массив,"Наимен"); ТЗ.Свернуть("Наимен"); Массив = ТЗ.ВыгрузитьКолонку("Наимен"); Возврат Массив; КонецФункции