Задание - При нажатии на кнопку числа сортируются в порядке возрастания.
Проблема в том что Он сортирует слова не числа. Что делать?
Проблема в том что Он сортирует слова не числа. Что делать?
Процедура Сортировать(Команда)
Массив = СтрРазделить(Числа,",");
Список = Новый СписокЗначений;
Список.ЗагрузитьЗначения(Массив);
Список.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Сообщить(Список);
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Описание формата внутреннего представления данных 1С в контексте обмена данными
- Строковые отборы в 1С
- Регулярная интеграция 1С+RabbitMQ
- Динамическая оптимизация маршрутов в 1С для поиска кратчайшего пути. Введение в Алгоритм D*-Lite
- Быстрая организация HTTP-сервиса, или О том, как я создал свой модуль с универсальными процедурами HTTP-сервиса, который позволил быстро организовывать и расширять API
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
&НаКлиенте
Процедура Сортировать(Команда)
Массив = СтрРазделить(Числа,",", Ложь);
Список = Новый СписокЗначений;
Для Каждого ЭлементМассива Из Массив Цикл
ЗначениеЧислом = СтрокаВЧисло(ЭлементМассива);
Список.Добавить(ЗначениеЧислом);
КонецЦикла;
Список.СортироватьПоЗначению();
Сообщить(Список);
КонецПроцедуры
// Функция из БСП. Не вызывает исключений, судя по описанию
&НаКлиенте
Функция СтрокаВЧисло(Знач Значение) Экспорт
Значение = СтрЗаменить(Значение, " ", "");
Если СтрНачинаетсяС(Значение, "(") Тогда
Значение = СтрЗаменить(Значение, "(", "-");
Значение = СтрЗаменить(Значение, ")", "");
КонецЕсли;
СтрокаБезНулей = СтрЗаменить(Значение, "0", "");
Если ПустаяСтрока(СтрокаБезНулей) Или СтрокаБезНулей = "-" Тогда
Возврат 0;
КонецЕсли;
ТипЧисло = Новый ОписаниеТипов("Число");
Результат = ТипЧисло.ПривестиЗначение(Значение);
Возврат ?(Результат <> 0 И Не ПустаяСтрока(СтрокаБезНулей), Результат, Неопределено);
КонецФункции Показать
Массив = СтрРазделить(Числа,",");
Таб = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Числа");
Таб.ЗагрузитьКолонку(Массив , "Числа");
Таб.Сортировать("Числа");
Массив = Таб.ВыгрузитьКолонку("Числа");
Показать
(3)
&НаКлиенте
Процедура Сортировать(Команда)
Массив = СтрРазделить(Числа,",");
Сортировать(Массив);
КонецПроцедуры
&НаСервере
Процедура Сортировать(Массив)
Таб = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Числа");
Для Инд = 0 По Массив.Вграница() Цикл
Таб.Добавить();
КонецЦикла;
Таб.ЗагрузитьКолонку(Массив , "Числа");
Таб.Сортировать("Числа");
Массив = Таб.ВыгрузитьКолонку("Числа");
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот