8.х Выбрать значение на форме выборе

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

  1. TopicStarter Overlay
    _leon4uk_
    Offline

    _leon4uk_

    Регистрация:
    19 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Добрый день!

    Обычное приложение.

    Есть документ. У него несколько реквизитов ссылочного типа, например "СправочникСсылка.Банки", со значением "Банк1".

    Необходимо в форме выбора справочника "Банки", программно ВЫБРАТЬ элемент "Банк1", т.е. типа перевыбрать это значение "Банк1".

    Пока сделал следующее:
    Процедура ВыполнитьВыборВФормеВыбора(Ссылка)
    ФормаВыбораСправочника = Справочники.Банки.ПолучитьФОрмуВыбора(,Ссылка); //получаю форму выбора справочника Банки по переданному параметру Ссылка
    //устанавливаю отбор в этой форме выбора, согласно мой ссылке в реквизите
    ФормаВыбораСправочника.Отбор.Ссылка.Использование = Истина;
    ФормаВыбораСправочника.Отбор.Ссылка.Значение = ссылка;
    ФормаВыбораСправочника.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    ФормаВыбораСправочника.Открыть();
    //тут код, имитирующий нажатие на кнопку Выбрать, как????
    КонецПроцедуры

    Помогите, кто сталкивался, или есть идеи.

    Спасибо.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    ВыбранноеЗначение = ФормаВыбораСправочника.ОткрытьМодально();
  3. TopicStarter Overlay
    _leon4uk_
    Offline

    _leon4uk_

    Регистрация:
    19 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    мне нужно программное нажатие, интерактивное нажатие не подходит, этот вариант уже пробовал
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Что значит "программное нажатие" в вашем понимании?
  5. TopicStarter Overlay
    _leon4uk_
    Offline

    _leon4uk_

    Регистрация:
    19 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    автоматизицацию делаю.
    нужно чтобы автоматически перевыбрало это же значение в реквизите.
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    /vanga mode on/
    хочется сделать, чтобы при изменении значения происходило то, что происходит при интерактивном "перевыборе"....наивный чукотский юноша/
    девушка :)
    /vanga mode off/

    необходимо выполнить код, содержащийся в обработчике "ПриИзменении".
  7. TopicStarter Overlay
    _leon4uk_
    Offline

    _leon4uk_

    Регистрация:
    19 янв 2016
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Сделал вот так:

    Процедура ВыполнитьВыборВФормеВыбора(Ссылка, рек) //параметр "ссылка" - это ссылка значения на форме документа; "рек" - текущий элемент формы, т.е. поле выбора
    ФормаВыбораСправочника = Справочники.Банки.ПолучитьФОрмуВыбора(,Рек,Ссылка);
    ФормаВыбораСправочника.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    ОткрытьФорму(ФормаВыбораСправочника,,рек,,,,,);

    Если ФормаВыбораСправочника.Открыта() Тогда
    ФормаВыбораСправочника.Активизировать();
    КонецЕсли;

    ФормаВыбораСправочника.ТекущийЭлемент.ТекущаяСтрока = ссылка;
    ВыборЭл = ФормаВыбораСправочника.ТекущийЭлемент.ТекущаяСтрока;

    если ВыборЭл = неопределено или НЕ значениезаполнено(ВыборЭл) тогда
    Сообщить("Значение "+Ссылка+" не было найдено в форме выбора справочника");
    иначе
    ФормаВыбораСправочника.ОповеститьОВыборе(ВыборЭл);
    КонецЕсли;

    КонецПроцедуры

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