Люди добрые помогите новичку в программном коде 1С!

Задача.
Найти сумму всех цифр любого целочисленного массива.
Тоесть, создаем в выделенной обработке Форму, в форме создаем любой реквизит, условно Реквизит1, в который будет вводиться наш массив, создаем команду при обработке которой будет считаться сумма всех цифр заданного в реквизите массива и выводить сообщение с суммой. Например вводим массив 23 457 12 8 должно получиться 2+3+4+5+7+1+2+8=32.

Написал код:

```1c
    &НаКлиенте
    Процедура Команда1(Команда)

    //Реквизит1 = Новый Массив();
    МассивЧисел = СтрРазделить(Реквизит1," ", Ложь);
    СуммаЧисел = 0;

    Для каждого ЦифраМассва Из МассивЧисел Цикл
    СуммаЧисел = СуммаЧисел + Число(ЦифраМассва);
    КонецЦикла;
    Сообщить("Сумма: " + СуммаЧисел);

    КонецПроцедуры
```

Но получается не сумма всех цифр, а сумма чисел, если массив 23 457 12 8 то получается 23+457+12+8=500, а надо чтобы было 2+3+4+5+7+1+2+8=32.

Подскажите как доработать код?
---
Как-то так

```1c
    ДлинаСтр = СтрДлина(Реквизит1);
    СуммаЧисел = 0;
    Для N = 1 По ДлинаСтр Цикл
    Стр = Сред(Реквизит1,N,1);
    Если Найти("123456789",Стр) >0 Тогда
    СуммаЧисел = СуммаЧисел + Число(Стр);
    КонецЕсли;
    КонецЦикла;
```
---
Оптимизируем:

```1c
    ТипЧисло = Новый ОписаниеТипов("Число");
    Сумма = 0;
    Для Индекс = 1 По СтрДлина(Реквизит1) Цикл
    Сумма = Сумма + ТипЧисло.ПривестиЗначение(Сред(Реквизит1, Индекс, 1));
    КонецЦикла;
```
---
```1c
    Функция СуммаЦифрЧиселМассива(Массив)
    Сумма = 0;
    СтрокаЦифр = СтрЗаменить(СтрСоединить(Массив,"),Символ(160),");
    Для К=1 По СтрДлина(СтрокаЦифр) Цикл
    Сумма = Сумма + Число(Сред(СтрокаЦифр, К, 1));
    КонецЦикла;
    Возврат Сумма;
    КонецФункции
```
---
Сообщение было скрыто модератором.
---
Как-то так

```1c
    ДлинаСтр = СтрДлина(Реквизит1);
    СуммаЧисел = 0;
    Для N = 1 По ДлинаСтр Цикл
    Стр = Сред(Реквизит1,N,1);
    Если Найти("123456789",Стр) >0 Тогда
    СуммаЧисел = СуммаЧисел + Число(Стр);
    КонецЕсли;
    КонецЦикла;
```
---
Сообщение было скрыто модератором.
---
Там массив как строка цифр, разделенных чем-то
---
Сообщение было скрыто модератором.
---
Оптимизируем:

```1c
    ТипЧисло = Новый ОписаниеТипов("Число");
    Сумма = 0;
    Для Индекс = 1 По СтрДлина(Реквизит1) Цикл
    Сумма = Сумма + ТипЧисло.ПривестиЗначение(Сред(Реквизит1, Индекс, 1));
    КонецЦикла;
```
---
```1c
    Сумма = 0;
    Для Каждого Число Из Реквизит1 Цикл
    Пока Число <> 0 Цикл
    Сумма = Сумма + Число % 10;
    Число = Цел(Число / 10);
    КонецЦикла;
    КонецЦикла;
```
---
для отрицательных чисел не подойдет.
---
чиселтам в условии вообще "сумма цифр". Так что пофиг на отрицательные. Но вот "массива" в Реквизит1 уже не будет, это да.
---
для отрицательных чисел В задаче говорится о сумме цифр.

Цифры бывают отрицательными???
---
(11)
попробуйте взять остаток от деления у отрицательного числа. Оно будет отрицательным.
---
Попробуйте привести пример отрицательной цифры. ;-)
---
серьезно? В массиве Числа. Нужно посчитать сумма цифр этих Чисел.
---
Прошу прощения, не обратил внимания на адресата вашего сообщения (9) - показалось, что ваше замечание относится к коду в (3).

Полностью с вами согласен, работать со строкой (которую автор почему-то называет "массивом") как с числами - некорректно.

Вообще самый простой и легкий для понимания код - в (3), все остальное - от лукавого.

P.S. Он еще и кроссплатформенный - будет работать даже на 7.7! :-)
---
ясно что не подойдет %)) нужно добавить перед вложенным циклом
```1c
    Число = ?(Число < 0, -Число, Число);
```

(10) я хз что у автора в реквизит 1... он написал массив чисел))) а что это такое хз... судя по его коду, то там вообще строка

p.s. я написал один из алгоритмов подсчета суммы цифр
---
судя по его коду, то там вообще строка
в качестве предположения, это его попытка решить задачу.
---
Сообщение было скрыто модератором.
---
Чтобы перестать быть новичком, самым первым делом надо научиться не просить решения задачи. Когда человек, не умеющий водить автомобиль, спрашивает на форуме водителей автомобиля, как доехать из Москвы в Питер, то наверное он не очень умный и не очень обучаемый и скорее всего не доедет, но рассказать как доехать сможет.

Для получения N-ного символа строки используется функция Сред(Строка, N, 1).
---
Для получения N-ного символа строки используется функция Сред(Строка, N, 1).

Спасибо, теперь буду знать.
---
Всем спасибо за помощь и объяснения, извините что не отвечал, был занят. Как многие отмечали, Реквизит1 это строка, в которую пользователем вводится целочисленный массив.