v8: Как спозиционировать список значений на определенное значение перед выбором? #134824


#0 by Андрюха1
Итак, как спозиционировать список значений на определенное значение перед выбором? Т.е. при открытии элемента справочника заполняю для реквизита Год список выбора:По хорошему, после того как пользователь нажмет на кнопку списка выбора реквизита Год, надо бы спозиционировать список годов на текущий. Но как?
#1 by Macleod
#2 by Андрюха1
Не канает. НайтиПоЗначению возвращает найденый элемент списка значений, а не позиционирует на нем :(
#3 by Macleod
Блин, чёта полистал ЖКК. Там не нашел ТекущаяСтрока как в 7.7.Щас еще покопаюсь. Где-то очень просто должно быть.
#4 by Fynjy
Использование:Чтение и запись.Описание:Тип: ЭлементСпискаЗначений. Содержит текущую строку поля списка.См. также:ЭлементСпискаЗначений
#5 by Winter
Ответ тут:http://itland.ru/forum/index.php?showtopic=835&hl=Список+значений
#6 by Андрюха1
Разговор идет не о ListBox, а о ChoiceBox, т.е. СписокВыбора. Данный пример позволяет установить значение для поля ввода, но не позиционирует список (т.е. список один фиг начинается с 1980 года)
#7 by A
А чем "ВыбратьЭлемент(<Заголовок>, <Элемент>)" не устраивает?
#8 by Андрюха1
Извиняюсь, вопрос задан не корректно, в связи с тем, что я сам в процессе поиска понял что это не СписокЗначений, а СписокВыбора. Сорри.
#9 by Андрюха1
Метод "ВыбратьЭлемент" показывает диалоговое окно выбора на экране, а выбор из СпискаВыбора - цивильной менюшкой под полем ввода.
#10 by A
Если не секрет, а для чего всё это?.... Это реквизит формы или объекта?....
#11 by Андрюха1
Конечно не серет. У справочника "АвтотранспортныеСредства" присутствует реквизит "ГодВыпуска", который представляет из себя на форме поле ввода с кнопочкой списка выбора, при нажатии на которую, должен выпадать список годов СПОЗИЦИОНИРОВАННЫЙ на текущем 2005 году.
#12 by Андрюха1
Тут еще важно отметить, что пользователь после (или до) выбора года должен иметь возможность подкорректировать цифру ручками - по этому этот реквизит - поле ввода.
#13 by Filin
А почему бы это поле сразу не заполнять нужным значением (и пользователь будет выбирать уже только если нужно другое значение)?ЭлементыФормы.ГодВыпуска.Значение=ЭлементыФормы.ГодВыпуска.СписокВыбора.НайтиПоЗначению("2005").Значение;
#14 by Андрюха1
Конечно можно, так я сейчас и делаю, но было бы ГОРАЗДО УДОБНЕЕ, если бы список при открытии был бы уже спозиционирован на текущем значении, а то приходится "крутить" его аж 1980 года. Во-первых неудобно, а во-вторых должно же быть решение. Как вариант можно открывать диалог через "ВыбратьЭлемент" - там и позиционируется без проблем, но ИМХО удобнее было бы поционировать <b>СписокВыбора</b>.
#15 by A
А если просто число?........
#16 by Андрюха1
Да можно и число, конечно, только тётки ошибок набьют - факт. Справочник большой. Или просто "98" вместо "1998", или еще чего... Конечно можно обработку вставить для проверки набранного числа, но это уже не гуд. Еще один нюанс - если год не известен, то значение поля должно быть "не известно", т.е. тут уже кроме цифр еще и буквы допускаются, а значит оператор может по ошибке еще чего-нить напечатать. Но мы уже обсуждаем как обойти проблему, а не решить ее. Я то может и обойдусь, а если еще кому-нибудь понадобится решить подобную проблему? В поиске напечатает человек вопрос, а ему - раз и готовое решение. Удобно!
#17 by Андрюха1
Господа! Решение найдено. Итак, кому интересно слушайте: 1. Объявляем в модуле переменную СписокГодВыпуска.2. В методе формы ПриОткрытии инициализируем переменную и забиваем значениями годов:  КонецЦикла;3. Пишем процедуру для обработки события "Начало выбора из списка" поля ввода "ГодВыпуска":КонецПроцедурыВсем откликнувшимся большое спасибо!
#18 by mricoscom
Ну мне кажется здесь все просто, или я просто не понял вопроса:
#19 by Андрюха1
Ну не знаю даже... Если ты думаешь что так будет правильно... А может ты действительно не понял вопроса? :0)
#20 by Filin
Хорошо, конечно, что решение найдено (хотя ВыбратьИзСписка немного не по теме озвученного в и ниже).:-))
#21 by mricoscom
А ты попробуй. :-)Перечитал вопрос. Кажется именно то, что нужно
#22 by Андрюха1
Пробую
#23 by Андрюха2
Да не. Это не то. Видишь, получается что в реквизите (у нас - поле ввода) будет написано "Теплоход", но это список выбора на "Теплоход" не спозиционирует (хотя в твоём случае - да, т.к. у тебя "Теплоход" стоит первым). Попробуй загнать в СписокВыбора года с 1980 по 2030 и увидишь, что что бы мы не присваивали полю ввода, а выпадающий список будет один фиг начинаться с "1980" (т.е. с первого значения). А вот в решении с участием "ВыбратьИзСписка" (хоть это немного и не отвечает вопросу) результат такой, какой надо, т.е.:1. Выпадающий список начинается с текущего значения.2. Текущее значение можно подредактировать "ручками". В любом случае, извини за сарказм. Я не хотел никого обидеть, просто подумал, что ты в другую тему хотел написать, просто окна перепутал.
#24 by Андрюха2
А может быть я не так тебя понял? Ты напиши кусок кода.
#25 by Sheridan
:)
#26 by Filin
Пункт 3 поста 17 читаем внимательно!и делаем вывод: читать надо внимательно!!!:-)))
#27 by Андрюха1
Но все-равно огромное спасибо. Чувствую, что без поддержки, в случае чего, не останусь! Спасибо вам, люди!
#28 by Sheridan
Я посмотрел начало, дальше не стал смотреть и привел пример :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С