|   |   | 
| 
 | УФ. Передача параметра в форму выбора | ☑ | ||
|---|---|---|---|---|
| 0
    
        Slon747 24.12.20✎ 11:50 | 
        Имеется ТЧ с типом данных ТаблицаЗначений и столбцом Ссылка с типом данных Справочник.Соглашения.
 Нужно чтобы при обычном добавлении новых строк на форму выбора накладывался фильтр по типовым соглашениям. Посмотрел в код формы выбора справочника и обнаружил там, что анализируется параметр "ТолькоТиповые". Осталось только передать этот параметр в форму выбора. Где это делается в УФ? В событии ПриНачалеРедактирования или как-то иначе? | |||
| 1
    
        vicof 24.12.20✎ 11:58 | 
        Через ОткрытьФорму как вариант     | |||
| 2
    
        Slon747 24.12.20✎ 12:04 | 
        (1) Т.е. несмотря на то, что в моей обработке уже есть функционал для изменения ТЧ (стандартные действия типа добавить/удалить и пр.) я не могу так просто наложить фильтр как в обычных формах в НачалоВыбора?     | |||
| 3
    
        ДенисЧ 24.12.20✎ 12:08 | 
        (2) В оф ты тоже просто так не можешь наложить. Тебе надо отказаться от стандарта, получить форму, наложить фильтры...
 В уф почти то же самое. Формируешь структуру параметров и ОткрытьФорму() с этими параметрами. Чтобы передать отбор в динсписок - используй Структура("Отбор", СтруктураОтбора) или фиксированную структуру с настройками динсписка. | |||
| 4
    
        Slon747 24.12.20✎ 12:16 | 
        (3) Т.е. в моем случае нужно оставить только ТЧ (без панели стандартных кнопок) и добавить свою кнопку, по нажатию которой вызывается форма выбора с установленными параметрами.     | |||
| 5
    
        Slon747 24.12.20✎ 12:16 | 
        (4) Это был вопрос.     | |||
| 6
    
        ДенисЧ 24.12.20✎ 12:17 | 
        (4) Зачем? В нужном поле хватаешь событие ПриНачалеВыбора...     | |||
| 7
    
        vicof 24.12.20✎ 12:23 | 
        (4)(7) Только не ПриНачалеВыбора, а НачалоВыбора. И Стандартную обработку там в Ложь.     | |||
| 8
    
        Slon747 24.12.20✎ 12:28 | 
        (6)(7) Спасибо. Понял.     | |||
| 9
    
        Slon747 24.12.20✎ 12:40 | 
        Но есть другая проблема.
 В форме выбора в ПриСозданииНаСервере есть код: Список.Параметры.УстановитьЗначениеПараметра("ТолькоТиповые", Параметры.ТолькоТиповые); Список.Параметры.УстановитьЗначениеПараметра("Партнер", Параметры.Партнер); Далее накладываются эти фильтры. И если ТолькоТиповые - то что мне нужно, то фильтр Партнер мне не нужен. Иначе выбираются только те, у которых партнер установлен. Как можно отказаться от выполнения кода в ПриСозданииНаСервере (без внесения изменений в конфигурацию)? P.S. В начале ПриСозданииНаСервере есть строки: Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; Это как раз для моего случая? | |||
| 10
    
        ДенисЧ 24.12.20✎ 12:46 | 
        "Как можно отказаться от выполнения кода в ПриСозданииНаСервере "
 Никак. Если только форму не создавать )) | |||
| 11
    
        vicof 24.12.20✎ 12:49 | 
        Или расширение написать, и подменить метод :)     | |||
| 12
    
        vicof 24.12.20✎ 12:50 | 
        Или свою форму создавать     | |||
| 13
    
        Slon747 24.12.20✎ 12:50 | 
        (10) В данном случае я передал параметр "АвтоТест" и код не выполнился. Но и форма не показалась. Стала выаполняться ПриЗагрузкеДанныхИзНастроекНаСервере(), а там еще и еще и в результате полезли ошибки компоновщика.
 Чувствую, придется делать свою произвольную форму, в которой будет заполняться список соглашений по моему желанию | |||
| 14
    
        Ненавижу 1С гуру 24.12.20✎ 13:33 | 
        а что "Параметры выбора" уже нельзя?     | |||
| 15
    
        Slon747 24.12.20✎ 13:34 | 
        (14) Если в форме выбора какой-то код уже ограничивает выбор в динамическом списке, я уже не могу ничего сделать.     | |||
| 16
    
        Ненавижу 1С гуру 24.12.20✎ 13:52 | 
        (15) ты точно пробовал?     | |||
| 17
    
        Slon747 24.12.20✎ 14:01 | 
        (16)
 В форме выбора нализируются 2 параметра. При этом если второй параметр не передается, то фильтр по нему все равно ставится. | |||
| 18
    
        Ненавижу 1С гуру 24.12.20✎ 14:21 | 
        (17) параметры выбора передаются в поле Отбор (тип структура)  у значения Параметры     | |||
| 19
    
        Cthulhu 24.12.20✎ 19:31 | 
        хотя бы попробовал передать в параметрах только тот отбор. который нужен...
 а то одни увлекательные рассказы о том, какой там типовой код, и смелые предположения... | |||
| 20
    
        d4rkmesa 24.12.20✎ 21:59 | 
        (13) Лучше сделать свою форму. В типовой форме многое всего натыкано, через ИзменениеИКонтроль лучше не модифицировать расширением. Ну или использовать аннотацию &После, снимая ненужные отборы, ориентируясь на параметры (я бы так по эстетическим соображениям не стал делать). Просто там много стандартных параметров, отладить нормально будет долго.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |