8.х Условия отбора в форме списка в зависимости от места запуска

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем vihuhol, 15 июн 2010.

  1. TopicStarter Overlay
    vihuhol
    Offline

    vihuhol Опытный в 1С

    Регистрация:
    20 апр 2010
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Имеется справочник Номенклатура. Его форма списка вызывается из разных мест(с других форм по кнопочкам или из меню). Нужно в зависимости от того, откуда был запущен справочник наложить на него определённые условия отбора.
    Я так понимаю, что есть 2 решения:
    1) Делать по клику на кнопке выборку и отображать её вместо формы списка(хотя не понимаю как быть, елси справочник иерархический групп и элементов, 2 уровня) - не очень пока понимаю, как выборку совмещать с отображением информации на форме :-(
    2) Определить какая кнопка/форма вызвала форму списка и наложить фильтр при отображении.

    Подскажите, пожалуйста, как определить из какой формы(или по какой кнопке) запущена текущая форма?
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Сделать на форме реквизиты, которые буду содержать ваш отбор.
    При наждатии на кнопку, будете их инициализировать. Потом при открытии в форме накладывать отбор на ваш список.
    Да и выборки можно избежать. У объекта СправочникСписок есть же отборы. Они вас не устраивают?
  3. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    P.S. точнее реквизиты не нужны. Можно сразу к отборам обратиться:

    Код:
    Процедура ЧудоКнопкаНажатие()
    Форма = Справочники.Номенклатура.ПолучитьФорму("ФормаСписка");
    Форма.СправочникСписок.Отбор.Номенклатура.Значение = <Наш отбор>;
    Форма.СправочникСписок.Отбор.Номенклатура.Использование = Истина;
    КонецПроцедуры
    
  4. TopicStarter Overlay
    vihuhol
    Offline

    vihuhol Опытный в 1С

    Регистрация:
    20 апр 2010
    Сообщения:
    64
    Симпатии:
    0
    Баллы:
    26
    Спасибо!
    Отбор делаю программно при открытии формы списка - вроде работает как надо.
    Проблема в том, что я не понимаю как отследить откуда форма списка открывается.
    Дело в том, что форма списка открывается по какой-то стандартной кнопке, что-то типа Подбор...
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Передавайте владельца формы. Или как я писал выше сделайте реквизит формы - "ТочкаВызова" - и инициализируйте ее.

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