|   |   | 
| 
 | Выбор из справочника без удаленных элементов | ☑ | ||
|---|---|---|---|---|
| 0
    
        medved_kot 28.03.15✎ 21:53 | 
        Здравствуйте.
 Есть маленький справочник 15 эл. без иерархии. Какие-то элементы удаляются (помечаются), обратно восстанавливаются. В управляемой форме выбор из поля ввода открывается в виде списка. Как убрать из выпадающего списка удаленные? Версия 8.2.18 примерно. | |||
| 1
    
        ДенисЧ 28.03.15✎ 22:01 | 
        Свой список выбора задавать     | |||
| 2
    
        GROOVY 28.03.15✎ 22:03 | 
        В форме выбора задать отбор у динамического списка.
 Описать событие в модуле менеджера, не помню название, которое срабатывает при вводе по строке. | |||
| 3
    
        medved_kot 28.03.15✎ 22:19 | 
        (2) У справочника есть форма выбора, но так как справочник не иерархический, то как и в семерке происходит выбор из списка. Вот этот выбор как ограничить? Там два события НачалоВыбора и НачалоВыбораИзСписка
 (1) Как свой список задать? | |||
| 4
    
        medved_kot 28.03.15✎ 22:22 | 
        (1) Там вызов с клиента, а список надо на сервере создавать. Я до сих пор путаюсь с ними.
 Из события вызывать серверную процедуру для формирования списка? | |||
| 5
    
        GROOVY 28.03.15✎ 22:29 | 
        (3)  У справочника есть модуль менеджера, именно там событие описывается, что система в поля ввода передавать будет при выборе из списка и вводе по строке.
 Я тут еще подумал, можно RLS заюзать. | |||
| 6
    
        medved_kot 28.03.15✎ 22:35 | 
        (5) Вот. Это уже ближе. Где б почитать.
 Не знаю, что такое RLS. Не матюк надеюсь. | |||
| 7
    
        medved_kot 28.03.15✎ 22:51 | 
        Все. Спасибо (5). В модуле менеджера справочника написал процедуру.
 Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СписокВыбора = Новый СписокЗначений; Выборка = Справочники.Терминалы.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ПометкаУдаления Тогда Продолжить; КонецЕсли; СписокВыбора.Добавить(Выборка.Ссылка); КонецЦикла; ДанныеВыбора = СписокВыбора; КонецПроцедуры | |||
| 8
    
        Фокусник 29.03.15✎ 00:33 | 
        (7) выборку лучше запросом делать.     | |||
| 9
    
        PR 29.03.15✎ 00:40 | 
        (7) Делал недавно такую задачу. Не надо так. Надо так Параметры.Вставить("ПометкаУдаления", Ложь);     | |||
| 10
    
        PR 29.03.15✎ 00:41 | 
        +(9) В смысле Параметры.Отбор.Вставить("ПометкаУдаления", Ложь);     | |||
| 11
    
        medved_kot 29.03.15✎ 01:16 | 
        (8) В (0) я говорил справочник маленький. Везде запросы пихать не выход.     | |||
| 12
    
        medved_kot 29.03.15✎ 01:17 | 
        (9) Попробую.     | |||
| 13
    
        medved_kot 29.03.15✎ 01:19 | 
        +(9) Классно. Работает.     | |||
| 14
    
        Chameleon1980 29.03.15✎ 10:15 | 
        А с 1С я последний раз встречался когда однопалубный корабль на эту клетку ставил (C) Калян Наумов     | |||
| 15
    
        alex_shkut 29.03.15✎ 10:21 | 
        (13) Никогда не принимай во внимание размер справочника. Всегда думай, что там будет много тыщ :) элементов. Тогда и код будет оптимальный, и не впомнишь про него никогда...     | |||
| 16
    
        ДенисЧ 29.03.15✎ 10:22 | 
        (15) Premature optimisation is a root of evil.
 На 10 элементах в файловой версии выборка будет быстрей. | |||
| 17
    
        Фокусник 29.03.15✎ 13:23 | 
        (16) Про файловую базу в (0) не было речи. И потом, "каждая файловая база стремится стать SQLной" (с) моё 
 ;) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |