|   |   | 
| 
 | программный Отбор в УФ из внешней обработки | ☑ | ||
|---|---|---|---|---|
| 0
    
        cheat 26.11.13✎ 10:12 | 
        Добрый день.
 1С 8.2.19.68 Комплексная 1.1.51 есть внешняя обработка, в ней есть ПолеВвода так же есть следующая процедура: Процедура ДопПолеРезультат2НачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаПользователи = Справочники.Пользователи.ПолучитьФормуВыбора(); Если Не ФормаПользователи.Открыта() Тогда ФормаПользователи.Элементы.Список.Отображение = ОтображениеТаблицы.Список; УжеЕстьОтбор = Ложь; Для Каждого ЭлементОтбора Из ФормаПользователи.Список.Отбор.Элементы Цикл Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель") Тогда ЭлементОтбора.ПравоеЗначение = Справочники.Пользователи.НайтиПоНаименованию("Мастер-приемщик"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; УжеЕстьОтбор = Истина; КонецЕсли; КонецЦикла; Если Не УжеЕстьОтбор Тогда ЭлементОтбора = ФормаПользователи.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("В группе"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Справочники.Пользователи.НайтиПоНаименованию("Мастер-приемщик"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; КонецЕсли; //ФормаПользователи.Элементы.Список.Обновить(); ВыбранныйПользователь = ФормаПользователи.ОткрытьМодально(); КонецЕсли; КонецПроцедуры в итоге формаВыбора справочника пользователей открывается всё равно без !включённого! отбора, т.е. сама строка есть но вот той самой галочки не стоит. но ведь я же пишу Использование = Истина, что ещё ей надо? | |||
| 1
    
        cheat 26.11.13✎ 10:20 | 
        то что у меня в коде закомментирована строка обновления таблицы не обращайте внимания, пробывал и с Обновить() и без не помогает в список тупо вываливается весь список пользователей (((     | |||
| 2
    
        Ерепень 26.11.13✎ 10:22 | 
        >пробывал 
 после этого ушёл из ветки | |||
| 3
    
        Euguln 26.11.13✎ 10:23 | 
        Новый ПолеКомпоновкиДанных("В группе") - это пять.     | |||
| 4
    
        cheat 26.11.13✎ 10:27 | 
        (2) Ну когда нечего сказать по делу до*бись до орфографии, так?     | |||
| 5
    
        Ерепень 26.11.13✎ 10:28 | 
        (4) нет     | |||
| 6
    
        cheat 26.11.13✎ 10:30 | 
        (3) это тоже не суть проблеммы, в данной ситуации я в этот блок не попадаю никогда, проверял отладчиком. Можно далее по делу пожалуйста. Или норм программеры перевелись?     | |||
| 7
    
        Euguln 26.11.13✎ 10:35 | 
        (6) Ты в открытой форме выбора отбор смотрел? Он там есть? Правильный?     | |||
| 8
    
        Apokalipsec 26.11.13✎ 10:40 | 
        (6) твой стиль общения не соответствует твоему желанию получить помощь.
 v8: Как изменить отбор динамического списка 8.3! | |||
| 9
    
        George Wheels 26.11.13✎ 10:41 | 
        (0) ВидСравнения для отбора Родитель какой?     | |||
| 10
    
        cheat 26.11.13✎ 10:45 | 
        (7) да после открытия формы на экран, жду "Все действия" -> "Настроить список" -> Открывается форма "Настройка списка" -> вкладка "Отбор", правое Таб. поле содержит 2 строки
 ? Пометка удаления Равно Нет ? В группе Равно Мастер-приемщик если я нажму ОК то список переформируется и в нём останется что мне надо, а если жму отмена, то список пользователей так и остаётся без отбора | |||
| 11
    
        cheat 26.11.13✎ 10:48 | 
        (8) Если меня троллят то я груб не спорю! Да и выход найти можно всегда в крайнем случае создам свою форму сос списком нужных мне пользователей и буду просто возвращать ссылку на выбранного, так что моё желание не такое сильное что бы терпеть этот бред :-) всем добра.     | |||
| 12
    
        cheat 26.11.13✎ 10:51 | 
        (9) Там по умолчанию "Равно" это видимо происходит автоматом как я снимаю иерарх. просмотр.     | |||
| 13
    
        Euguln 26.11.13✎ 11:01 | 
        я бы передал через обработку выбора. Установка отбора после открытия формы.     | |||
| 14
    
        cheat 26.11.13✎ 11:09 | 
        (8) Почита тему по ссылке, сделал как ты там и советовал, очистил отбор, создал свой отбор, форма всё равно открывается как и раньше, отбор в списке отборов есть галочка слева стоит, а список всё равно весь подряд. ещё идеи?     | |||
| 15
    
        ilpar 26.11.13✎ 11:12 | 
        (6) используй правильный обработчик, раз в этот никогда не попадаешь     | |||
| 16
    
        ilpar 26.11.13✎ 11:13 | 
        P.S> не программеры перевелись, а телепаты     | |||
| 17
    
        cheat 26.11.13✎ 11:17 | 
        (15) эээ... вы о чём вообще? В обработчик события НачалоВыбора я попадаю, а вот в блок кода с Если нет, но как бы мне туда и не надо, мне нужно что бы открывалась формаВыбора справочника с уже установленным и действующим на список отбором.     | |||
| 18
    
        cheat 26.11.13✎ 11:18 | 
        (16) а что такого таинственного и не понятного вы уидели в моём коде? спрашивайте, выложу всё как на духу.     | |||
| 19
    
        cheat 26.11.13✎ 11:22 | 
        вообщем в итоге код следующий:
 Процедура ДопПолеРезультат2НачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаПользователи = Справочники.Пользователи.ПолучитьФормуВыбора(); Если Не ФормаПользователи.Открыта() Тогда ФормаПользователи.Элементы.Список.Отображение = ОтображениеТаблицы.Список; ФормаПользователи.Список.Отбор.Элементы.Очистить(); ЭлементОтбора = ФормаПользователи.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Справочники.Пользователи.НайтиПоНаименованию("Мастер-приемщик"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; ФормаПользователи.Элементы.Список.Обновить(); ВыбранныйПользователь = ФормаПользователи.ОткрытьМодально(); КонецЕсли; КонецПроцедуры но всё равно форма открывается со списком без отбора ((( | |||
| 20
    
        acsent 26.11.13✎ 11:26 | 
        Смотри в типовых модуль 
 ОтборыСписковКлиентСервер | |||
| 21
    
        Apokalipsec 26.11.13✎ 11:27 | 
        попробуй свой отбор передать через параметры формы.     | |||
| 22
    
        AllJoke 26.11.13✎ 11:30 | ||||
| 23
    
        cheat 26.11.13✎ 11:34 | 
        (22) Да спасибо, гуглить умею )) это уже читал     | |||
| 24
    
        cheat 26.11.13✎ 11:36 | 
        (20) к сожалению из типовых есть только КА и Бух и ни в одной из них нет ничего такого ((     | |||
| 25
    
        Apokalipsec 26.11.13✎ 11:38 | 
        (23) Ну и? ни в одном из примеров твоего кода ты не передаешь отбор параметром формы, ты пробовал так передавать?     | |||
| 26
    
        AllJoke 26.11.13✎ 11:39 | 
        ФормаПользователи.Элементы.Список.Обновить(); - попробуй это убрать.     | |||
| 27
    
        spu79 26.11.13✎ 11:41 | 
        в порядке бреда...а ФормаПользователи.ОткрытьМодально() - вот в этой форме При/ПередОткрытием ни чего "забавного" не происходит?     | |||
| 28
    
        George Wheels 26.11.13✎ 11:44 | 
        (27) + ПриСозданииНаСервере     | |||
| 29
    
        spu79 26.11.13✎ 11:53 | 
        и здесь 
 ФормаПользователи.Элементы.Список.Обновить(); ВыбранныйПользователь = ФормаПользователи.ОткрытьМодально(); ИМХО метод обновить() используется для УЖЕ открытых форм... | |||
| 30
    
        cheat 26.11.13✎ 12:30 | 
        (25) если делать так:
 ПараметрыВыбора = Новый Структура("Отбор", Новый Структура("Родитель",Справочники.Пользователи.НайтиПоНаименованию("Мастер-приемщик"))); ОткрытьФормуМодально("Справочник.Пользователи.ФормаВыбора", ПараметрыВыбора); то открывается с нужным мне отбором, НО как тогда убрать иерархический режим? | |||
| 31
    
        cheat 26.11.13✎ 13:05 | 
        всем спасибо за помощь, всё получилось
 если интересно то в итоге вот так норм работает: Процедура ДопПолеРезультат2НачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыВыбора = Новый Структура("Отбор", Новый Структура("Родитель",Справочники.Пользователи.НайтиПоНаименованию("Мастер-приемщик"))); ФормаПользователи = ПолучитьФорму("Справочник.Пользователи.ФормаВыбора", ПараметрыВыбора); ФормаПользователи.Элементы.Список.Отображение = ОтображениеТаблицы.Список; ВыбранныйПользователь = ФормаПользователи.ОткрытьМодально(); Если ВыбранныйПользователь <> Неопределено Тогда ДопПолеРезультат2 = ВыбранныйПользователь; КонецЕсли; КонецПроцедуры | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |