Да, такая вот задача. Самый первый ответ — в 1С это невозможно, так как функционал работы со строками непосредственно в запросе беден, и строку в число преобразовать невозможно.
Эти неприятности можно обойти с помощью следующего алгоритма. С помощью функции ПОДСТРОКА определяем наличие символа, например, пятого, и если символ не находится, то предполагаем, что в текущей строке содержится четырехзначное число. Тогда эту строку прибавляем к символу «0» (ноль) и радуемся сортировке. В моем примере в строке Код77 содержались числа от 1000 до 99999, т.е. количество символов — либо 4, либо 5.
Сам запрос:
ВЫБРАТЬ
…
ВЫБОР
КОГДА ПОДСТРОКА(Код77, 5, 1) = «»
ТОГДА «0» + Код77
ИНАЧЕ Код77
КОНЕЦ КАК Код77Порядок
…
ИЗ
…
УПОРЯДОЧИТЬ ПО
Код77Порядок