Как удалить дубли в списке значений Если Вам необходимо почистить список значений от повторяющихся записей, используйте следующий код:
Код 1C v 8.х структошибок = Новый СписокЗначений;
//....
// заполнение списка значений
//....
//список значений в массив
Массив=структошибок.ВыгрузитьЗначения();
//Удаляем дубли из массива
ТекущийИндекс = 0;
ВсегоЭлементов = Массив.Количество();
Пока ТекущийИндекс < ВсегоЭлементов Цикл
Индекс2 = ТекущийИндекс + 1;
Пока Индекс2 < ВсегоЭлементов Цикл
Если Массив[Индекс2] = Массив[ТекущийИндекс] Тогда
Массив.Удалить(Индекс2);
ВсегоЭлементов = ВсегоЭлементов - 1;
Иначе
Индекс2 = Индекс2 + 1;
КонецЕсли;
КонецЦикла;
ТекущийИндекс = ТекущийИндекс + 1;
КонецЦикла;
//Выведем результат
Для Каждого спстр из Массив цикл
Сообщить(спстр);
КонецЦикла;
Категория:
Работа с Списком Значений Массив ~ Как Сортировать Массив? Код 1C v 8.х // отсортировать элементы в массиве
СписокЗначений = Новый СписокЗначений;
СписокЗначений.ЗагрузитьЗначения(Массив);
СписокЗначений.СортироватьПоЗначению();
Массив = СписокЗначений.ВыгрузитьЗначения();
В некоторых случаях больше подойдет сортировка не по значению, а по представлению.
Категория:
Работа с Массивом, Структурой, Соответств… Как в форме выбора сделать отбор по назначению свойства? Как в стандартной форме выбора свойства номенклатуры сделать отбор по его назначению. В форме выбора добавлено поле "ГруппаНоменклатуры". При выборе группы номенклатуры нужно в табличном поле "ПланВидовХарактеристикСписок" отобразить только свойства у которых в назначении указана эта группа номенклатуры.
Решение:
Код 1C v 8.х //Пример от ljuter
Процедура УстановкаОтбораГруппСвойствОбъектов()
// Удаляем параметры отбора
ПланВидовХарактеристикСписок.Отбор.Сбросить();
// Делаем выборку свойств из регистра сведений НазначенияСвойствОбъектов по группе
// номенклатуры из элемента формы ГруппаНоменклатуры. В результате получаем список
// наименований свойств (нам нужны именно поле Наименование свойства, а не ссылка
// на само свойство!
Список = Новый СписокЗначений();
РегСв = РегистрыСведений.НазначенияСвойствОбъектов;
ОтборСв = Новый Структура("Объект");
ОтборСв["Объект"] = ГруппаНоменклатуры;
ВыборкаСв = РегСв.Выбрать(ОтборСв);
Пока ВыборкаСв.Следующий() Цикл
Если ВыборкаСв.Свойство.ТипХарактеристики = "G" Тогда
Список.Добавить(ВыборкаСв.Свойство.Наименование, ВыборкаСв.Свойство.Наименование, Ложь);
КонецЕсли;
КонецЦикла;
// Устанавливаем вид сравнения для отбора типа "В списке" и выгружаем значения
// из списка выборки в список отбора.
ПланВидовХарактеристикСписок.Отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;
ПланВидовХарактеристикСписок.Отбор.Наименование.Значение.ЗагрузитьЗначения(Список.ВыгрузитьЗначения());
ПланВидовХарактеристикСписок.Отбор.Наименование.Установить();
КонецПроцедуры
Обсуждалось
в вопросах - Здесь! Категория:
Планы видов характеристик