Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. В УТ 10.3. Каждого контрагента есть свой собственный код (длина кода 9) например 000000346. Пользователю надо что он написал 346 и программ знал что это тот контрагент который с кодам 000000346. Пользователь не вводил нули. Как решить эту задачи?
Можете дать подсказки?
Спасибо всем за ранее.
---
Вот смотрите первый вариант

```1c
    КодКонтрагента = "346" //это то что пользователь ввел
    Пока СтрДлина(КодКонтрагента) <> 9 Цикл // длина кода 9
    КодКонтрагента = "0" + КодКонтрагента
    Конеццикла
    Контрагент = Справочник.Контрагенты.НайтиПоКоду(КодКонтргаента);
```

Второй вариант
1. В справочник контрагентов добавляете новый реквизит называете его БыстрыйВвод - тип строка 9 символов - аналог ваше поля код
2. У это реквизита ставите свойство Индексировать - Индексировать с доп. упорядочиванием
3. Открываете в конфигураторе свойства справочника Контрагентов и переходите на вкладку "Поле ввода", далее ищите группу Ввод по строке, у вас в этом поле Ввод по строке указано - Наименование, Код. Нажмите на кнопку с ... и добавьте ваш новый реквизит БыстрыйВвод. Заполните его у контрагента с кодом 000000346 значением равным 346. Теперь при указании в поле контрагент в документах 346 у вас сам подставить ваш контрагент с кодом 000000346. Но тут тогда нужно всегда будет заботиться о том чтобы поле БыстрыйВвод был заполнен
---
Используйте функцию формат что бы вывести лидирующие нули
КодКонтрагента = Формат("346","ЧЦ=9; ЧВН=; ЧГ=");
 Справочники.Контрагенты.НайтиПоКоду(КодКонтрагента );
---
КодКонтрагента = Формат("346","ЧЦ=9; ЧВН=; ЧГ=");
Справочники.Контрагенты.НайтиПоКоду(КодКонтрагента );
Не получился
---
нужно не выводить код, а вводить

(1)уберите обработкой лидирующие нули например, или тип кода в числовой переделайте...
---
Число делать не надо
---
Вот смотрите первый вариант

```1c
    КодКонтрагента = "346" //это то что пользователь ввел
    Пока СтрДлина(КодКонтрагента) <> 9 Цикл // длина кода 9
    КодКонтрагента = "0" + КодКонтрагента
    Конеццикла
    Контрагент = Справочник.Контрагенты.НайтиПоКоду(КодКонтргаента);
```

Второй вариант
1. В справочник контрагентов добавляете новый реквизит называете его БыстрыйВвод - тип строка 9 символов - аналог ваше поля код
2. У это реквизита ставите свойство Индексировать - Индексировать с доп. упорядочиванием
3. Открываете в конфигураторе свойства справочника Контрагентов и переходите на вкладку "Поле ввода", далее ищите группу Ввод по строке, у вас в этом поле Ввод по строке указано - Наименование, Код. Нажмите на кнопку с ... и добавьте ваш новый реквизит БыстрыйВвод. Заполните его у контрагента с кодом 000000346 значением равным 346. Теперь при указании в поле контрагент в документах 346 у вас сам подставить ваш контрагент с кодом 000000346. Но тут тогда нужно всегда будет заботиться о том чтобы поле БыстрыйВвод был заполнен
---
Спасибо за ответ.
Можете объяснит для чего надо индекс и доп. упорядочивание. Где надо использовать обязательно?
---
Если вы реквизиту устанавливаете индексирование с доп упорядочиванием то например на форме списка по данному реквизиту вы можете сортировать. По аналоги с кодом или с номером документом. То есть нажмите на колонку и она будет упорядочена/отсортирована. Так она становиться доступа в вводе по строке. Ну вот к вашей задачи она применина, а так на практике редко встречается,

Ниже описание с 1С ИТС

взято с сайта https://its.1c.ru/db/metod8dev/content/2742/hdoc