Имя: Пароль:
1C
1С v8
Как ограничить тип значения у Списка значений который явл. реквизитом таб.части?
0 VAVANSTR
 
04.02.14
11:10
Есть табличная часть на форме, у этой табличной части один из реквизитов имеет тип "СписокЗначений", необходимо чтобы в этом списке значений можно было выбирать значения только определенного типа, например только Контрагентов или только Сотрудников, или и тех и других одновременно.

Возможно придётся использовать такой код:

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("СписокЗначений"));
Элементы.ХарактеристикиЗначение.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);

или

НужныйТипДляСвойств = Новый ОписаниеТипов("СправочникСсылка.ЗначенияСвойствОбъектов");
Отчет.Квартиры.ТипЗначения = НужныйТипДляСвойств;
1 vicof
 
04.02.14
11:12
Список значений является реквизитом табличной части?
1С 8.5?
2 VAVANSTR
 
04.02.14
11:20
Табличная часть является реквизитом формы, и один из реквизитов этой табличной части имеет тип "СписокЗначений"
3 х86
 
04.02.14
11:23
(2)мошт имеет список выбора?
4 1Сергей
 
04.02.14
11:25
(2) Чем дальше, тем чудесатее...
5 х86
 
04.02.14
11:25
Расширение поля ввода списка значений (Value list text box extension)
ТипЗначенияСписка (ListValueType)
Использование:

Чтение и запись.
Описание:

Тип: ОписаниеТипов. Свойство показывает, значения каких типов могут быть в списке значений у поля ввода.

Доступность:

Толстый клиент.
6 VAVANSTR
 
04.02.14
11:26
(3) Будет долго работать, так как контрагентов 5000 штук.
7 х86
 
04.02.14
11:26
(5)+ хотя хз, непонятно что тс нужно
8 VAVANSTR
 
04.02.14
11:33
На самом деле хочу организовать что-то типа стандартного подбора. В тч у меня три колонки (наименование реквизита, тип сравнения, значение), Когда тип сравнения равен "В списке", третья колонка принимает тип "СписокЗначения", и вот в этом списке значений мне нужно ограничить выбираемые значения...
9 VAVANSTR
 
04.02.14
11:48
Подкиньте идею...

Вот ограничил тип, чтобы в реквизите можно было заполнять список значений, теперь нужно в списке значений прописать ограничения только на определенный тип...

Если ВидОграничения = Перечисления.ТипыСравнения.ВСписке Тогда
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("СписокЗначений"));        Элементы.ХарактеристикиЗначение.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
    ТипЗначения = ОпределитьТипПоНаименованиюРеквизита(Характеристика);
    //Значение.ТипЗначения = ТипЗначения;
    //Характеристики.;
    //Элементы.Характеристики.Значение.ТипЗначения = ТипЗначения;
ИначеЕсли ВидОграничения = Перечисления.ТипыСравнения.НеВСписке Тогда
10 VAVANSTR
 
05.02.14
13:22
То, что мне нужно оказалось нельзя сделать без создания дополнительной формы. Эта форма открывается для заполнения списка значений. В этой форме и ограничиваю типы, которые будут выбираться.

Использовал код:

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ХХХ_НужныйТип_ХХХ"));
Элементы.ХарактеристикиЗначение.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);
11 VAVANSTR
 
07.02.14
14:27
Ещё только недавно пришла идея, но я её не проверил пока... Тип реквизита то я ограничивал до "списка значений", но сам список значения туда не помещал, поэтому наверное у меня не получилось ограничить выбираемые типы в списке значений без создания дополнительной формочки. В ближайшее время попробую и отпишусь что получилось.
Закон Брукера: Даже маленькая практика стоит большой теории.