Имя: Пароль:
1C
 
Несоответствие типов (параметр номер '1')
,
0 Sanr231
 
16.10.17
16:10
После обновления конфигурации 1с упрощенка 8 до версии 8.3.10.2580 платформы и 3.0.52.42 конфигурации при создании счета вылезла ошибка:
Несоответствие типов (параметр номер '1')

в отладчике:
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль(838)}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору)
        РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
по причине:
Несоответствие типов (параметр номер '1')


На этом мои познания в программировании 1с заканчиваются. Где собака закопана?
1 Heckfy
 
16.10.17
16:18
У тебя Идентификатор имеет тип НЕ УНИКАЛЬНЫЙИДЕНТИФИКАТОР.
А нужно что бы был УникальныйИдентификатор.

МенеджерРегламентныхЗаданий (ScheduledJobsManager)
НайтиПоУникальномуИдентификатору (FindByUUID)
Синтаксис:

НайтиПоУникальномуИдентификатору(<Идентификатор>)
Параметры:

<Идентификатор> (обязательный)

Тип: УникальныйИдентификатор.
Идентификатор регламентного задания.
Возвращаемое значение:

Тип: РегламентноеЗадание; Неопределено.
Если задание для заданного идентификатора не найдено, возвращает Неопределено.
Описание:

Осуществляет поиск регламентного задания по уникальному идентификатору. Получение регламентного задания возможно только для администратора.

Доступность:

Сервер, толстый клиент, внешнее соединение.
2 Sanr231
 
16.10.17
16:21
Соответственно, что мне нужно сделать?
3 Heckfy
 
16.10.17
16:26
Присвоить переменной Идентификатор тип УникальныйИдентификатор. :)
4 Sanr231
 
16.10.17
16:27
Так заводская конфигурация и модуль только для чтения.
5 СамыйУмный
 
16.10.17
16:28
(4) А ну тогда все..ничего не сделать
6 Sanr231
 
17.10.17
14:45
Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт
    
    ВызватьИсключениеЕслиНетПраваАдминистрирования();
    
    Если ТипЗнч(Идентификатор) = Тип("РегламентноеЗадание") Тогда
        Идентификатор = Идентификатор.УникальныйИдентификатор;
    КонецЕсли;
    
    Если ТипЗнч(Идентификатор) = Тип("УникальныйИдентификаторИдентификатор") Тогда
        Идентификатор = Новый УникальныйИдентификатор(Идентификатор);
    КонецЕсли;
    
    Если ТипЗнч(Идентификатор) = Тип("ОбъектМетаданных") Тогда
        РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Идентификатор);
    Иначе
        РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
    КонецЕсли;
    
    Если РегламентноеЗадание = Неопределено Тогда
        ВызватьИсключение( НСтр("ru = 'Регламентное задание не найдено.
                                      |Возможно, оно удалено другим пользователем.'") );
    КонецЕсли;
7 Sanr231
 
17.10.17
14:46
Вот весь текст модуля. Где исправить идентификатор?
8 X Leshiy
 
17.10.17
14:47
(0) Кэш чистил?
9 Sanr231
 
17.10.17
14:54
Чистил
10 ildary
 
17.10.17
15:05
(9) выгрузку-загрузку базы делал?
11 h-sp
 
17.10.17
15:09
(8) тии сделай
12 Sanr231
 
17.10.17
15:09
Выгрузку загрузку - не делал.
А что такое тии?
13 h-sp
 
17.10.17
15:11
тестирование и исправление в конфигураторе
14 X Leshiy
 
17.10.17
15:12
(12) Тааак. А как ты чистил кэш?
15 Sanr231
 
17.10.17
15:25
Тестирование  и  исправление запускал.

C:\Users\1\AppData\Roaming\1C\1Cv82
C:\Users\1\AppData\Local\1C\1Cv82
Из них грохнул папки с длинными названиями
Еще пробовал через \ClearCache и тонкий клиент
16 Sanr231
 
17.10.17
15:56
Выгрузил - загрузил. Все равно так-же.
17 Heckfy
 
17.10.17
16:33
Пройдись отладчиком, что у тебя в функцию передается? ИМХО, неопределено. И проблема не на самом деле не здесь, а при создании счета.
18 Sanr231
 
17.10.17
16:40
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль(838)}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору)
        РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
по причине:
Несоответствие типов (параметр номер '1')

Это в отладчике
19 Sanr231
 
17.10.17
16:43
Как посмотреть, что в функцию передается?
20 Sanr231
 
17.10.17
16:57
Проблема была в расположении информационной базы. Перенес в корень другого диска. Все завелось))))
21 h-sp
 
17.10.17
17:01
(20) это значит кэш. про кэш наврал.
22 mr_K
 
17.10.17
17:02
Как говАривала Алиса "все чудесатее и чудесатее")
23 Heckfy
 
17.10.17
17:12
(21) Не обязательно. Скорее всего на клиенте почистил. :)