УФ Позиционирование при открытии формы выбора справочника с отбором #669730


#0 by rikodroo
Привет! Есть 1с82 (8.2.16.368) Розница на УФ. На форме документа есть реквизит контрагент. Хочу, чтобы при выборе контрагента из формы этого документа нельзя было выбрать контрагента по списку условий. Написал такой код: Отбор на форме выбора устанавливается нормально, но если в текущем документе контрагент который и по условиям отбора должен быть виден, то не происходит позиционирование на этом контрагенте. Подскажите, если кто знает как позиционироваться правильно на текущем контрагенте? ПС. Еще заметил, что по умолчанию (если никаких настроек отборов не приделывать), при выборе контрагентов опять же из формы документа - позиционирование происходит только по элементам справочника, которые находятся в какой-либо группе, т.е. если в корне - то не позиционируется. Это так задумано?
#1 by olegves
про получитьФорму в УФ забудь. Смотри в сторону ОткрытьФорму для позиционирования используй параметр Ключ, кот. передается в ОткрытьФорму. Отбор также можно в параметры передать
#2 by rikodroo
Ок. Написал так: &НаКлиенте При создании формы выбора на сервере: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Точно таже история - отбор устанавливается, а позиционирование - нет.
#3 by rikodroo
а что за ключ?
#4 by rikodroo
ап
#5 by viktor_vv
так-то позиционируется, единственно не знаю как с отбором будет, но думаю нормально.
#6 by viktor_vv
И в ты ж и не позиционируешь. В апартмеры передай контаргента и в форме
#7 by rikodroo
Спасибо. Попробую попозже.
#8 by viktor_vv
#9 by rikodroo
Оба способа работают. Хотя второй (там где ПриСозданииНаСервере - медленнее). Однако, если у контрагент лежит в корне, то на него позиционирование всеравно не происходит. Галочка Восстанавливать текущую строку на форме выбора - не помогает. Список на форме выбора - это динамический список. Может с этим связано?
#10 by viktor_vv
Насчет второго не проверял, но первый проверил, и для варианта контрагента в корне нормально позиционируется.
#11 by viktor_vv
А без отборов попробовать. Может все-таки отборы влияют.
#12 by rikodroo
Дык я в и писал, что без всяких отборов - ситуация таже. Но, блин, этоже неправильно. Кстати, если установку через ТекущуйСтроку делать, то прям видно, что в момент открытия курсор спозиционирован правильно, а затем перескакивает вверх - сбивается, как буд-то сразу после обновления динамический список обновляется поновой.
#13 by banco
а зачем при создании на сервере устанавливать текущую строку? просто в параметрах формы отправь ТекущаяСтрока платформа сама установит курсор при открытии формы
#14 by MikhaDi4
Поправьте меня, может я чего-то не понимаю. Я вроде этоже и делаю: Ну, а потом мне же как-то нужно отбор установить, ну и сразу тек.строку:
#15 by MikhaDi4
Таже история, что в
#16 by banco
вместо ПараметрыФормы.Вставить("ТекКонтрагент", Объект.Контрагент) пиши ПараметрыФормы.Вставить("ТекущаяСтрока", Объект.Контрагент) и удали код
#17 by viktor_vv
+1 И тогда уж ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", Новый  ПараметрыФормы, Элемент);
#18 by MikhaDi4
таже борода. А на форме выбора точно не нужно устанавливать значение текущей строки? Или там еще какие настройки? Так он вообще не позиционируется, даже если элемент и в группе.
#19 by viktor_vv
+ ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора",  ПараметрыФормы, Элемент);
#20 by viktor_vv
Да нет, так тоже нормально работает. Ты лучше посмотри, может у тебя где в справочнике есть перепозиционирование.
#21 by banco
вот прочитай, неплохая статья
#22 by banco
а у твоего динамического списка основная таблица хоть Справочник.Контрагенты?
#23 by MikhaDi4
да конечно
#24 by MikhaDi4
Вот сейчас такие процедуры: и &НаСервере
#25 by MikhaDi4
+ и вообще позиционирования нет
#26 by MikhaDi4
там в модуле формы выбора вообще ничего больше нет
#27 by MikhaDi4
Блин, в должна быть строка Но, один фиг, если элемент лежит в корне - не позиционируется.
#28 by zladenuw
Как передаются параметры в управляемых формах В управляемых формах теперь есть возможность сразу передавать параметры при получении формы. Параметры передаются в виде структуры: Также у управляемой формы появились «расширения формы» (объект, справочник, документ, отчет). В зависимости от типа объекта определяется состав доступных параметров.  Например, если в форме выбора справочника нужно позиционироваться на определенном элементе, то используется параметр «ТекущееЗначение».
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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