Имя: Пароль:
1C
1С v8
Ошибка открытия Анализ Счета
, ,
0 Плот
 
04.10.13
12:42
Ребята привет!
При открытии АнализаСчета возникает ошибка

{ОбщийМодуль.СтандартныеОтчеты.Модуль(573)}: Ошибка при вызове метода контекста (НайтиПоле)
            Если
по причине:
Несоответствие типов (параметр номер '1')
Только у одного пользователя на всех ПК. Права полные. Что за Х?
1 fmrlex
 
04.10.13
12:47
(0) Отчет не типовой.
2 Плот
 
04.10.13
12:47
(1) Типовой еще как
3 Wobland
 
04.10.13
12:49
эта Х называется несоответствие. возникает, когда тип не соответствует (не совпадает, не является, не похож) ожидаемому (тому, который нужен)
4 Tateossian
 
04.10.13
12:50
(0) А ты можешь в отладчике глянуть, какой тип туда попадает? Поставь остановку по ошибке и глянь в стеке.
5 catena
 
04.10.13
12:56
У счета убрали валютность или субконто, а у пользователя этот счет стоит в сохраненных настройках при открытии...
6 Плот
 
04.10.13
13:07
(4) Завел нового пользователя все гуд, больше похоже на (5)
щас буду смотреть
7 Плот
 
04.10.13
13:07
(5) в каком регистре хранятся настройки пользователей?
8 catena
 
04.10.13
13:10
(7)В моей УПП в справочнике СохраненныеНастройки.
9 catena
 
04.10.13
13:11
хотя и регистр такой есть
10 Плот
 
04.10.13
13:16
(8,9) Пробежался по справочнику. Нет ни одного упоминания про Анализ счета
11 catena
 
04.10.13
13:18
(10)в 8.2 не знаю, а в 8.1 еще есть внутренний механизм сохранения настроек. Вообще отладчиком можно пробежаться при открытии - перед открытием восстанавливается что-то или нет.
12 Плот
 
04.10.13
13:21
Вот в этой процедуре
Процедура ОбходОтборов(Отборы, ДоступныеПоля)
    
    Я = Отборы.Элементы.Количество() - 1;
    Пока Я >= 0 Цикл
        Если      ТипЗнч(Отборы.Элементы[Я]) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
            ОбходОтборов(Отборы.Элементы[Я], ДоступныеПоля);
            Если Отборы.Элементы[Я].Элементы.Количество() = 0 Тогда
                Отборы.Элементы.Удалить(Отборы.Элементы[Я]);
            КонецЕсли
        ИначеЕсли ТипЗнч(Отборы.Элементы[Я]) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
            Если
                Отборы.Элементы[Я].ЛевоеЗначение = Неопределено
                ИЛИ ДоступныеПоля.НайтиПоле(Отборы.Элементы[Я].ЛевоеЗначение) = Неопределено
            Тогда
                Отборы.Элементы.Удалить(Отборы.Элементы[Я]);
            КонецЕсли;
        КонецЕсли;
        Я = Я - 1;
    КонецЦикла
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан