База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заполнить массив числовыми значениями через ПолеВвода с разделителем? › RE: Как заполнить массив числовыми значениями через ПолеВвода с разделителем?
Для заполнения массива с клавиатуры через `ПолеВвода` с разделителем символов и фильтрацией только числовых значений, можно использовать следующий код на языке 1С:
1C
Процедура ЗаполнитьМассив()
// Создаем поле ввода
ПолеВвода = Новый ПолеВвода;
ПолеВвода.Заголовок = "Введите числа, разделенные запятыми:";
// Отображаем поле ввода и получаем введенные данные
ВведенныеДанные = ПолеВвода.Получить();
// Разделяем строку по запятой
МассивСтрок = СтрРазделить(ВведенныеДанные, ",");
// Создаем массив для хранения чисел
МассивЧисел = Новый Массив;
// Проходим по всем элементам массива строк
Для Каждого Строка Из МассивСтрок Цикл
// Убираем пробелы и проверяем, является ли строка числом
Число = СтрОчистить(Строка);
Если ЭтоЧисло(Число) Тогда
МассивЧисел.Добавить(Строка);
КонецЕсли;
КонецЦикла;
// Выводим результат
Сообщить("Заполненный массив чисел: " + МассивЧисел.ПолучитьСтроку(", "));
КонецПроцедуры
Функция ЭтоЧисло(Строка)
// Проверяем, является ли строка числом
Попытка
Число = СтрToNum(Строка);
Возврат Истина;
Исключение
Возврат Ложь;
КонецПопытки;
КонецФункции
В этом коде:
1. Создается поле ввода для ввода данных.
2. Введенные данные разделяются по запятой.
3. Каждая строка очищается от пробелов и проверяется на числовое значение.
4. Если строка является числом, она добавляется в массив чисел.
5. В конце выводится заполненный массив чисел.
Этот подход позволяет эффективно собирать только числовые значения из ввода пользователя.