Имя: Пароль:
1C
1С v8
Ограничение типа
0 ghostrid3r
 
18.08.14
19:48
Добрый день подскажите плз. Вот пример обычный реквизит - "Подразделение", для него такой код

    Если Не ЗначениеЗаполнено(Подразделение) Тогда
        ЭлементыФормы.ПолеНастройкиПодразделение.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций");
        Подразделение = ОбщегоНазначения.ПустоеЗначениеТипа("СправочникСсылка.ПодразделенияОрганизаций");
        ВидСравненияПодразделения = ВидСравнения.Равно;
    КонецЕсли;



Вопрос следующий есть еще один реквизит "Учебное заведение" составного типа как в таком случае прописать?
1 Fram
 
18.08.14
20:06
(0) Точно так же пробовал?
2 ghostrid3r
 
18.08.14
20:31
(1) Если для каждого такое прописать то будет только последнее значение.
3 iHell
 
18.08.14
20:33
Так ?

Синтаксис:

Новый ОписаниеТипов(<Типы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
Параметры:

<Типы> (обязательный)

Тип: Массив; Строка.
Массив значений типа Тип, состоящий из типов, которые будут использованы в объекте, или строка содержащая имена типов, разделенных запятыми.
4 iHell
 
18.08.14
20:33
Типы забить в массив.
5 ghostrid3r
 
18.08.14
20:48
(4) забивал
6 ghostrid3r
 
18.08.14
20:53
Если Не ЗначениеЗаполнено(УчебноеЗаведение) Тогда
        МассивЗначений = Новый Массив;
        МассивЗначений.Добавить(Тип("СправочникСсылка.УчебныеЗаведения"));
        МассивЗначений.Добавить(Тип("СправочникСсылка.ЦентрыПоПереподготовкиСпециалистов"));
        ЭлементыФормы.ПолеНастройкиУчебноеЗаведение.ОграничениеТипа = Новый ОписаниеТипов(МассивЗначений);
        УчебноеЗаведение = ОбщегоНазначения.ПустоеЗначениеТипа(МассивЗначений);
        ВидСравненияУчебноеЗаведение    = ВидСравнения.Равно;
    КонецЕсли;


В таком варианте при выборе ничего не выбирается
7 EvgeniuXP
 
18.08.14
21:15
(6) а равно массиву что ли? это как?
8 ghostrid3r
 
18.08.14
21:28
(7) протупил, но всеравно вопрос остается как учебному заведению добавить 2 значения.
9 Мимохожий Однако
 
18.08.14
22:03
ОписаниеТипов.На основании объекта ОписаниеТипов (TypeDescription.Based on the TypeDescription object)
ОписаниеТипов (TypeDescription)
На основании объекта ОписаниеТипов
Синтаксис:

Новый ОписаниеТипов(<ИсходноеОписаниеТипов>, <ДобавляемыеТипы>, <ВычитаемыеТипы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
Параметры:

<ИсходноеОписаниеТипов> (необязательный)

Тип: ОписаниеТипов.
Исходное описание типов, на основании которого будет строиться новое.
<ДобавляемыеТипы> (необязательный)

Тип: Массив; Строка.
Массив значений типа Тип, состоящий из типов, которые будут использованы в объекте, или строка содержащая имена типов разделенных запятыми.
<ВычитаемыеТипы> (необязательный)

Тип: Массив; Строка.
Массив значений типа Тип (или строка, содержащая имена типов, разделенных запятыми), состоящий из типов, которые будут исключены из исходного описания, указанного в первом параметре.
<КвалификаторыЧисла> (необязательный)

Тип: КвалификаторыЧисла.
Квалификаторы числа, описывающие допустимые значения числового типа.
<КвалификаторыСтроки> (необязательный)

Тип: КвалификаторыСтроки.
Квалификаторы строки, описывающие допустимые значения строкового типа.
<КвалификаторыДаты> (необязательный)

Тип: КвалификаторыДаты.
Квалификаторы даты, описывающие допустимые значения типа Дата.
<КвалификаторыДвоичныхДанных> (необязательный)

Тип: КвалификаторыДвоичныхДанных.
Квалификаторы двоичных данных.
Описание:

Создает описание типов на основании другого описания типов, путем добавления одних и исключения других типов. Если новый квалификатор не указан, будут оставлены квалификаторы исходного описания типов.
Пример:

// расширим описание ДопустимыеТипы новыми типами
Массив = Новый Массив;
Массив.Добавить(Тип("СправочникСсылка.Методы"));
Массив.Добавить(Тип("Число"));
Знак = ДопустимыйЗнак.Неотрицательный;
КвЧисла = Новый КвалификаторыЧисла(10, 2, Знак);

ДопустимыеТипы = Новый ОписаниеТипов(ДопустимыеТипы, Массив, , КвЧисла);