Имя: Пароль:
1C
 
Неверный тип значения Отбор на табличном поле
0 evorle145
 
28.09.15
16:59
Мужики, всю башку сломал уже, но не пойму почему процедура

Процедура УстановитьОтборНаОбластьДанных(Элемент, ЭлементФормыПраваДоступаПользователей) Экспорт

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

КонецПроцедуры

выдает ошибку {ОбщийМодуль.НастройкаПравДоступа(168)}: Ошибка при установке значения атрибута контекста (Значение)
        ЭлементФормыПраваДоступаПользователей.ОтборСтрок.ОбластьДанных.Значение = Элемент.ТекущиеДанные;
по причине:
Неверный тип значения

Вид сравнения стоит. Тип "Элемент.ТекущиеДанные" - ПеречислениеСсылка.НаборПравПользователей. Тип ЭлементФормыПраваДоступаПользователей.ОтборСтрок.ОбластьДанных.Значение - точно такой же! Но устанавливаться отбор в упор не хочет...
1 evorle145
 
28.09.15
17:01
Лефмихалыч, родной, выручайте. Все происходит по Администратором.
2 Лефмихалыч
 
28.09.15
17:02
кэш продуй
3 vicof
 
28.09.15
17:03
кэш?
4 evorle145
 
28.09.15
17:05
Столько уважаемых людей в списке просматривающих, что, право, мне даже стыдно за свой казус..
Гугл и яндекс говорят на эту ошибку показывают что народ путает видСравнения и присваиваемое значение. Но у меня то вид сравнения равно, и типы присваиваемых значений совпадают.

Базу только развернул и сразу эта ошибка, кэш чист должен быть.
5 evorle145
 
28.09.15
17:09
(2) , продул, чтоб не думалось. Не помогло.
Конфа "Управление торговлей", редакция 10.2 (10.2.6.4) на платформе 1С:Предприятие 8.3 (8.3.6.2237). Это по идее это тут не причем...
6 Лефмихалыч
 
28.09.15
17:12
(5) как продул?
7 evorle145
 
28.09.15
17:15
(6) Тут все удалил C:\Users\Админ\AppData
8 Nuobu
 
28.09.15
17:17
(5) Какой тип у Элемент.ТекущиеДанные;?
9 evorle145
 
28.09.15
17:18
(8) Копию из отладчика: Элемент.ТекущиеДанные    Кладовщик    ПеречислениеСсылка.НаборПравПользователей
10 evorle145
 
28.09.15
17:19
ЭлементФормыПраваДоступаПользователей.ОтборСтрок.ОбластьДанных.Значение        ПеречислениеСсылка.НаборПравПользователей
11 Лефмихалыч
 
28.09.15
17:19
(7) надоб ыло базу удалить из списка и добавить заново. Кэш ест ьеще в Local
12 evorle145
 
28.09.15
17:19
вот, копировал. Видно то типы совпадают на 100%
13 evorle145
 
28.09.15
17:21
(11) , Сделал. Но не помогло. Я об этом способе помнил, просто я ж только что ее развернул, поэтому и думал, что это не поможет..
14 Nuobu
 
28.09.15
17:47
(13) Пустую ссылку можешь присвоить?
15 evorle145
 
28.09.15
17:48
Друзья, проблему решил, но в чем дело было так и не понял.

Код изменил на

Процедура УстановитьОтборНаОбластьДанных(Элемент, ЭлементФормыПраваДоступаПользователей) Экспорт

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

КонецПроцедуры


И заработало! Но надо же понять! Почему присваивать значение Элемент.ТекущиеДанные нельзя, а ЭлементТекущиеДанные = Элемент.ТекущиеДанные вот так уже можно?
16 igork1966
 
28.09.15
18:32
(15)
Посмотри ТипЗнч(ЭлементТекущиеДанные)
И ТипЗнч(Элемент.ТекущиеДанные)
17 igork1966
 
28.09.15
18:35
(16) + ТипЗнч(ЭлементФормыПраваДоступаПользователей.ОтборСтрок.ОбластьДанных.Значение)
Основная теорема систематики: Новые системы плодят новые проблемы.