|   |   | 
| 
 | Выбор записи справочника на форме | ☑ | ||
|---|---|---|---|---|
| 0
    
        trialex3 28.06.21✎ 13:15 | 
        Добрый день. Есть на форме поле справочника. В этом поле соответственно указывают запись справочника. Есть заипсь за наименованием "1" и запись за наименованием "10". Как сделать так, что бы если человек набрал "1" то поле сразу заполнилось нужной записью а не предложило на выбор 2 записи - "1" и "10".     | |||
| 1
    
        acht 28.06.21✎ 14:03 | 
        Гм. А как человек тогда вообще введет "10"?
 А так - см. обработчик АвтоПодбор и формируй список значений из одного элемента | |||
| 2
    
        acanta 28.06.21✎ 14:10 | 
        можно поставить условие на минимальное количество символов, тогда в справочнике придется делать наименование фиксированной длины (01,10,11 или " 1"). Если наименование это точно число(например, артикул), форматировать туда и обратно грустно..     | |||
| 3
    
        trialex3 29.06.21✎ 08:59 | 
        (1) Число водится сканированием штрихкода. После сканирования сканер сам вставляет энтер.     | |||
| 4
    
        Мимохожий Однако 29.06.21✎ 09:03 | 
        (3) Так человек набрал или сканер?     | |||
| 5
    
        butterbean 29.06.21✎ 09:04 | 
        (0) в модуле менеджера справочника ОбработкаПолученияДанныхВыбора     | |||
| 6
    
        Мимохожий Однако 29.06.21✎ 09:04 | 
        Странный штрихкод     | |||
| 7
    
        acht 29.06.21✎ 09:29 | 
        (0) > Как сделать так, что бы если человек набрал
 (3) > Число водится сканированием штрихкода Яркая такая демонстрация, почему новичков не любят и не хотят отвечать на их вопросы. | |||
| 8
    
        ДенисЧ 29.06.21✎ 09:33 | 
        (7) А что, ШК не человек сканирует?     | |||
| 9
    
        acht 29.06.21✎ 09:35 | 
        (8) после слова "человек" идет слово "набрал"     | |||
| 10
    
        ДенисЧ 29.06.21✎ 09:36 | 
        (9) А на заборе "дрова" написано...     | |||
| 11
    
        acht 29.06.21✎ 09:37 | 
        (10) Заглядывал?     | |||
| 12
    
        ДенисЧ 29.06.21✎ 09:43 | 
        (11) Ага. Там борщевик и ржавая копейка...     | |||
| 13
    
        trialex3 29.06.21✎ 09:47 | 
        (5) Благодарю. Буду пробовать.     | |||
| 14
    
        trialex3 29.06.21✎ 13:40 | 
        (5) Странно как то работает у меня. написал вот так - 
 Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) // Если это рекурсивный вызов – ничего не делать. Если НЕ Параметры.Свойство("Рекурсия") Тогда СтандартнаяОбработка = Ложь; // Получить стандартный список выбора. Параметры.Вставить("Рекурсия"); СтандартнаяОбработка = Ложь; СтандартныйСписок = ПолучитьДанныеВыбора(Параметры); СтандартныйСписок.Очистить(); ДополнительныйЭлемент = Справочники.АГ_НомераИсполнителей.НайтиПоНаименованию(Параметры.СтрокаПоиска); СтандартныйСписок.Добавить(ДополнительныйЭлемент); ДанныеВыбора = СтандартныйСписок; КонецЕсли; КонецПроцедуры Но если сканером ввожу "9" то получаю в поле уже "999" хотя в Данных выбора передается одна ссылка "9" | |||
| 15
    
        trialex3 29.06.21✎ 14:01 | 
        При этом "1" и "10" вводятся корректно, а "9" и "999" нет     | |||
| 16
    
        trialex3 29.06.21✎ 14:36 | 
        Все номера вводятся нормально, кроме 9 и 999
 Мистика | |||
| 17
    
        RomaH naïve 29.06.21✎ 15:30 | 
        (14) странный способ объявить список значений
 чем простой Новый СписокЗначений не устроил? | |||
| 18
    
        RomaH naïve 29.06.21✎ 15:30 | 
        СтандартныйСписок = ПолучитьДанныеВыбора(Параметры);
 СтандартныйСписок.Очистить(); вот это что? | |||
| 19
    
        RomaH naïve 29.06.21✎ 15:34 | 
        НайтиПоНаименованию - там дальше второй и третий параметры есть?     | |||
| 20
    
        trialex3 29.06.21✎ 15:43 | 
        (17) Переделал - не помогает
 Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) // Если это рекурсивный вызов – ничего не делать. Если НЕ Параметры.Свойство("Рекурсия") Тогда СтандартнаяОбработка = Ложь; // Получить стандартный список выбора. Параметры.Вставить("Рекурсия"); СтандартнаяОбработка = Ложь; СтандартныйСписок = Новый СписокЗначений; //СтандартныйСписок.Очистить(); ДополнительныйЭлемент = Справочники.АГ_НомераИсполнителей.НайтиПоНаименованию(Параметры.СтрокаПоиска); СтандартныйСписок.Добавить(ДополнительныйЭлемент); ДанныеВыбора = СтандартныйСписок; КонецЕсли; КонецПроцедуры | |||
| 21
    
        trialex3 29.06.21✎ 15:44 | 
        (19) Так найти по наименованию все нормально находит - запись "9"     | |||
| 22
    
        ДедМорроз 29.06.21✎ 21:52 | 
        Так событие окончание ввода текста же.
 И таи ищем по тому,что ввели,причем,сработает,если нажали enter. | |||
| 23
    
        trialex3 30.06.21✎ 09:52 | 
        (22) Пробовал уже так - не работает. Всеравно предлагает список:
 &НаКлиенте Процедура СборщикОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка) Сборщик = Справочники.АГ_НомераИсполнителей.НайтиПоНаименованию(Текст); ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.ОК; КонецПроцедуры | |||
| 24
    
        trialex3 30.06.21✎ 09:57 | 
        А вот так тоже не работает с "9"-
 &НаКлиенте Процедура СборщикОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; НайденныйСборщик = Справочники.АГ_НомераИсполнителей.НайтиПоНаименованию(Текст); СЗ = Новый СписокЗначений; СЗ.Добавить(НайденныйСборщик); ДанныеВыбора = СЗ; ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.ОК; КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |