Имя: Пароль:
1C
1С v8
Тонкий Клиент - Ограничить список выбора перечисления
0 ares
 
23.11.11
13:41
//Ограничения на перечисления в ревизитах
       СписокВидовКонтрагента = Новый Массив();
       СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ВидыКонтрагентов.Заявитель"));
       СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ВидыКонтрагентов.Подрядчик"));
       
           Элементы.ВидКонтрагента.СписокВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СписокВидовКонтрагента);


Пишет
{Справочник.Контрагенты.Форма.ФормаЭлементаУправляемая.Форма(57)}: Значение не является значением объектного типа (ЗагрузитьЗначения)
       Элементы.ТП_ВидКонтрагента.СписокВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СписокВидовКонтрагента);
1 vicof
 
23.11.11
13:45
интересно, что значит "ТП_" перед видом контрагента.
Ошибка и код общего между собой не имеют.
2 vmv
 
23.11.11
13:46
видимо необходимо создать серверную процедуру в модуле формы для модификации состава доступных значений списка выбора реквизита формы, что мешает создать?
3 vmv
 
23.11.11
13:47
(1) ТП - табличное поле формы, вид контрагента - его колонка, очевидно же
4 ДенисЧ
 
23.11.11
13:47
Элементы.ВидКонтрагента.СписокВыбора.ЗагрузитьЗначения(СписокВидовКонтрагента);

?
5 Fragster
 
гуру
23.11.11
13:47
6 vmv
 
23.11.11
13:47
(3) правда для управляемых надо префиксовать ТФ - таблица формы
7 ares
 
23.11.11
13:49
(1) да ты прав я код правил я собщение нет, сообщение будет выглядеть так
{Справочник.Контрагенты.Форма.ФормаЭлементаУправляемая.Форма(57)}: Значение не является значением объектного типа (ЗагрузитьЗначения)
       Элементы.ВидКонтрагента.СписокВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СписокВидовКонтрагента);
(2)Нет данная процедура работае на клиенте в описании описано
(4)Да так работает не ругается, однако при выборе вываливает свю кучу, а не указанные мной
8 vicof
 
23.11.11
13:50
(5) я на это и намекал)
9 ares
 
23.11.11
13:50
Мне кажется нужно через структуру дествовать, а не через массив, ща попробую
10 ares
 
23.11.11
13:53
(4) + мне же нужно, чтобы юзер облевался, но не смог завести ничего иного чем тока Заявителя или Подрядчика, так что тут работать нужно с Доступными значениями. Ну а так , как я и писал, он просто свю кучу вываливает.
11 Поручик
 
23.11.11
14:05
(10) В конфигураторе
Элемент формы в дереве формы - Свойства:Поле - СписокВыбора
12 ares
 
23.11.11
14:06
Нашел, так же как и написал (4)

       СписокВидовКонтрагента = Новый Массив();
       СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ТП_ВидыКонтрагентов.Заявитель"));
       СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ТП_ВидыКонтрагентов.Подрядчик"));
       
       Элементы.ВидКонтрагента.СписокВыбора.ЗагрузитьЗначения(СписокВидовКонтрагента);

,Однако, нужно еще параметр "Режим выбора из списка = истина", дата все работает. Иначе как я понимаю, система подменала стандартнйо обработкой ))
13 Поручик
 
23.11.11
14:08
(12) Можно и без кода.
14 ares
 
23.11.11
14:13
(13)У меня там условиее еще стоит, что это для определенной роли т.е. не для всех.

Эта галка чет, при нововм открытии не отображает выбраннойе значение, ща буду в настройках ковырять
15 ares
 
23.11.11
14:23
Раньше можно было при открытии указать доступные значения и не парится, теперь ДоступныеЗначения Неопределено в Тонком, пришлось менять логику и написать вот так

&НаКлиенте
Процедура ВидКонтрагентаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
   
   СписокВидовКонтрагента = Новый Массив();
   СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ВидыКонтрагентов.Заявитель"));
   СписокВидовКонтрагента.Добавить(ПредопределенноеЗначение("Перечисление.ВидыКонтрагентов.Подрядчик"));
   
   Элемент.СписокВыбора.ЗагрузитьЗначения(СписокВидовКонтрагента)
   
КонецПроцедуры
Программист всегда исправляет последнюю ошибку.