![]() |
![]() |
![]() |
|
Преобразование выражения к типу "Булево" не может быть выполнено | ☑ | ||
---|---|---|---|---|
0
Fidel Ramirez
19.03.06
✎
14:10
|
Конфигурация УТ 10.2.6.4.
Вылазит такая вот ошибка. Код: Если ((ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем) ИЛИ (ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером)) Это кусок из ДоговорыКонтрагентов.МодульОбъекта. Код мной не менялся. Если поставить бряк перед проверкой условия, то ВидДоговора = С покупателем. Да и вообще, в последнее время начали часто ошибки с преобразованем типов выскакивать. |
|||
1
Волшебник
модератор
19.03.06
✎
14:11
|
разве на этой строке выскакивает ошибка?
|
|||
2
Fidel Ramirez
19.03.06
✎
14:11
|
Именно на этой.
|
|||
3
Fidel Ramirez
19.03.06
✎
14:12
|
Описание ошибки скинуть?
{Обработка.РегистрацияДоговоровСвоихОрганизаций.Форма.Форма(38)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - '{Справочник.ДоговорыКонтрагентов(198)}: Преобразование значения к типу Булево не может быть выполнено' ДоговорПоставщикаСПокупателем.Записать(); {Справочник.ДоговорыКонтрагентов(198)}: Преобразование значения к типу Булево не может быть выполнено Если ((ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем) ИЛИ (ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером)) |
|||
4
Волшебник
модератор
19.03.06
✎
14:17
|
(3) Ошибка выдалась на строке ДоговорПоставщикаСПокупателем.Записать();
|
|||
5
Fidel Ramirez
19.03.06
✎
14:20
|
Да, при этом вызывается обработчик Справочник.ДоговорыКонтрагентов.ПередЗаписью().
И вылетает он из этой обработки именно на указанной мной строчке. |
|||
6
Fidel Ramirez
19.03.06
✎
15:10
|
Ошибка найдена.
Заключалась она вовсе не в приведении типов. ПС: А приведение типов все-таки глючит. |
|||
7
Волшебник
модератор
19.03.06
✎
15:12
|
(6) в чем заключалась ошибка?
|
|||
8
Fidel Ramirez
19.03.06
✎
15:16
|
Там владелец договора не находился правильно, как следствие - у него не было пометки "Покупатель".
Правда, истинную ошибку нашел только после того, как убрал скобочки в логическом выражении из (0). До тех пор он ругался на приведение типов. |
|||
9
Волшебник
модератор
19.03.06
✎
15:18
|
(8) Представляешь, у меня была мысль посоветовать тебе убрать скобки. Но я счёл этот вариант фантастическим и промолчал. Я в шоке.
|
|||
10
Fidel Ramirez
19.03.06
✎
15:24
|
(9)
Кстати, недавно эти глюки с приведением начались только. Код-то 1С-ный. Может в одном из обновлений такое напороли? Выражения типа: Сообщить(ЧислоА + " --- " + ЧислоБ); тоже теперь ругаются на невозможность приведения к типу "Число". Раньше у меня mfrjuj не было. |
|||
11
Fidel Ramirez
19.03.06
✎
15:25
|
+(10)
Такого |
|||
12
Волшебник
модератор
19.03.06
✎
15:26
|
(10) Это было всегда. Пользуйся функцией "Строка"
|
|||
13
Fidel Ramirez
19.03.06
✎
15:28
|
(12)
Пользуюсь. Но раньше он нормально выводил и так. |
|||
14
Волшебник
модератор
19.03.06
✎
15:28
|
(13) В 7.7
|
|||
15
Fidel Ramirez
19.03.06
✎
15:45
|
(14)
... Может быть. Мне приходится тов одной, то в другой работать, так что мог и спутать. Как насчет такого глюка: Преобразование значения к типу Булево не может быть выполнено "Если ДоговорПоставщикаСПокупателем.Владелец.Покупатель Тогда" Причем ДоговорПоставщикаСПокупателем - это тип СправочникОбъект.ДоговорыКонтрагента; Владелец - соответственно, СправочникСсылка.Контрагенты; поле Покупатель, естественно, Булево. |
|||
16
DES
19.03.06
✎
16:14
|
(15) да элементарно!
Если ДоговорПоставщикаСПокупателем - не определено , то шут знает что это TRUE или False! |
|||
17
Fidel Ramirez
19.03.06
✎
16:40
|
Так вроде же есть правила приведения типа Неопределено к основным типам, в ттом числе и к логическому... :аншуэ:
|
|||
18
Волшебник
модератор
19.03.06
✎
16:42
|
(17) Выражение
Булево(Неопределено) выдает ошибку "Преобразование значения к типу Булево не может быть выполнено" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |