Ошибка: Обращение к процедуре объекта как к функции (Открыть) ВыбранноеЗначение = ФормаОснования.Открыть(); Как открыть форму выбора и сохранить выбранное значение для дальнейшего использования?
Вот рабочий код:
Но сообщение всё равно выдает, о том что в данном режиме запрещена модальность. Но функционал который был нужен — работает.
(0) Ты хоть скажи, с какой ты планеты (зачеркнуто) ОФ/УФ.
По контексту ОФ, но вдруг..
вот несколько примеров
Это сработает, если в форме выбора для списка на форме у тебя установлен признак «РежимВыбора». Тогда когда в форме будет даблклик, в форму владельца (обработку) тебе прилетит событие формы ОбработкаВыбора() с выбранным значением.
(33) А что мешало посмотреть, как это работает в типовой конфе, да в той же бухгалтерии? Зачем вы пытались использовать модальный режим? В управляемых формах его практически не используют, в конфигураторе вообще может быть запрет на модальный режим. Вы могли просто открыть форму выбора, в данной форме после закрытия использовать команду ОповеститьОВыборе(результат). В форме источнике использовать событие обработка выбора и там уже обрабатывать полученный результат. Без всяких там доп оповещений. пример: &НаКлиенте
Источник
Как в форме выбора при закрытии формы отказаться от значения
Так ты ж и получаешь просто выбранный элемент. Вместо этого нужно почитать про возвращаемое значение для модального окна в синтакс-помощнике:
И переделать код на
Вот нашел ранее что писал, думаю этот алгоритм можно и тут применить. Уже поднималась эта тема. Текстовое поле имеет тип ДокументСсылка. Справа кнопка выбора позволяет выбрать нужный документ. Если ввести в поле текст значения реквизита. То выдается ошибка: «В поле введены некорректные данные.Отменить ввод?» Так и должно быть. С этим все понятно. Как я хочу сделать: При окончании ввода по введенному тексту найти запросом нужный документ. Далее присвоить этому текстовому полю ссылку на найденный документ. Все работает. Ввожу текст. Документ находится. Поле заполняется: Док номер такой-то от таког-то числа Вот только ошибка эта все равно вылазиит. Отключал СтандартнаяОбработка = Ложь В этом случае вообще ничего не заполняется.
—— Если надо кому нашел решение.
Да, всё верно в случае если Ставим СтандартнаяОбработка = Ложь ничего не заполняется. Именно это нам и надо.
1. В вышеописанной процедуре присваиваем значение Глобальной (описанной в модуле этой форме) Переменной. Например описали: Перем НайденныйДок; И присваиваем ей например Номер найденного в запросе документа
2. В процедуре при изменении пишем Процедура ТабличнаяЧастьДоверенностьПриИзменении(Элемент) ИщемДокумент=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата); Если ИщемДокумент=Документы.Доверенность.ПустаяСсылка() Тогда Сообщить(«К сожалению не найдена доверенность под Номером «+НайденныйДок); Иначе Элемент.Значение=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата); КонецЕсли; КонецПроцедуры;
Источник
Форма выбора (подбор) в управляемых формах
Статья будет состоять из нескольких приведенных примеров кода с описанием того, как прибегнуть к Подбору.
Пример 1.
Простой вызов формы выбора с одним возвращаемым результатом:
Пример 2.
Выбор нескольких значений (документов или справочников) :
В первых 2-х примерах мы использовали обработчик (Событие) формы «ОбработкаВыбора».
Теперь рассмотрим пример с использованием «Обработки оповещения», на мой взгляд более удобно )
Пример 3.
Думаю многие не знают про фишку Оповещением «на Сервере». То есть результат можно вернуть сразу на сервер без дополнительных условий. Работает до 8.3.13.1644, с 8.3.16.1063 этот метод недоступен.
Пример 4.
Мы видим что открывается форма выбора (из списка документов «Реализация товаров и услуг»), но иногда необходимо добавить некий отбор, чтобы при открытии формы не выводить все документы в целом.
Допустим мы хотим выбрать из списка документы только с товаром, для этого установим отбор по «Виду операции». Вид операции — это поле(реквизит) динамического списка, и отбор можно установить по всем доступным полям.
Пример 5.
Есть моменты когда не всегда можно обойтись простым отбором, например необходимо открыть форму выбора со списком за определенный период.
Для этого передаем вместо Отбора -Фиксированные настройки в форму выбора.
Пример 6.
Пример 7.
Как открыть форму выбора с Позиционированием ранее выбранного значения:
Тестировалось на 1С:Предприятие 8.3 (8.3.16.1063) и 1С:Предприятие 8.3 (8.3.13.1644), Спасибо за внимание, возможно, кому-то поможет)