• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Отбор В Динамическом Списке

  • Автор темы Karambol
  • Дата начала
K

Karambol

Подскажите, как настроить отбор в динамическом списке на форме элемента справочника, чтобы в списке выводились элементы подчиненного справочника?
 
A

Allexei

Подчиненного справочника или подчиненных элементов справочника? Опишите подробнее что имеете, что надо а то не совсем понятен вопрос.
 
K

Karambol

Задача такая:
есть справочник Контрагенты, на форме элемента вкладки Контакты и Транспортные средства.
Хочу сделать, чтобы во вкладке Контакты была таблица и в ней отображалась информация из регистра сведений КонтактнаяИнформация с возможностью редактирования, а на вкладке Транспортные средства отображалась информация из подчиненного справочника ТранспортныеСредства.
 
A

Allexei

Контакты и транспортные средства как между собой связаны? То есть я имею ввиду чему подчинен справочник транспортных средств?Контрагенту?
 
K

Karambol

Да, транспортные средства подчинен Контрагенту.
Транспортные средства выводятся по всем контрагентам, без отбора по родителю, а где и как этот отбор настроить - не могу найти.
 
A

Allexei

тоюиш когда у нас выделена определенная контактная информация(а следовательно определенный контрагент) то в таблице транспортных средст должны остатся только тс этого контрагента?
 
U

unknown181538

Например, в свойствах списка ставите "ПроизвольныйЗапрос", в нем отбор по параметрам, и УстановитьЗначениеПараметра() при активизации строки.
 
K

Karambol

тоюиш когда у нас выделена определенная контактная информация(а следовательно определенный контрагент) то в таблице транспортных средст должны остатся только тс этого контрагента?

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


Например, в свойствах списка ставите "ПроизвольныйЗапрос", в нем отбор по параметрам, и УстановитьЗначениеПараметра() при активизации строки.
В управляемых формах только программно можно? В обычных я просто в свойствах реквизита указывал владельца и все :)
 
A

Allexei

Попробуй сделать так. Открой эту форму в конфигураторе, Открой вкладку Команда-Глобальные-Параметризируемые. Там у тебя будет что то типа дерева Объект-ТранспортныеСредства(Объект.Ссылка), ТраснпортныеСредства(Объект.Родитель). Перенеси ТранспортныеСредства(Объект.Ссылка) на форму. Проверь что получилось в режиме предприятия


Зы
Эх, хотя нет.Фигня получается.Тупанул я. Самое то будет как говорит unknown181538
 
K

Karambol

Т.е., через настройки нельзя сделать?

Может, в свойствах динамического списка как-то можно указать?


И вообще, может такие задачи не через динамический список решаются, а как-то иначе?
 
U

unknown181538

Может, в свойствах динамического списка как-то можно указать?
Можно произвольный запрос не использовать, а программно добавлять отбор... но это особо ничего не меняет.
 
A

Allexei

Пример отбора. На форме есть ДС с именем "Список". Я хочу что бы отображались только товары с видом "Товар" (устанавливаю фильтр ВидТовара равно Товар).

&НаКлиенте
Процедура Команда1(Команда)
ЭлементОтбора = Список.Отбор.Элементы.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидТовара");
ЭлементОтбора.ПравоеЗначение = ПредопределенноеЗначение("Справочник.ВидТовара.Товар");
КонецПроцедуры
 
K

Karambol

А процедуру Команда1 на какое событие повешать?
 
A

Allexei

У меня повешано на обработку команды(нажатие кнопки). У вас надо повешать на "ПриСозданииНаСервере". Данное событие будет реализовано при создании формы на стороне сервера, но до передачи ее на клиент что уменьшит объем передаваемых данных(ведь у нас уже будет стоять отбор на дин списке). Попробуйте так.
 
A

Allexei

Точно сказать не могу. Но я бы "думал". Это как философский вопрос "А включать ли поворотники на повороте". Можно не делать и не заморачиватся, но со временем это войдет в привычку. Кстати , если помог то зеленая кнопка находится чуть ниже моей аватарки.
 
K

Karambol

Кстати , если помог то зеленая кнопка находится чуть ниже моей аватарки.

Ага, разобрался.


Можно не делать и не заморачиватся, но со временем это войдет в привычку.

А где можно почитать принципы создания управляемых форм, какие объекты доступны на клиенте, а какие на сервере, какие предопределенные процедуры когда вызываются?
 
P

puh14

spec8.ru - там были бесплатные видеоуроки по управляемым формам
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!