Имя: Пароль:
1C
1С v8
Как из УФ элемента открыть подчиненную форму и получить из нее нужные значения.
0 Беата Смит
 
05.04.19
12:58
Есть некий справочник, у него есть форма элемента Форма1 и просто форма - Форма2 (она не меняет никаких реквизитов справочника, там просто куча всяких элементов формы.
На Форме1 есть поле ввода Поле1 с кнопкой выбора и запретом на изменение текста. Мне надо, чтобы при начале выбора открывалась Форма2, туда передавалось значение из Поле1, дальше происходила всякая магия)), для которой эта форма2 и создавалась, и потом, при закрытии Формы2 некое (измененное) значение передавалось обратно в Поле1 Формы1.
Это скорее всего, какая-то совсем тривиальная задача, но я застряла в самом начале.

&НаКлиенте
Процедура Поле1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Форма = ПолучитьФорму("Справочник.Клиенты.Форма2",,ЭтаФорма);
        Форма.Открыть();
КонецПроцедуры

Выдает ошибку "Неизвестное имя формы.". Решила, что на клиенте эта форма по какой-то причине не видна. Сделала через сервер:

&НаСервереБезКонтекста
Процедура РВТ_СписокГрафиковГрафикНачалоВыбораНаСервере()
    Форма = Справочники.Клиенты.ПолучитьФорму("Форма2");
        Форма.Открыть();
КонецПроцедуры

&НаКлиенте
Процедура Поле1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Поле1НачалоВыбораНаСервере();
КонецПроцедуры

Выдает ошибку "Интерактивные операции недоступны". Не понимаю, что делать, короче. Помогите, пожалуйста!
1 RomanYS
 
05.04.19
13:12
ОткрытьФорму("Справочник.Клиенты.Форма.Форма2",,ЭтаФорма);

Естественно только на клиенте
2 RomanYS
 
05.04.19
13:14
(0) >> Выдает ошибку "Неизвестное имя формы.". Решила, что на клиенте эта форма по какой-то причине не видна.
Л = Логика)
3 Лодырь
 
05.04.19
13:16
Парам = Новый Структура("Параметр1",ЗначениеПараметра1);
ОписаниеОповещенияОЗакрытииПодчиненнойФормы  = Новый ОписаниеОповещения("ИмяПроцедурыОбработчикаОповещения",ЭтаФорма);
ОткрытьФорму("Документ.ИмяДокумента.Форма.ИмяФормы",Парам,ЭтаФорма,,,,ОписаниеОповещенияОЗакрытииПодчиненнойФормы,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
4 DrWatson
 
05.04.19
13:26
(0) Из справки:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, ...)
Имя формы образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта".
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение(клиент).
5 Беата Смит
 
05.04.19
13:28
(2) ну да, туплю. Я просто проверяла, запуская так же ФормаЭлемента, ФормаВыбора - оно срабатывало. Я не знала, каюсь, что для открытия произвольной формы, к стандартным типам не относящейся, надо Форма.Форма2 писать. Спасибо)
6 Беата Смит
 
05.04.19
15:06
(3) Спасибо большое, разобралась! Работает.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс