Открыть форму и вернуть выбранное значение
По теме из базы знаний
- Реализация подбора на основе управляемых форм 1С 8.2
- Допиливаем форму выбора серий номенклатуры для отображения остатков
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Открыть форму внутри другой формы - наконец-то возможно!
- Заполнение категорий статистического учета для формы ЗП-Образование, пр-366 от 8 марта 2021
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Пишу
Нич не возвращает.
Нужно просто именно полное наименование вытаскивать
&НаКлиенте
Процедура НаименованиеКонтрагентаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
П = Новый Структура;
П.Вставить("Ключ", Объект.Покупатель);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", П);
КонецПроцедуры
Нич не возвращает.
Нужно просто именно полное наименование вытаскивать
(5) olo_lo4,
Так работает, проверял, нужный реквизит также по аналогии:
Весь код естественно только в обработке.
Так работает, проверял, нужный реквизит также по аналогии:
&НаКлиенте
Процедура Реквизит1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
// Вставить содержимое обработчика.
Реквизит1 = ПолучитьНаименование(ВыбранноеЗначение);
КонецПроцедуры
// <Описание функции>
//
// Параметры:
// <Параметр1> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
// <Параметр2> - <Тип.Вид> - <описание параметра>
// <продолжение описания параметра>
//
// Возвращаемое значение:
// <Тип.Вид> - <описание возвращаемого значения>
//
&НаСервереБезКонтекста
Функция ПолучитьНаименование(Контрагент)
Возврат Контрагент.Наименование;
КонецФункции // ПолучитьНаименование()
&НаКлиенте
Процедура Реквизит1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СтандартнаяОбработка = Ложь;
//П = Новый Структура;
//П.Вставить("Ключ", Реквизит1);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", , Элементы.Реквизит1);
КонецПроцедуры
ПоказатьВесь код естественно только в обработке.
Да у меня тоже самое написано, но не возвращает.
Наверное у вас в форме выбора что то указывается
Наверное у вас в форме выбора что то указывается
&НаКлиенте
Процедура НаименованиеКонтрагентаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
//СтандартнаяОбработка = Ложь;
П = Новый Структура;
П.Вставить("Ключ", Объект.Покупатель);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", П);
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеКонтрагентаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
й=1; = ставлю точку останова, ничего не срабатывает
КонецПроцедуры
Показать
(9) olo_lo4, Обратите внимание, что в Вашем коде передаются параметры "П", а у меня нет, зато указан владелец "Элементы.Реквизит1". И обработчик выбора "Реквизит1ОбработкаВыбора" тоже есть если что, может дело в этом проверьте. Параметры конкретно в данном случае могут быть и не обязательны.
ЗЫ: Только заметил: Вы владельца не указали.
ЗЫ: Только заметил: Вы владельца не указали.
&НаКлиенте
Процедура Реквизит1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СтандартнаяОбработка = Ложь;
ФормаВыбора = ПолучитьФорму("Справочник.Контрагенты.ФормаВыбора");
ФормаВыбора.ВладелецФормы = Элемент;//Ключевой момент чтобы форма выбора возвратила выбранное значение
... //тут условия отбора
ФормаВыбора.Открыть();
КонецПроцедуры
Показать
(16) Так тоже можно попробовать, без возврата формы:
&НаКлиенте
Процедура Реквизит1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыОтбора = Новый Структура; // отбор при необходимости
// ПараметрыОтбора.Вставить("Отбор", ...);
ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", ПараметрыОтбора, Элемент);
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот