Документ УТ 10.3

1. _7445_ 28.03.19 16:11 Сейчас в теме
Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. В УТ 10.3. Каждого контрагента есть свой собственный код (длина кода 9) например 000000346. Пользователю надо что он написал 346 и программ знал что это тот контрагент который с кодам 000000346. Пользователь не вводил нули. Как решить эту задачи?
Можете дать подсказки?
Спасибо всем за ранее.
По теме из базы знаний
Найденные решения
6. SedovSU@mail.ru 297 29.03.19 06:50 Сейчас в теме
(5) Вот смотрите первый вариант

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


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

Не получился
4. alxarz 31 28.03.19 16:22 Сейчас в теме
(2) нужно не выводить код, а вводить

(1)уберите обработкой лидирующие нули например, или тип кода в числовой переделайте...
5. _7445_ 28.03.19 16:25 Сейчас в теме
6. SedovSU@mail.ru 297 29.03.19 06:50 Сейчас в теме
(5) Вот смотрите первый вариант

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


Второй вариант
1. В справочник контрагентов добавляете новый реквизит называете его БыстрыйВвод - тип строка 9 символов - аналог ваше поля код
2. У это реквизита ставите свойство Индексировать - Индексировать с доп. упорядочиванием
3. Открываете в конфигураторе свойства справочника Контрагентов и переходите на вкладку "Поле ввода", далее ищите группу Ввод по строке, у вас в этом поле Ввод по строке указано - Наименование, Код. Нажмите на кнопку с ... и добавьте ваш новый реквизит БыстрыйВвод. Заполните его у контрагента с кодом 000000346 значением равным 346. Теперь при указании в поле контрагент в документах 346 у вас сам подставить ваш контрагент с кодом 000000346. Но тут тогда нужно всегда будет заботиться о том чтобы поле БыстрыйВвод был заполнен
7. _7445_ 29.03.19 10:14 Сейчас в теме
(6)
Спасибо за ответ.
Можете объяснит для чего надо индекс и доп. упорядочивание. Где надо использовать обязательно?
8. SedovSU@mail.ru 297 29.03.19 10:45 Сейчас в теме
(7) Если вы реквизиту устанавливаете индексирование с доп упорядочиванием то например на форме списка по данному реквизиту вы можете сортировать. По аналоги с кодом или с номером документом. То есть нажмите на колонку и она будет упорядочена/отсортирована. Так она становиться доступа в вводе по строке. Ну вот к вашей задачи она применина, а так на практике редко встречается,

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

При описании в метаданных реквизитов различных объектов существует возможность установить свойство Индексировать. Это свойство позволяет разработчику конфигурации указать системе необходимость построения в базе данных отдельного индекса по соответствующему реквизиту.

Кроме варианта "Индексировать" в данном свойстве для большинства объектов можно установить вариант "Индексировать с доп. упорядочиванием". Данный вариант предназначен, прежде всего, для использования в динамических списках.

В варианте "Индексировать" строится индекс непосредственно по реквизиту. Индекс также дополняется ссылкой, чтобы обеспечить определенный порядок записей в индексе при повторяющихся значениях реквизита.

В варианте "Индексировать с доп. упорядочиванием" индекс строится по реквизиту, а также по некоторому полю, которое обычно используется для упорядочивания объектов этого типа. Для справочника индекс в зависимости от основного представления дополняется кодом или наименованием. А для документа, индекс дополняется датой. Этот индекс также дополняется ссылкой.

В варианте "Индексировать" в динамическом списке может быть обеспечен эффективный просмотр больших объемов информации с упорядочиванием по данному реквизиту, так как для этого будет использоваться созданный индекс.

В варианте "Индексировать с доп. упорядочиванием" в динамическом списке может быть обеспечен эффективный просмотр больших объемов информации с отбором по значению данного реквизита и с упорядочиванием, соответствующим основному упорядочиванию для данного объекта. В этом случае наличие индекса включающего реквизит, по которому выполняется отбор, и поля основного упорядочивания позволит системе использовать индекс при просмотре списка.

Разумеется, индексы так же влияют и на другие способы выборки информации (получение данных с помощью методов менеджеров объектов или запросов).

Таким образом при определении варианта свойства Индексировать следует исходить из того, какие варианты выборки информации необходимо оптимизировать в первую очередь. Например, если требуется просмотр списка с отбором по реквизиту, то имеем смысл использовать вариант "Индексировать с доп. упорядочиванием". А если индекс нужен, например, только для поиска с помощью запроса объектов по данному реквизиту без упорядочивания, то лучше использовать вариант "Индексировать", чтобы создаваемые индекс требовал меньше ресурсов системы.
Показать


взято с сайта https://its.1c.ru/db/metod8dev/content/2742/hdoc
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот