Имя: Пароль:
1C
1С v8
Метод объекта не обнаружен (Представление)
,
0 black_cat1305
 
14.03.14
12:37
Ничего не могу понять...В каком месте смотреть, точнее что не хватает. Подскажите, пожалуйста?!

Процедура СоздатьОтчетОтмеченныхПравРолей()
    
    ЭлементыФормы.ПолеОтчетаМатрица.Очистить();
    
    // Получаем макет и области            
    Макет              = ЭтотОбъект.ПолучитьМакет("МакетМатрица");
    Шапка              = Макет.ПолучитьОбласть("ШапкаСтроки|ШапкаСтолбцы");
    КолонкаРоль        = Макет.ПолучитьОбласть("ШапкаСтроки|КолонкаРоль");
    СтрокаПользователь = Макет.ПолучитьОбласть("СтрокаПользователь|ШапкаСтолбцы");
    Данные             = Макет.ПолучитьОбласть("СтрокаПользователь|КолонкаРоль");    
    
    // Получаем отмеченных пользователей и роли
    ВыбПользователи = ПолучитьОтмеченыхПользователей();
    ВыбРоли = ПолучитьОтмеченыеРоли();
    КоличествоРолей = ВыбРоли.Количество();
    
    Если (ВыбПользователи.Количество() = 0) И (ВыбРоли.Количество()= 0) Тогда
        Предупреждение("Не выбран ни один пользователь или функционал !!!");
        Возврат;        
    КонецЕсли;    

    // Выводим шапку отчета
     ЭлементыФормы.ПолеОтчетаМатрица.Вывести(Шапка);
    
    Для Каждого ВыбРоль Из ВыбРоли Цикл
        КолонкаРоль.Параметры.Роль = ВыбРоль.Представление();
        ЭлементыФормы.ПолеОтчетаМатрица.Присоединить(КолонкаРоль);
    КонецЦикла;    
    
    // Выводим строки
    Для Каждого ВыбПользователь Из ВыбПользователи Цикл
        СтрокаПользователь.Параметры.Пользователь = ВыбПользователь.Имя;
        ЭлементыФормы.ПолеОтчетаМатрица.Вывести(СтрокаПользователь);        
        Для Каждого ВыбРоль Из ВыбРоли Цикл
            Данные.Параметры.Пометка     = ВыбПользователь.Роли.Содержит(ВыбРоль);
            Данные.Параметры.Расшифровка = Новый Структура("Пользователь,Роль",ВыбПользователь,ВыбРоль);
            ЭлементыФормы.ПолеОтчетаМатрица.Присоединить(Данные);
        КонецЦикла;    
    КонецЦикла;
    
    // Настройки отчета
    ЭлементыФормы.ПолеОтчетаМатрица.ТолькоПросмотр = Истина;
    ЭлементыФормы.ПолеОтчетаМатрица.ФиксацияСверху = 17;
    ЭлементыФормы.ПолеОтчетаМатрица.ФиксацияСлева = 20;
    ЭлементыФормы.ПолеОтчетаМатрица.Показать();    

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

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

Ошибка:{Форма.Форма.Форма(239)}: Метод объекта не обнаружен (Представление): КолонкаРоль.Параметры.Роль = ВыбРоль.Представление();
1 black_cat1305
 
14.03.14
12:37
что не так никак не пойму?
2 Ksandr
 
14.03.14
12:38
ВыбРоль какой тип имеет?
3 The_SpecialOne
 
14.03.14
12:39
ВыбРоли что такое?
4 black_cat1305
 
14.03.14
12:43
ВыбРоли = ПолучитьОтмеченыеРоли();

Функция ПолучитьОтмеченыеРоли()
    Массив = Новый Массив;
    Для Каждого Роль Из СписокФункционала Цикл
        Если Роль.Пометка = Истина Тогда
            Массив.Добавить(Роль.Значение);
        КонецЕсли;
    КонецЦикла;
    Возврат Массив;
КонецФункции
5 Ненавижу 1С
 
гуру
14.03.14
12:45
(4) ну епт, теперь мы будем узнавать, что такое СписокФункционала
6 Maxus43
 
14.03.14
12:46
может проще заменить КолонкаРоль.Параметры.Роль = ВыбРоль.Представление();
на КолонкаРоль.Параметры.Роль = ВыбРоль;

от автора имхо сложно будет добится ответов на вопросы...
7 black_cat1305
 
14.03.14
12:46
СписокФункционала это имеет тип = СписокЗначений выводимых всех ролей на форме отчета
8 black_cat1305
 
14.03.14
12:47
КолонкаРоль.Параметры.Роль = ВыбРоль; уже пробовала не помогает
9 The_SpecialOne
 
14.03.14
12:48
(4) какой тип Роль.Значение?
10 VikingKosmo
 
14.03.14
12:48
(8) продолжаем конкурс ответов на вопросы. Какие значения находятся в этом СписокЗначений?
11 Godofsin
 
14.03.14
12:48
(7) неожиданно! Ну а значения какие в этом списке значений?
12 Maxus43
 
14.03.14
12:48
(8) что не помогает? ошибки же не будет
13 black_cat1305
 
14.03.14
12:49
спасибо всем за помощь, проблему я исправила!
14 Ksandr
 
14.03.14
12:50
Запусти отладку, если получится.
Если получилось дважды кликни на слово Роль, потом нажми Шифт Ф9.
Там откроется окошко, в нем будет таблица из одной строки, нажми на нее, нажми Ctrl-C, открой эту тему, нажми Ctrl+V.
15 Godofsin
 
14.03.14
12:50
(13) умница!
16 Ksandr
 
14.03.14
12:50
(13) Как?
17 ДенисЧ
 
14.03.14
12:51
(16) Ctrl-A, Del, Ctrl-S, F7
18 Maxus43
 
14.03.14
12:52
(17) всё проще, Alt-F4
19 1dvd
 
14.03.14
12:53
У элемента СЗ Представление - это свойство, а не метод
Ошибка? Это не ошибка, это системная функция.