Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Модальность в "такси" или как сделать выбор из ДереваЗначений

Модальность в "такси" или как сделать выбор из ДереваЗначений
Я
   MasterShi
 
15.08.18 - 09:58
Дано: Иерархическая структура статей расходов, меняющаяся во времени. Реализована в виде периодического регистра сведений РегистрыСведений.СтатьиРасходов:
Измерения: Код, ЦФО
Ресурсы: Наименование,Родитель,Вкл
Выбор должен осуществляться из дерева значений, сформированного на указанную дату.
Пока можно было использовать модальные окна, всё решалось довольно просто: передаём дату отбора в общую модальную форму и назад получаем код статьи, если был выбор.
Как сделать, когда модальные формы запрещены?
Можно ли создать форму выбора из дерева значений прямо в РегистреСведений.СтатьиРасходов? В форме списка возможен только Динамический список...
 
 
   Остап Сулейманович
 
1 - 15.08.18 - 10:01
(0) Выбор из ДС ничем не отличается от прочих.
Так что (отвечая на вопрос) - можно. Делайте.
   Остап Сулейманович
 
2 - 15.08.18 - 10:04
+ (1) "Как сделать, когда модальные формы запрещены?"
Форму выбора открывать с фишкой "блокировать окно владельца" или "блокировать окно приложения". Это на ваш выбор.
После собственно выбора - оповещать окно владельца о выборе. Или заюзать оповещение о закрытии (см. Процедуру ОткрытьФорму). Это на ваш выбор.
Выбор в главной форме обрабатывать как обычно.
   MasterShi
 
3 - 15.08.18 - 10:27
(2) А как передать, что, собственно, выбрали.
   Вафель
 
4 - 15.08.18 - 10:27
(2) для этого есть оповещения
   MasterShi
 
5 - 15.08.18 - 14:54
(4) (2) Спасибо. Сатори получено :)
При открытии формы надо обязательно указать элемент-владелец.
   Fragster
 
6 - 15.08.18 - 16:40
Сделать вместо формы выбора отчет, формирующий нужную структуру на нужную дату, в нем в обработке расшифровки оповещать о выборе
   Fragster
 
7 - 15.08.18 - 16:41
ну и да, вариантОткрытияОкна = БлокироватьОкноВладельца
   MasterShi
 
8 - 16.08.18 - 08:18
(4) (2) Спасибо. Сатори получено :)
При открытии формы надо обязательно указать элемент-владелец.

Возникла другая странность.
В Общей форме я поставил оповещение:
&НаКлиенте
Процедура ДеревоСтатейВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    Элем=ДеревоСтатей.НайтиПоИдентификатору(ВыбраннаяСтрока);
    ОповеститьОВыборе(Новый Структура("Код,Наименование,ЦФО,Период",
        Элем.Код, Элем.Наименование, Элем.ЦФО, Элем.Период)); 
    СтандартнаяОбработка = Ложь;
КонецПроцедуры

А в форме документа в Обработке выбора в поле:
&НаКлиенте
Процедура РодительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    УстановкаДляОтбора=Новый Структура("ДатаВыборки",Объект.Дата);
    ФВыбора=ПолучитьФорму("ОбщаяФорма.ВыборСтатьиБД",УстановкаДляОтбора,Элемент);
    ФВыбора.Открыть();
КонецПроцедуры

&НаКлиенте
Процедура РодительОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Объект.СтатьяПредок=ВыбранноеЗначение.Код;
КонецПроцедуры

Так вот. Пока в ОповеститьОВыборе стоял возврат просто текста, всё было хорошо, но когда я поставил возврат структуры, то в поле, где происходит выбор, пишется просто "структура" и никаких тебе кодов статей, хотя должен быть код.
"доктор, что я делаю не так?"(с) анек
   Fragster
 
9 - 16.08.18 - 08:55
СтандартнаяОбработка
   MasterShi
 
10 - 16.08.18 - 09:01
(9) ???
 
 Рекламное место пустует
   Fragster
 
11 - 16.08.18 - 14:09
(10) что "???"
   MasterShi
 
12 - 16.08.18 - 15:37
(11) В каком месте от нее отказаться?
   Fragster
 
13 - 16.08.18 - 16:00
в обработке выбора
   FIXXXL
 
14 - 16.08.18 - 17:24
можно
Синтаксис:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>) 

и использовать РезультатЗакрытия

<ОписаниеОповещенияОЗакрытии> (необязательный)

Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует