Имя: Пароль:
1C
1С v8
Ограничение типа
0 Блондинка_
 
22.05.14
16:57
Добрый день! Что-то не могу разобраться. Есть регистр сведений, в котором заполняются разные настройки. Сама настройка это элемент плана видов характеристик, у настройки есть объект. Раньше все было просто в зависимости от настройки определялся ТОЛЬКО ОДИН тип объекта настройки (например  элемент справочника пользователи). Теперь же у меня 2 варианта объекта настройки. И я так понимаю вот это теперь не будет работать при выборе этой настройки?
ОграничениеТипа=ПолучитьТипОбъектаНастройки(Настройка);
ЭлементыФормы.ОбъектНастройки.ОграничениеТипа = ОграничениеТипа;
ОбъектНастройки = ОграничениеТипа.ПривестиЗначение(ОбъектНастройки);
Нельзя задать ограничение типа 2мя типами или можно?
1 Dionis Sergeevich
 
22.05.14
17:12
сделай 2  настройки - по одной на каждый объект
2 galimova_alsou
 
22.05.14
17:13
Ограничение типа - тип Описание типов?
Если так, то можно.

Сначала создаешь массив с нужными типами:
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Тра_Ля_Ля"));
МассивТипов.Добавить(Тип("Трам_Пам_Пам"));

ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);

Как-то так.
3 Блондинка_
 
22.05.14
17:23
(1) Я бы так и сделала, но вопрос именно в том чтобы не плодить настройки, их и так не мало((
(2) Да, все верно. И я так и делаю вот в этой процедуре ПолучитьТипОбъектаНастройки. Когда у меня моя настройка, то добавляю массив и в Ограничение типов эти 2 типа передаются. При отладке Ограничение типов содержит 2 значения с типом описание типов. И в ЭлементыФормы.ОбъектНастройки.ОграничениеТипа эти значения передаются. А на деле в форме я не могу выбрать объект. Может дело в свойствах формы, а типы правильно передаются?
4 galimova_alsou
 
22.05.14
17:29
Для чего вы делаете ПривестиЗначение()?
Если убрать эту строку, то будет стандартно обрабатываться поле составного типа.
5 Блондинка_
 
22.05.14
17:36
(4) Честно говоря, я не знаю, зачем это там. Это не я писала, я только дописываю. Если объект и так выбирается из нужного типа, зачем еще и его приводить к этому типу. А вообще дело было оказывается в том, что я в свойсвах поля формы не поставила галочку "Выбирать тип"
6 galimova_alsou
 
22.05.14
17:57
Привести значение приводило поле к нужному типу, который был указан в Описании типов. Но в случае с несколькими типами такое не прокатывает.
7 Блондинка_
 
23.05.14
10:16
(6) Ну может оно и приводит после того, как я выбираю тип из 2х уже и ставлю туда значение. Зачем это масло масляное не знаю, но вроде теперь работает)
Спасибо за помощь!