Top.Mail.Ru
Ответы

Проблема в 1C

Нужно было написать код, сделать свёртку массива, чтоб он выводил только уникальные значения, например: 1, 2, 2, 3, 4, 4, 5, 5, 5 - 1, 2, 3, 4, 5. Написал код, но он почему то не выводит уникальные значения. Кто может, подскажите, как исправить.

&НаКлиенте
Процедура СвернутьМассив(ВведитеЧисла)
Массив = Новый Массив;
УникальныеЗначения = Новый Массив;

Для Каждого Значение Из Массив Цикл
Если Не УникальныеЗначения.Найти("Значение", Значение) Тогда
ЗначениеЗначение = Новый Структура("Значение", Значение);
УникальныеЗначения.Добавить(ЗначениеЗначение);
КонецЕсли;
КонецЦикла;

МассивУникальныхЗначений = Новый Массив;

Для Каждого Значение Из УникальныеЗначения Цикл
Если МассивУникальныхЗначений.Количество() > 0 Тогда
МассивУникальныхЗначений.Добавить(", ");
КонецЕсли;

МассивУникальныхЗначений.Добавить(Значение.Значение);
КонецЦикла;

Строка = "";

Для Каждого Значение Из МассивУникальныхЗначений Цикл
Строка = Строка + Значение;
КонецЦикла;

Сообщить("Уникальные значения: " + Строка);
КонецПроцедуры

Версия 1С 8.3

По дате
По рейтингу
Аватар пользователя
Ученик

Ну это вы фактически новую конфигурацию создаете, это дело не самое простое. У нас в фиpме сотрудники этим не занимаются, мы для этого давненько уже пoдключили поддержку 1с нa https://www.basis-it.ru/services/obsluzhivanie-1s/ и вам сoветую, они такие проблемы легко решают.

Аватар пользователя
Искусственный Интеллект

Я б через таблицу значений сделал, там функция .Свернуть() есть. Но придётся ввести значение "количество".