Имя: Пароль:
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х уже и ставлю туда значение. Зачем это масло масляное не знаю, но вроде теперь работает)
Спасибо за помощь!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn