Modber Сообщество
профессионалов по 1С

Если пишей "Преобразование значения к типу булево\число не может быть выполнено"



Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2, 1С:Предприятие 8.1
Конфигурации: Все конфигурации
Версия: Любая
2014-08-03
23052 
bigrunner
0  
Довольно часто возникающая ошибка «преобразование значения к типу булево\число не может быть выполнено» на самом деле практически всегда легко поддается устранению.

Первое, что нужно сделать, если вы работаете с типовой конфигурацией системы 1С — это обновить конфигурацию до последнего релиза. Возможно, это решит проблему.

Но в большинстве случаев появление такой ошибки говорит попытке присвоить числовой переменной не численное значение, в результате внутренний конвертер типов не может преобразовать переменную в число и возникает ошибка.

Если присваивание переменной происходит из тела выборки результата запроса, следует проверить наличие в выборке значений типа NULL. Это значение недопустимо использовать в операциях с числами.

Значение NULL появляется в запросе при использовании соединений.

К примеру:
Сумма=КолВо*Выборка.Цена;

В этом случае ошибка возможна, если в регистре сведений цены номенклатуры нет записи по этой номенклатуре.

Решить проблему можно таким способом: во время обращения к полю выборки необходимо добавить проверку на равенство значению типа NULL. Либо использовать функцию ЕСТЬNULL(x1,x2). Она проверяет на NULL x1, и если Значение NULL обнаружено функция возвращает x2, в обратно случае возвращает x1.

В  первом случае равенства Выражения1 NULL, Выражение1 будет заменено в результате запроса на заданное Выражение2.

Появление ошибки возможно в случае работы с Excel через COM соединение. Тогда необходимо проанализировать структуру книги Excel, на наличие значений NULL, и проверить, задан ли для искомых ячеек нужный тип данных. Либо значение ячейки присваивать числовой переменной через функцию преобразования типов "Число()" и после обращаться к ячейке внутри контейнера Попытка Исключение КонецПопытки.

В остальных случаях требуется работа с отладчиком для поиска ошибок, либо принудительное или непринудительное преобразование типов.



Бесплатная юридическая
консультация по телефону

8 (499) 350-80-26(Москва)
8 (812) 627-15-62(Спб)

звонок бесплатный

В центре внимания

Комментарии (0)