Всем привет!
Хочу задать вопрос по быстрому и получить тоже так же ...
Никто не подскажет почему указанный ниже фрагмент не работает.
Дело в том, нужно выбрать значение в форме выбора программно. Но при этом что бы открытие формы выбора было не модально. Потому что раздражает то что в таком режиме у окна нет режима свернуть и развернуть окно, а есть только крестик - выйти.
Вот фрагмент
ФормаВыбора=ПолучитьФорму("Справочник.Справочник1.ФормаВыбора",,ЭтаФорма);
ОбъектСсылка = ФормаВыбора.ОткрытьМодально(); // Так проходить без проблем
//ОбъектСсылка = ФормаВыбора.Открыть(); // А так выпердриваеться ... НИКАК НЕ ХОЧЕТ ....
Если ОбъектСсылка <> Неопределено Тогда
ФормаОбъектаСсылки = ПолучитьФорму("Справочник.Справочник1.ФормаОбъекта", новый Структура("Ключ", ОбъектСсылка));
Предупреждение(ФормаОбъектаСсылки.Объект.Наименование);
КонецЕсли;
Gigi @ Сегодня, 14:17
,
Попробуйте указывать владельца правильно.
ОткрытьФорму("Справочник.Справочник1.ФормаВыбора",,ОбъектСсылка);
Если ОбъектСсылка <> Неопределено Тогда
ФормаОбъектаСсылки = ПолучитьФорму("Справочник.Справочник1.ФормаОбъекта", новый Структура("Ключ", ОбъектСсылка));
Предупреждение(ФормаОбъектаСсылки.Объект.Наименование);
КонецЕсли;
Зачем такие извраты?
ОткрытьЗначение(ОбъектСсылка)
ОбъектСсылка = ФормаВыбора.ОткрытьМодально();
ОткрытьФорму("Справочник.Справочник1.ФормаВыбора",,ОбъектСсылка);
Если ОбъектСсылка <> Неопределено Тогда .....
ОткрытьЗначение(ОбъектСсылка)
ОбъектСсылка = ФормаВыбора.ОткрытьМодально();
Gigi @ Today, 16:07
,
Из кода вообще не понятно, что вы хотите сделать (после того, как выбрали значение).
Разница между методами ОткрытьМодально и Открыть в том, что последний ничего не возвращает.
Gigi @ Today, 17:07
,
Все зависит от конкретики.
Если полученную ссылку необходимо поместить в элемент формы, достаточно указать данный элемент как владельца в ПолучитьФорму и больше ничего не делать.
Если полученная ссылка не помещается в элемент формы, а лишь используется программно для х.з. каких целей, то, как вариант, в ПолучитьФорму как владелец указывается ЭтаФорма (как у вас в первом сообщении), и этой же форме-владельце в процедуре события ОбработкаВыбора получаем выбранное значение из параметра ЗначениеВыбора и делаем с ним что необходимо.
Petre @ Вчера, 17:28
,
Короче объясняю вкрадце
Есть кнопка на форме.
При нажатии на эту кнопку нужно:
Первое - Нужно что бы происходило то что обычно происходит при выборе реквизита Ссылка... ничего кроме .... т.е. появилась форма выбора БЕЗ МОДАЛЬНОГО РЕЖИМА.
Второе - Получить ссылку выбранного в переменную.
Третье - по этой ссылке сделать кое какие записи на сервере.
Вот собственно и все.
Так что пожалуйста если не трудно пример кода для указанных пунктов. Буду благодарен
Просто все это уже было не однократно сделано в таком стиле, о котором выше уже говорил:
ФормаВыбора=ПолучитьФорму("Справочник.Справочник1.ФормаВыбора",,ЭтаФорма);
ОбъектСсылка = ФормаВыбора.ОткрытьМодально(); // Так проходить без проблем
//ОбъектСсылка = ФормаВыбора.Открыть(); // А так выпердриваеться ... НИКАК НЕ ХОЧЕТ ....
Если ОбъектСсылка <> Неопределено Тогда
ФормаОбъектаСсылки = ПолучитьФорму("Справочник.Справочник1.ФормаОбъекта", новый Структура("Ключ", ОбъектСсылка));
Сообщить(ФормаОбъектаСсылки.Объект.Наименование);
ЗаписьПоСсылке(ОбъектСсылка);
КонецЕсли;
Процедура МояКнопкаНажатие(Элемент)
ФормаВыбора = ПолучитьФорму("Справочник.МойСправочник.ФормаВыбора", , ЭтаФорма);
ФормаВыбора.Открыть();
КонецПроцедуры
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
Если ЗначениеВыбора <> Неопределено Тогда
Сообщить(ЗначениеВыбора.Наименование);
КонецЕсли;
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua