|   |   | 
| 
 | Как сделать на УФ выбор в поле ввода элементов справочника только верхнего уровня. | ☑ | ||
|---|---|---|---|---|
| 0
    
        davlen86 17.07.17✎ 13:18 | 
        Приветствую, уважаемые форумчане! Подскажите пожалуйста или пните в нужном направлении))). Собственно на управляемой форме необходимо разместить поле, в которое можно выбирать только элементы верхнего уровня справочника. Если у реквизита формы Тип значения оставить произвольный и заполнять список выбора у элемента при открытии формы, ничего не получается.     | |||
| 1
    
        r_i_n_i_k 17.07.17✎ 13:21 | 
        данные выбора заполнять только теми элементами у которых Родитель и есть сам справочник     | |||
| 2
    
        Рэйв 17.07.17✎ 13:23 | 
        (0)Заполни список выбора по условию
 Если НЕ ЗначениеЗаполнено(ссылкаСпр.Родитель) Тогда ... | |||
| 3
    
        Рэйв 17.07.17✎ 13:23 | 
        ну и на НЕ .ЭтоГруппа тоже проверять можно     | |||
| 4
    
        Fedor-1971 17.07.17✎ 13:25 | 
        (0) ты хочешь это сделать в отдельной форме выбора или прямо в  вываливающемся списке поля?     | |||
| 5
    
        r_i_n_i_k 17.07.17✎ 13:26 | 
        (3) а если у него иерархия элементов?     | |||
| 6
    
        Рэйв 17.07.17✎ 13:28 | 
        (5) тогда можно не делать     | |||
| 7
    
        davlen86 17.07.17✎ 13:30 | 
        (4) в вываливающимся нет скорее всего, так как нужно предусмотреть выбор нескольких значений     | |||
| 8
    
        Рэйв 17.07.17✎ 13:31 | 
        (7)Тогда перед открытием формы выбора ставь вид отбора =ВСписке и передавай список элементов верхнего уровня по условию из (2)     | |||
| 9
    
        davlen86 17.07.17✎ 13:33 | 
        (2) Подскажите пожалуйста где это заполнить? 
 Я уже пробовал вот так Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МойСпр.Ссылка |ИЗ | Справочник.МойСпрКАК МойСпр |ГДЕ | МойСпр.Родитель = ЗНАЧЕНИЕ(Справочник.МойСпр.ПустаяСсылка) | |УПОРЯДОЧИТЬ ПО | МойСпр.Наименование"; Выборка = Запрос.Выполнить().Выбрать(); СписокВыб = Новый СписокЗначений; Пока Выборка.Следующий() Цикл СписокВыб.Добавить(Выборка.Ссылка); КонецЦикла; Элементы.Полеввода.СписокВыбора.Добавить(СписокВыб); | |||
| 10
    
        davlen86 17.07.17✎ 13:36 | 
        (8) Это вид отбора и отбор указать в форму выбора справочника?     | |||
| 11
    
        Рэйв 17.07.17✎ 13:37 | 
        (9)Все правильно вроде     | |||
| 12
    
        Рэйв 17.07.17✎ 13:37 | 
        (10)Да, в ней.     | |||
| 13
    
        Fedor-1971 17.07.17✎ 13:40 | 
        (7) В одно поле не поместишь несколько выбранных значений.
 В отдельной форме: параметры открытия формы выбора передаёшь, например, параметр ТолькоКорень, проверка выглядит так: 
т.е. модифицируй запрос ДС так, что-бы он вернул только элементы с пустым родителем (9) НаСервере, например, в ПриСозданииНаСервере (12) Нет, там присвоение списка выбора конкретному полю формы | |||
| 14
    
        Рэйв 17.07.17✎ 13:41 | 
        (0)А так тебе одно значение выбрать надо в поле? Тогда сделай выпадающий список и не мучайся     | |||
| 15
    
        davlen86 17.07.17✎ 13:43 | 
        (11) я вот тоже думаю что все правильно, но почему то не работает.
 (12) сейчас попробовал настроить отбор в форме выбора вручную Ссылка.Входит в группу = оставил пустым, все работает как надо, а если пользователь отключит этот отбор? (13) я присваиваю на клиенте в процедуре при открытии, это я так написал что две проц не выкладывать | |||
| 16
    
        davlen86 17.07.17✎ 13:44 | 
        (14) не одно, а чтобы можно было несколько, все работает когда устанавливаешь типзначения у реквизита и без кода, только вот выбирает все уровни     | |||
| 17
    
        Fedor-1971 17.07.17✎ 13:51 | 
        (15) это ты зря, запихни код в ПриСозданииНаСервере и в цикле заполняй список выбора формы
 Элементы.Полеввода.СписокВыбора.Добавить(Выборка.Ссылка); У тебя есть и форма и доступ к запросу вот и заполни список выбора поля. Есть один недостаток, если в корень добавят элемент при открытой форме, придётся переоткрывать форму что-бы он появился в выборе. Только оптимальнее делать в обработчике события ПередНачаломВыбора - список может и не понадобиться, а ты его уже сформировал | |||
| 18
    
        davlen86 17.07.17✎ 13:54 | 
        (17) спасибо. А он в этом случае даст выбрать несколько значений?     | |||
| 19
    
        Fedor-1971 17.07.17✎ 14:22 | 
        (18) попробуй, для обработки выбора нескольких значений есть обработчик ОбработкаВыбора в нём и рули что у тебя попадёт в поле     | |||
| 20
    
        oslokot 17.07.17✎ 14:29 | 
        Вообще-то, такие вещи в УФ принято делать через ПараметрыВыбора поля ввода     | |||
| 21
    
        davlen86 17.07.17✎ 14:46 | 
        (19) выбирает только одно значение
 (20) спасибо попробую | |||
| 22
    
        davlen86 17.07.17✎ 14:49 | 
        (20) а как эти параметры найти, не могу почему то. Подскажите     | |||
| 23
    
        Dvoe4nik 17.07.17✎ 14:57 | 
        (21) я возможно ошибаюсь, но помоему в (9) ты в список выбора добавляешь список а не элемент...     | |||
| 24
    
        Вафель 17.07.17✎ 15:16 | 
        в параметрахОтбора поставить родитель = пустая ссылка     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |