Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ. Передача параметра в форму выбора

УФ. Передача параметра в форму выбора
Я
   Slon747
 
24.12.20 - 11:50
Имеется ТЧ с типом данных ТаблицаЗначений и столбцом Ссылка с типом данных Справочник.Соглашения.
Нужно чтобы при обычном добавлении новых строк на форму выбора накладывался фильтр по типовым соглашениям.
Посмотрел в код формы выбора справочника и обнаружил там, что анализируется параметр "ТолькоТиповые".
Осталось только передать этот параметр в форму выбора.
Где это делается в УФ? В событии ПриНачалеРедактирования или как-то иначе?
   vicof
 
1 - 24.12.20 - 11:58
Через ОткрытьФорму как вариант
   Slon747
 
2 - 24.12.20 - 12:04
(1) Т.е. несмотря на то, что в моей обработке уже есть функционал для изменения ТЧ (стандартные действия типа добавить/удалить и пр.) я не могу так просто наложить фильтр как в обычных формах в НачалоВыбора?
   ДенисЧ
 
3 - 24.12.20 - 12:08
(2) В оф ты тоже просто так не можешь наложить. Тебе надо отказаться от стандарта, получить форму, наложить фильтры...
В уф почти то же самое. Формируешь структуру параметров и ОткрытьФорму() с этими параметрами.
Чтобы передать отбор в динсписок - используй Структура("Отбор", СтруктураОтбора) или фиксированную структуру с настройками динсписка.
   Slon747
 
4 - 24.12.20 - 12:16
(3) Т.е. в моем случае нужно оставить только ТЧ (без панели стандартных кнопок) и добавить свою кнопку, по нажатию которой вызывается форма выбора с установленными параметрами.
   Slon747
 
5 - 24.12.20 - 12:16
(4) Это был вопрос.
   ДенисЧ
 
6 - 24.12.20 - 12:17
(4) Зачем? В нужном поле хватаешь событие ПриНачалеВыбора...
   vicof
 
7 - 24.12.20 - 12:23
(4)(7) Только не ПриНачалеВыбора, а НачалоВыбора. И Стандартную обработку там в Ложь.
   Slon747
 
8 - 24.12.20 - 12:28
(6)(7) Спасибо. Понял.
   Slon747
 
9 - 24.12.20 - 12:40
Но есть другая проблема.
В форме выбора в ПриСозданииНаСервере есть код:
Список.Параметры.УстановитьЗначениеПараметра("ТолькоТиповые", Параметры.ТолькоТиповые);
Список.Параметры.УстановитьЗначениеПараметра("Партнер", Параметры.Партнер);

Далее накладываются эти фильтры.
И если ТолькоТиповые - то что мне нужно, то фильтр Партнер мне не нужен.
Иначе выбираются только те, у которых партнер установлен.
Как можно отказаться от выполнения кода в ПриСозданииНаСервере (без внесения изменений в конфигурацию)?

P.S. В начале ПриСозданииНаСервере есть строки:

    Если Параметры.Свойство("АвтоТест") Тогда// Возврат при получении формы для анализа.

        Возврат;
    КонецЕсли;

Это как раз для моего случая?
   ДенисЧ
 
10 - 24.12.20 - 12:46
"Как можно отказаться от выполнения кода в ПриСозданииНаСервере "
Никак. Если только форму не создавать ))
   vicof
 
11 - 24.12.20 - 12:49
Или расширение написать, и подменить метод :)
   vicof
 
12 - 24.12.20 - 12:50
Или свою форму создавать
   Slon747
 
13 - 24.12.20 - 12:50
(10) В данном случае я передал параметр "АвтоТест" и код не выполнился. Но и форма не показалась. Стала выаполняться ПриЗагрузкеДанныхИзНастроекНаСервере(), а там еще и еще и в результате полезли ошибки компоновщика.
Чувствую, придется делать свою произвольную форму, в которой будет заполняться список соглашений по моему желанию
   Ненавижу 1С
 
14 - 24.12.20 - 13:33
а что "Параметры выбора" уже нельзя?
   Slon747
 
15 - 24.12.20 - 13:34
(14) Если в форме выбора какой-то код уже ограничивает выбор в динамическом списке, я уже не могу ничего сделать.
   Ненавижу 1С
 
16 - 24.12.20 - 13:52
(15) ты точно пробовал?
   Slon747
 
17 - 24.12.20 - 14:01
(16)
В форме выбора нализируются 2 параметра.
При этом если второй параметр не передается, то фильтр по нему все равно ставится.
   Ненавижу 1С
 
18 - 24.12.20 - 14:21
(17) параметры выбора передаются в поле Отбор (тип структура)  у значения Параметры
   Cthulhu
 
19 - 24.12.20 - 19:31
хотя бы попробовал передать в параметрах только тот отбор. который нужен...
а то одни увлекательные рассказы о том, какой там типовой код, и смелые предположения...
   d4rkmesa
 
20 - 24.12.20 - 21:59
(13) Лучше сделать свою форму. В типовой форме многое всего натыкано, через ИзменениеИКонтроль лучше не модифицировать расширением. Ну или использовать аннотацию &После, снимая ненужные отборы, ориентируясь на параметры (я бы так по эстетическим соображениям не стал делать). Просто там много стандартных параметров, отладить нормально будет долго.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.