Имя: Пароль:
1C
1С v8
Несоответствие типов (Параметр номер 1)
0 claus66
 
17.08.22
10:28
Ребята нужно помощь, скажите куда копать. Сегодня пользователи при входе в 1с (Торговля 11.5) увидели такое сообщение (Несоответствие типов (Параметр номер 1)) в 1с входит, но при работе с различными документами частенько выпадает такая же ошибка.
в журнале регистрации нашел расшифровку этой ошибки -

Несоответствие типов (параметр номер '1')
{Справочник.НаборыДополнительныхРеквизитовИСведений.МодульМенеджера(320)}:        
НаборыСвойств[СвойстваНабора.Ссылка] = Новый ФиксированнаяСтруктура(НаборыСвойств[СвойстваНабора.Ссылка]);

по причине:
Несоответствие типов (параметр номер '1')

С базой ничего не делали, не обновляли, вчера пользователи работали все было хорошо.
Кэш чистили, не помогло. Предполагаю что и Тестирование и исправление не поможет, (но могу и ошибаться, конечно же).

Почему вылазит ошибка не могу понять.

Функция ПредопределенныеНаборыСвойств() Экспорт
    
    ДеревоНаборов = Новый ДеревоЗначений;
    ДеревоНаборов.Колонки.Добавить("Имя");
    ДеревоНаборов.Колонки.Добавить("ЭтоГруппа", Новый ОписаниеТипов("Булево"));
    ДеревоНаборов.Колонки.Добавить("Используется");
    ДеревоНаборов.Колонки.Добавить("Идентификатор");
    ИнтеграцияПодсистемБСП.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
    УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
    
    НаименованияНаборовСвойств = УправлениеСвойствамиСлужебный.НаименованияНаборовСвойств();
    Наименования = НаименованияНаборовСвойств[ТекущийЯзык().КодЯзыка];
    
    НаборыСвойств = Новый Соответствие;
    Для Каждого Набор Из ДеревоНаборов.Строки Цикл
        СвойстваНабора = СвойстваНабора(НаборыСвойств, Набор);
        Для Каждого ДочернийНабор Из Набор.Строки Цикл
            СвойстваДочернегоНабора = СвойстваНабора(НаборыСвойств, ДочернийНабор, СвойстваНабора.Ссылка, Наименования);
            СвойстваНабора.ДочерниеНаборы.Вставить(ДочернийНабор.Имя, СвойстваДочернегоНабора);
        КонецЦикла;
        СвойстваНабора.ДочерниеНаборы = Новый ФиксированноеСоответствие(СвойстваНабора.ДочерниеНаборы);
        НаборыСвойств[СвойстваНабора.Имя] = Новый ФиксированнаяСтруктура(НаборыСвойств[СвойстваНабора.Имя]);
        НаборыСвойств[СвойстваНабора.Ссылка] = Новый ФиксированнаяСтруктура(НаборыСвойств[СвойстваНабора.Ссылка]);
    КонецЦикла;
    
    Возврат Новый ФиксированноеСоответствие(НаборыСвойств);
1 DEVIce
 
17.08.22
10:30
Смотрите чтобы в именах формул доп. реквизитов и свойств не было всяких левых символов, скобок, запятых и прочего.
2 mikecool
 
17.08.22
10:30
у тебя несоответствие параметров, ставь точку останова и смотри - где корявка
3 DEVIce
 
17.08.22
10:31
Могут быть еще битые ссылки.
4 claus66
 
17.08.22
10:33
(3) т.е. все же сделать Тестирование и Исправление ?
5 bolobol
 
17.08.22
11:14
Кеш?
6 Смотрящий от 1С
 
17.08.22
11:17
точку останова на строке 320 или чуть выше и смотреть внимательно что чему присваивается
7 bolobol
 
17.08.22
11:18
Остановиться по ошибке
8 1Сергей
 
17.08.22
11:20
Смотреть функцию СвойстваНабора не предлагали ещё?
9 claus66
 
17.08.22
11:21
(5) Кэш чистили, базу из списка удалить и заново прописать делали. Ошибка сохраняется
10 bolobol
 
17.08.22
11:23
(9) Кеш серверный почистить если не забыли - то норм. Отладка в месте Остановиться по ошибке
11 Chai Nic
 
17.08.22
11:24
(9) "базу из списка удалить и заново прописать делали."
В оснастке сервера 1с, надеюсь, а не в списке баз на клиенте?
12 claus66
 
17.08.22
11:26
(11) по сути вся процедура делалась на сервере, у пользователей ничего не делалось
13 claus66
 
17.08.22
11:27
(10) ну тогда буду отладчиком ловить ошибку, думаю, что какой то доп реквизит новый появился и его как то коряво написали или написали с ошибкой
14 bolobol
 
17.08.22
11:30
(12) Если у пользователя ничего не делалось, то кеш у пользователя кривой и остался
15 claus66
 
17.08.22
15:32
Спасибо за наводки! Очень помогли.
(14) - Приблизительно так и получилось, где то остался хвостик, тупо закоментил:

СвойстваНабора.ДочерниеНаборы = Новый ФиксированноеСоответствие(СвойстваНабора.ДочерниеНаборы);
        НаборыСвойств[СвойстваНабора.Имя] = Новый ФиксированнаяСтруктура(НаборыСвойств[СвойстваНабора.Имя]);
        НаборыСвойств[СвойстваНабора.Ссылка] = Новый ФиксированнаяСтруктура(НаборыСвойств[СвойстваНабора.Ссылка]);
    КонецЦикла;

Далее зашел в программу, далее вышел из 1с, снял комент и все заработало.
Еще раз спасибо !
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший