|
Модальность в "такси" или как сделать выбор из ДереваЗначений | ☑ | ||
---|---|---|---|---|
0
MasterShi
15.08.18
✎
09:58
|
Дано: Иерархическая структура статей расходов, меняющаяся во времени. Реализована в виде периодического регистра сведений РегистрыСведений.СтатьиРасходов:
Измерения: Код, ЦФО Ресурсы: Наименование,Родитель,Вкл Выбор должен осуществляться из дерева значений, сформированного на указанную дату. Пока можно было использовать модальные окна, всё решалось довольно просто: передаём дату отбора в общую модальную форму и назад получаем код статьи, если был выбор. Как сделать, когда модальные формы запрещены? Можно ли создать форму выбора из дерева значений прямо в РегистреСведений.СтатьиРасходов? В форме списка возможен только Динамический список... |
|||
1
Остап Сулейманович
15.08.18
✎
10:01
|
(0) Выбор из ДС ничем не отличается от прочих.
Так что (отвечая на вопрос) - можно. Делайте. |
|||
2
Остап Сулейманович
15.08.18
✎
10:04
|
+ (1) "Как сделать, когда модальные формы запрещены?"
Форму выбора открывать с фишкой "блокировать окно владельца" или "блокировать окно приложения". Это на ваш выбор. После собственно выбора - оповещать окно владельца о выборе. Или заюзать оповещение о закрытии (см. Процедуру ОткрытьФорму). Это на ваш выбор. Выбор в главной форме обрабатывать как обычно. |
|||
3
MasterShi
15.08.18
✎
10:27
|
(2) А как передать, что, собственно, выбрали.
|
|||
4
Вафель
15.08.18
✎
10:27
|
(2) для этого есть оповещения
|
|||
5
MasterShi
15.08.18
✎
14:54
|
(4) (2) Спасибо. Сатори получено :)
При открытии формы надо обязательно указать элемент-владелец. |
|||
6
Fragster
гуру
15.08.18
✎
16:40
|
Сделать вместо формы выбора отчет, формирующий нужную структуру на нужную дату, в нем в обработке расшифровки оповещать о выборе
|
|||
7
Fragster
гуру
15.08.18
✎
16:41
|
ну и да, вариантОткрытияОкна = БлокироватьОкноВладельца
|
|||
8
MasterShi
16.08.18
✎
08:18
|
(4) (2) Спасибо. Сатори получено :)
При открытии формы надо обязательно указать элемент-владелец. Возникла другая странность. В Общей форме я поставил оповещение: &НаКлиенте Процедура ДеревоСтатейВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Элем=ДеревоСтатей.НайтиПоИдентификатору(ВыбраннаяСтрока); ОповеститьОВыборе(Новый Структура("Код,Наименование,ЦФО,Период", Элем.Код, Элем.Наименование, Элем.ЦФО, Элем.Период)); СтандартнаяОбработка = Ложь; КонецПроцедуры А в форме документа в Обработке выбора в поле: &НаКлиенте Процедура РодительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) УстановкаДляОтбора=Новый Структура("ДатаВыборки",Объект.Дата); ФВыбора=ПолучитьФорму("ОбщаяФорма.ВыборСтатьиБД",УстановкаДляОтбора,Элемент); ФВыбора.Открыть(); КонецПроцедуры &НаКлиенте Процедура РодительОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Объект.СтатьяПредок=ВыбранноеЗначение.Код; КонецПроцедуры Так вот. Пока в ОповеститьОВыборе стоял возврат просто текста, всё было хорошо, но когда я поставил возврат структуры, то в поле, где происходит выбор, пишется просто "структура" и никаких тебе кодов статей, хотя должен быть код. "доктор, что я делаю не так?"(с) анек |
|||
9
Fragster
гуру
16.08.18
✎
08:55
|
СтандартнаяОбработка
|
|||
10
MasterShi
16.08.18
✎
09:01
|
(9) ???
|
|||
11
Fragster
гуру
16.08.18
✎
14:09
|
(10) что "???"
|
|||
12
MasterShi
16.08.18
✎
15:37
|
(11) В каком месте от нее отказаться?
|
|||
13
Fragster
гуру
16.08.18
✎
16:00
|
в обработке выбора
|
|||
14
FIXXXL
16.08.18
✎
17:24
|
можно
Синтаксис: ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>) и использовать РезультатЗакрытия <ОписаниеОповещенияОЗакрытии> (необязательный) Тип: ОписаниеОповещения. Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами: <РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы, |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |