1с УПП 1.3. РАУЗ. Присвоили сквозную нумерацию двум документам "Реализация товаров и услуг" и "Реализация услуг в переработку". Был сначала использован метод сортировки номера Результат.Сортировать("Номер УБЫВ"). До 10 номера все хорошо,а потом зациклился,т.к. при сортировке получается: 9,8,7,6,5,4,3,2,10,1. и 10 номер не видит соответственно. Хотела использовать метод СортироватьПоЗначению(), но ругается что такого нет. Хотя у меня процедура написана почти так же как Функция ПолучитьНовыйНомерПоДокументам(СписокДокументов, Префикс, Дата) и там этот метод сработал.
Вот что при сортировке получается на выходе(фото прилагается).
Как исправить,чтобы сработало?И почему он по цифре то сортирует?
---
да, фигню написал.

```1c
    Выбор
    Когда (Код ПОДОБНО "%.[0-9]"
    или ПОДСТРОКА(Код, 8, 2) = ПОДСТРОКА(Код, 8, 1))
    ТОГДА ПОДСТРОКА(Код, 1, 7) + "0" + ПОДСТРОКА(Код, 8, 1)
    Иначе Код
    Конец
```
---
Нумеруйте правильно: 01, 02, 03....
---
у нас нумерация без ведущих нулей
---
в запросе добавляйте лидирующий ноль и будет вам Щастье

```1c
    Выбор
    Когда (Код ПОДОБНО "%.[0-9]"
    или ПОДСТРОКА(Код, 8, 2) = ПОДСТРОКА(Код, 8, 1))
    ТОГДА "0" + Код
    Иначе Код
    Конец
```
---
Получается некрасиво. Он добавляет "0" перед Номером, а Номер у меня начинается с Ап. и выходит 0Ап, а разделение номера происходит после запроса.
Посмотрела вроде нет функции, которая могла бы добавить 0 на конкретную позицию.
---
да, фигню написал.

```1c
    Выбор
    Когда (Код ПОДОБНО "%.[0-9]"
    или ПОДСТРОКА(Код, 8, 2) = ПОДСТРОКА(Код, 8, 1))
    ТОГДА ПОДСТРОКА(Код, 1, 7) + "0" + ПОДСТРОКА(Код, 8, 1)
    Иначе Код
    Конец
```
---
а вот, получилось. Я в том же направлении думала, правда пыталась через Лев и Прав и у меня поругалось на "+".

Спасибо большое! Как обычно, perfecto)))
---
если версия платформы позволяет, то вот пример более универсальной формулы:

```1c
    СТРЗАМЕНИТЬ(Код, ".", ПОДСТРОКА(".0000", 1, 5 - (ДЛИНАСТРОКИ(Код) - СТРНАЙТИ(Код, "."))))
```

Количество нулей можно регулировать.
---
сортировка строк идет посимвольно. у "10" первый символ "1" и он будет сортироваться по убыванию ниже, чем "2". Соответственно вся строка будет ниже.
---
я то это понимаю)))Как сделать что бы сработало как мне надо
---
так уже ответили в (3), как надо.
Тогда будет сравниваться "10" не с "2" и тд, а с "02", т.е. "1" с "0". По другому никак.
Как будете делать, нумерацию править, или добавлять в коде - это уже частности.
Но для сортировки строк только так.
---
это не цифра, это строка.
---
если зайдете в свойства документов. То у них у всех нумерация с типом Строка.Тоже в этом направлении думала
---
запрос надо хорошенько переделать с добавлением например доп.поля порядок и упорядочить по моменту времени.
а длина номера у вас сколько , сейчас по скрину предполагаю что 99 , а дальше выйдет ошибка .

или переписать процедуру установки номера документа.
---
длина номера 11,как и изначально у поставщика
---
если вы имеете в виду что после "." сколько длина, то 2
---
метод СортироватьПоЗначению() доступен только для типа "СписокЗначений", у "ТаблицыЗначений" такого метода нет. Как уже писали выше нужно нумерацию поправить
---
И почему мне опять вспомнилась старая шутка о морских свинках? ;-)