База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как заполнить массив числовыми значениями через ПолеВвода с разделителем? › RE: Как заполнить массив числовыми значениями через ПолеВвода с разделителем?

Для заполнения массива с клавиатуры через ПолеВвода
с разделителем символов и фильтрацией только числовых значений, можно использовать следующий код на языке 1С:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1C Процедура ЗаполнитьМассив() // Создаем поле ввода ПолеВвода = Новый ПолеВвода; ПолеВвода.Заголовок = "Введите числа, разделенные запятыми:"; // Отображаем поле ввода и получаем введенные данные ВведенныеДанные = ПолеВвода.Получить(); // Разделяем строку по запятой МассивСтрок = СтрРазделить(ВведенныеДанные, ","); // Создаем массив для хранения чисел МассивЧисел = Новый Массив; // Проходим по всем элементам массива строк Для Каждого Строка Из МассивСтрок Цикл // Убираем пробелы и проверяем, является ли строка числом Число = СтрОчистить(Строка); Если ЭтоЧисло(Число) Тогда МассивЧисел.Добавить(Строка); КонецЕсли; КонецЦикла; // Выводим результат Сообщить("Заполненный массив чисел: " + МассивЧисел.ПолучитьСтроку(", ")); КонецПроцедуры Функция ЭтоЧисло(Строка) // Проверяем, является ли строка числом Попытка Число = СтрToNum(Строка); Возврат Истина; Исключение Возврат Ложь; КонецПопытки; КонецФункции |
В этом коде:
1. Создается поле ввода для ввода данных.
2. Введенные данные разделяются по запятой.
3. Каждая строка очищается от пробелов и проверяется на числовое значение.
4. Если строка является числом, она добавляется в массив чисел.
5. В конце выводится заполненный массив чисел.
Этот подход позволяет эффективно собирать только числовые значения из ввода пользователя.