Имя: Пароль:
1C
1С v8
v8: УФ. установить тип нового элемента справочника
0 elCust
 
19.04.13
16:26
Здарова бояре.

У меня тут вот чего.

Управляемые формы.
Мне нужно на клиенте создать новый элемент справочника, предварительное его заполнить и показать перед фейсом юзера.
Ок.
Делаю

НовыйЭл = ПолучитьФорму("Справочники.Ляляля");

А теперь мне надо установить тип и вот как ето сделать без использования г_внокода:

НовыйЭл.Тип = Перечисления.Типы.НужныйТип;

На клиенте не работает, а как сделать?
1 elCust
 
19.04.13
16:28
Вернее все работает, форма показывается, но не работает

НовыйЭл.Тип = Перечисления.Типы.НужныйТип;
2 jsmith82
 
19.04.13
16:29
ничо не понял
3 jsmith82
 
19.04.13
16:29
код в студию
4 elCust
 
19.04.13
16:30
Короче:

НовыйЭл = ПолучитьФорму("Справочники.Ляляля");
НовыйЭл.Объект.Тип = Перечисления.Типы.НужныйТип;
НовыйЭл.Открыть();
5 butterbean
 
19.04.13
16:30
реквизиту можно задать значение по умолчанию, например
6 elCust
 
19.04.13
16:32
Эээ, но ведь тогда это значение будет заполняться при любом создании элемента?
7 jsmith82
 
19.04.13
16:33
новый эл у тебя это форма элемента справочника
какой ещё нафиг у него тип?!
8 jsmith82
 
19.04.13
16:33
в СП нет такого свойства у формы
9 butterbean
 
19.04.13
16:34
(6) да
еще можно в форме завести параметр, и по нему заполнять при создании элемента
10 elCust
 
19.04.13
16:34
Да тип это я так реквизит так назвал. Ну для просторы можно назвать не .Тип, а .Реквизит1
11 jsmith82
 
19.04.13
16:37
Форма = ПолучитьФорму("Справочники.Ляляля.ФормаЭлемента");
Форма.Реквизит1 = ПредопределенноеЗначение("Перечисление.Перечисление1.Значение1");
Форма.Открыть();
12 jsmith82
 
19.04.13
16:39
Либо
пицот тонн кода
ОткрытьФорму("Справочник.Ляляля.Форма.ФормаЭлемента", ПолучитьПараметрыСервер());

&НаСервере
Фукнция ПолучитьПараметрыСервер()
пицот тонн кода
Возврат Новый Структура("Реквизит1", Перечисления.Перечисление1.Значение1);
КонецФункции

в справочнике ляляля в форме при создании на сервере
Объект.Реквизит1 = Параметры.Реквизит1
13 elCust
 
19.04.13
16:52
Ок, буду пробовать! Спасибо!
14 elCust
 
19.04.13
17:30
Короче получилось сделать так, мне кажется это менее уе***но:

&НаСервере
Функция ВернутьСсылкуПеречисления(ИмяМетаданных, ИмяЗначения)
   Возврат Перечисления[ИмяМетаданных][ИмяЗначения];
КонецФункции    


НоваяЦБ.Объект.Реквизит1 = ВернутьСсылкуПеречисления("Ляляля","Люлюлю");
2 + 2 = 3.9999999999999999999999999999999...