|
Открыть форму выбора элемента справочника для УФ |
☑ |
0
егаис
03.07.15
✎
07:46
|
Споткнулся на простом вопросе. БП 3
Нужно по кнопке "Новый" в счете на оплату вывести форму справочника для выбора значения.
НаКлиенте
Процедура НовыйДоговор(Команда)
Если ПустаяСтрока(Объект.Номер) И НЕ Записать() Тогда
Возврат;
КонецЕсли;
НомерДоговора = СокрЛП(ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Объект.Номер, Истина, Ложь));
//repl(передадим еще тип договора продаж
ПараметрыФормы = Новый Структура("РежимВыбора", Истина);
ОткрытьФорму("Справочник.ВидыДоговоровПродаж.ФормаВыбора",ПараметрыФормы,,,,,,РежимОткрытияОкна.БлокироватьВесьИнтерейс);
//)
......
В формевыбора справочника
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.Список.РежимВыбора = Параметры.РежимВыбора;
КонецПроцедуры
......
Собственно вопрос - как все это реализовать через немодальные окна?
Форма открывается, но как "тормознуть алгоритм" и обработать выбор элемента справочника? Спасибо
|
|
1
Cube
03.07.15
✎
07:55
|
24.01.2013 Вариант работы интерфейса без использования модальных окон
09.12.2013 Инструменты рефакторинга и отказа от модальности
|
|
2
егаис
03.07.15
✎
08:26
|
хмм, спасибо
но остался вопрос - как передать выбранный элемент в процедуру создания нового договора?
&НаКлиенте
Процедура НовыйДоговор(Команда)
Если ПустаяСтрока(Объект.Номер) И НЕ Записать() Тогда
Возврат;
КонецЕсли;
НомерДоговора = СокрЛП(ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Объект.Номер, Истина, Ложь));
//repl(передадим еще тип договора продаж
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеВыбора", ЭтаФорма);
ПараметрыФормы = Новый Структура("РежимВыбора", Истина);
ОткрытьФорму("Справочник.ВидыДоговоровПродаж.ФормаВыбора",ПараметрыФормы,,,,,ОписаниеОповещения);
НовыйДоговор = СоздатьНовыйДоговор(НомерДоговора, Объект.Дата, Объект.Контрагент, Объект.Организация, ????СюдапередатьВыбранныйЭлемент????); //)
Если Объект.ДоговорКонтрагента <> НовыйДоговор Тогда
Объект.ДоговорКонтрагента = НовыйДоговор;
Если НЕ Объект.ДоговорКонтрагента.Пустая() Тогда
ДоговорКонтрагентаПриИзмененииНаСервере();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//repl(
&НаКлиенте
Процедура ЗавершениеВыбора(Результат, Параметры) Экспорт
Если Не Результат.Пустая() Тогда
???Чему присвоить значение, заводить реквизит формы???
КонецЕсли;
КонецПроцедуры
//)
|
|
3
AntonH851
03.07.15
✎
08:40
|
Можно все что после
ОткрытьФорму("Справочник.ВидыДоговоровПродаж.ФормаВыбора",ПараметрыФормы,,,,,ОписаниеОповещения);
Перенести в процедуру ЗавершениеВыбора
|
|
4
егаис
03.07.15
✎
08:44
|
(3) точно!
но я решил уже через параметры передачи )
спасибо за участие, вопрос закрыт
|
|
5
AntonH851
03.07.15
✎
08:47
|
(4) Параметры передачи? Это как?
|
|
6
AntonH851
03.07.15
✎
08:47
|
(4)Просто интересно
|
|
7
егаис
03.07.15
✎
08:48
|
ОписаниеОповещения, третий параметр
|
|
8
AntonH851
03.07.15
✎
08:52
|
(7) Спасибо, буду знать
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший