1С 8.3 Удаление дублей в массиве - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Удаление дублей в массиве

Данные > Примеры кода 1С > 1С 8.3 Массив
Удаление дублей в массиве с помощью ТЗ в 1С 8.3:
Функция УдалениеДублейВМассиве1(ВходящийМассив) Экспорт

   ТЗ_Ключ = Новый ТаблицаЗначений;
   ТЗ_Ключ.Колонки.Добавить("Инд"); // ключ поиска дублей

   Для A=1 По ВходящийМассив.Количество() Цикл
       ТЗ_Ключ.Добавить();
   КонецЦикла;

   ТЗ_Ключ.ЗагрузитьКолонку(ВходящийМассив,"Инд");
   ТЗ_Ключ.Свернуть("Инд");
   ВходящийМассив = ТЗ_Ключ.ВыгрузитьКолонку("Инд");

   Возврат ВходящийМассив;

КонецФункции
Удаление дублей в массиве в цикле в 1С 8.3:
Функция УдалениеДублейВМассиве2(ВходящийМассив) Экспорт

   ТекИндекс = 0;

   МассивКоличество = ВходящийМассив.Количество();
   Пока ТекИндекс < МассивКоличество Цикл
       ТекИндекс2 = ТекИндекс + 1;
       Пока ТекИндекс2 < МассивКоличество Цикл
           Если ВходящийМассив[ТекИндекс2] = ВходящийМассив[ТекИндекс] Тогда
               ВходящийМассив.Удалить(ТекИндекс2);
               МассивКоличество = МассивКоличество - 1;
           Иначе
               ТекИндекс2 = ТекИндекс2 + 1;
           КонецЕсли;
       КонецЦикла;
       ТекИндекс = ТекИндекс + 1;
   КонецЦикла;

   Возврат ВходящийМассив;

КонецФункции
Удаление дублей в массиве через БСП в 1С 8.3:
ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ВходящийМассив);
Удаление дублей в массиве через БСП в 1С 8.3:
Взаимодействия.УдалитьПовторяющиесяЭлементыМассива(МассивСпособовОтражений);
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 10.07.2023
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому