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

Тема в разделе "1C и всё что с ней связано", создана пользователем Karambol, 2 авг 2012.

  1. Karambol

    Karambol Гость

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Подчиненного справочника или подчиненных элементов справочника? Опишите подробнее что имеете, что надо а то не совсем понятен вопрос.
     
  3. Karambol

    Karambol Гость

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Контакты и транспортные средства как между собой связаны? То есть я имею ввиду чему подчинен справочник транспортных средств?Контрагенту?
     
  5. Karambol

    Karambol Гость

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    тоюиш когда у нас выделена определенная контактная информация(а следовательно определенный контрагент) то в таблице транспортных средст должны остатся только тс этого контрагента?
     
  7. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Например, в свойствах списка ставите "ПроизвольныйЗапрос", в нем отбор по параметрам, и УстановитьЗначениеПараметра() при активизации строки.
     
  8. Karambol

    Karambol Гость

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


    В управляемых формах только программно можно? В обычных я просто в свойствах реквизита указывал владельца и все :)
     
  9. Allexei

    Allexei Well-Known Member

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


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

    Karambol Гость

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

    Может, в свойствах динамического списка как-то можно указать?
    http://s15.radikal.ru/i189/1208/a5/0de17da1503a.jpg

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Можно произвольный запрос не использовать, а программно добавлять отбор... но это особо ничего не меняет.
     
  12. Karambol

    Karambol Гость

    А как программно? Можно пример?
     
  13. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Пример отбора. На форме есть ДС с именем "Список". Я хочу что бы отображались только товары с видом "Товар" (устанавливаю фильтр ВидТовара равно Товар).

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

    Karambol Гость

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    У меня повешано на обработку команды(нажатие кнопки). У вас надо повешать на "ПриСозданииНаСервере". Данное событие будет реализовано при создании формы на стороне сервера, но до передачи ее на клиент что уменьшит объем передаваемых данных(ведь у нас уже будет стоять отбор на дин списке). Попробуйте так.
     
  16. Karambol

    Karambol Гость

    Спасибо! :)

    Кстати, вопрос: есть ли смысл думать об объеме передаваемых данных между клиентом и сервером, если база файловая?
     
  17. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Точно сказать не могу. Но я бы "думал". Это как философский вопрос "А включать ли поворотники на повороте". Можно не делать и не заморачиватся, но со временем это войдет в привычку. Кстати , если помог то зеленая кнопка находится чуть ниже моей аватарки.
     
  18. Karambol

    Karambol Гость

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


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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    spec8.ru - там были бесплатные видеоуроки по управляемым формам
     
  20. Karambol

    Karambol Гость

    Спасибо, гляну
     
Загрузка...

Поделиться этой страницей