Задание - При нажатии на кнопку числа сортируются в порядке возрастания.
Проблема в том что Он сортирует слова не числа. Что делать?

```1c
    Процедура Сортировать(Команда)
    Массив = СтрРазделить(Числа,",");
    Список = Новый СписокЗначений;
    Список.ЗагрузитьЗначения(Массив);
    Список.СортироватьПоЗначению(НаправлениеСортировки.Возр);
    Сообщить(Список);
    КонецПроцедуры
```
---
Можно и на клиенте сортировать:

```1c
    &НаКлиенте
    Процедура Сортировать(Команда)
    Массив = СтрРазделить(Числа,",");
    СЗ = Новый СписокЗначений;
    Для Каждого ЭлементМассива Из Массив Цикл
    СЗ.Добавить(Число(ЭлементМассива ));
    КонецЦикла;
    СЗ.Сортировать();
    КонецПроцедуры
```
---
```1c
    &НаКлиенте
    Процедура Сортировать(Команда)
    Массив = СтрРазделить(Числа,",", Ложь);
    Список = Новый СписокЗначений;
    Для Каждого ЭлементМассива Из Массив Цикл
    ЗначениеЧислом = СтрокаВЧисло(ЭлементМассива);
    Список.Добавить(ЗначениеЧислом);
    КонецЦикла;
    Список.СортироватьПоЗначению();
    Сообщить(Список);
    КонецПроцедуры

    // Функция из БСП. Не вызывает исключений, судя по описанию
    &НаКлиенте
    Функция СтрокаВЧисло(Знач Значение) Экспорт

    Значение = СтрЗаменить(Значение, " ", ");
    Если СтрНачинаетсяС(Значение, "(") Тогда
    Значение = СтрЗаменить(Значение, "(", "-");
    Значение = СтрЗаменить(Значение, ")", ");
    КонецЕсли;

    СтрокаБезНулей = СтрЗаменить(Значение, "0", ");
    Если ПустаяСтрока(СтрокаБезНулей) Или СтрокаБезНулей = "-" Тогда
    Возврат 0;
    КонецЕсли;

    ТипЧисло = Новый ОписаниеТипов("Число");
    Результат = ТипЧисло.ПривестиЗначение(Значение);

    Возврат ?(Результат <> 0 И Не ПустаяСтрока(СтрокаБезНулей), Результат, Неопределено);

    КонецФункции
```
---
```1c
    Массив = СтрРазделить(Числа,",");

    Таб = Новый ТаблицаЗначений;
    Таб.Колонки.Добавить("Числа");

    Таб.ЗагрузитьКолонку(Массив , "Числа");
    Таб.Сортировать("Числа");

    Массив = Таб.ВыгрузитьКолонку("Числа");
```
---
Не работает :
Тип не определен (ТаблицаЗначений)
Таблица = Новый <<?>>ТаблицаЗначений; (Проверка: Тонкий клиент)
Пытался поискать почему, пишут нельзя создавать тз на тонком клиенте. У меня учебная версия
---
```1c
    &НаКлиенте
    Процедура Сортировать(Команда)
    Массив = СтрРазделить(Числа,",");
    Сортировать(Массив);
    КонецПроцедуры

    &НаСервере
    Процедура Сортировать(Массив)
    Таб = Новый ТаблицаЗначений;
    Таб.Колонки.Добавить("Числа");
    Для Инд = 0 По Массив.Вграница() Цикл
    Таб.Добавить();
    КонецЦикла;
    Таб.ЗагрузитьКолонку(Массив , "Числа");
    Таб.Сортировать("Числа");
    Массив = Таб.ВыгрузитьКолонку("Числа");
    КонецПроцедуры
```
---
чтобы это все работало, нужно делать

```1c
    Таб.Колонки.Добавить("Числа", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10,0)));
```

или какая там разрядность числового значения требуется.....
---
можно и в общем

```1c
    Таб.Колонки.Добавить("Числа", Новый ОписаниеТипов("Число"))
```

Хотя он и произвольный тип, по идее, сможет отсортировать
---
Так после

```1c
    Массив = СтрРазделить(Числа,",");
```

В массиве будут строки, если их добавить в ТЗ, строками они быть не перестанут, сортироваться будут так же - "по-строковому"
---
Ошибка
---
Решение
---
Можно и на клиенте сортировать:

```1c
    &НаКлиенте
    Процедура Сортировать(Команда)
    Массив = СтрРазделить(Числа,",");
    СЗ = Новый СписокЗначений;
    Для Каждого ЭлементМассива Из Массив Цикл
    СЗ.Добавить(Число(ЭлементМассива ));
    КонецЦикла;
    СЗ.Сортировать();
    КонецПроцедуры
```
---
Работает