Содержание:
1. Ошибка кэша
2. Исключение ошибки в настройках пользователя
3. Обновление типовой конфигурации 1С
4. Исправление ошибки Булево в конфигураторе 1С
5. Как самостоятельно найти ошибку преобразования значения к типу Булево?
Статья рассчитана как на пользователей-непрограммистов, так и на тех, кто имеет желание попробовать свои силы в решении этой проблемы. Для последних в этом вопросе важно иметь представление о режиме «Конфигуратор». Однако начать стоит с малого – того, что может сделать даже не знакомый с тонкостями программирования пользователь.
1. Ошибка кэша
В зависимости от режима работы программы 1С Предприятие 8 можно попробовать перезагрузить компьютер, на котором расположена база, если режим файловый, или сервер – если программа работает в серверном режиме.
Узнать, в каком режиме работает Ваша 1С можно из окна «О программе», как показано на скриншоте ниже.
Делается это из-за возможных ошибок кэша, которые, в свою очередь, могут стать причиной появления сообщения об ошибке преобразования значения к типу Булево.
Очистив таким нехитрым образом кэш, можно избежать последующих проблем.
2. Исключение ошибки в настройках пользователя
Если ошибка повторяется только у одного пользователя, есть вариант просто исключить ее в настройках пользователя 1С.
Откроем настройки карточки данного пользователя 1С и отыщем в списке форму, на которой возникает ошибка. Если таковая в списке имеется, просто очищаем ее, путем нажатия на кнопку «Очистить» (показано на рисунке ниже).
3. Обновление типовой конфигурации 1С
Если вы работаете с типовой конфигурацией системы 1С — лучшее решение — обновить программу до версии последнего релиза. Возможно, это решит проблему.
Если описанные выше способы не стали решением проблемы, рекомендую неподкованным в программировании пользователям остановиться на этом, и обратиться за помощью к более компетентным коллегам. Далее последует информация для тех, кто уже имел опыт работы в 1С в режиме «Конфигуратор».
4. Исправление ошибки Булево в Конфигураторе 1С
Значения типа Булево в 1С имеют два значения в коде программы: Истина и Ложь (Да и Нет). Значения данного типа возвращаются в качестве результата вычисления логических выражений. То есть, если преобразование значения к типу Булево не может быть выполнено в 1С – у вас неверно сформулировано это самое логическое выражение. Ниже рассмотрим простой пример.
У вас может быть и свое условие, но его можно упростить до такого варианта: есть некоторое значение (переменная), которая имеет тип «Булево», но по какой-то причине ей присвоено значение «Неопределено». Вот условия, при которых будет возникать ошибка преобразования значения к типу Булево в 1С, и при которых она не возникнет:
Еще пример: есть переменные А и Б. Необходимо проверить, есть ли Б в некотором Списке. Ниже приведена часть кода, при котором воспроизводится и закомментированное верное условие, и ошибка не возникает:
Преобразовать в тип «булево» можно только тип «число»:
Такая ошибка может возникнуть при использовании внешней обработки или печатной формы. Вот пример реальной проблемы и ее решения из сети:
При внесении остатков склада через внешнюю обработку пользователь не указал «Вид номенклатуры» и не поставил признака «Не определена». Т.е. она просто не была заполнена.
Далее были определенные действия (использование механизма подбора в складских типах документов), при которых возникала ошибка преобразования значения к типу Булево в 1С. То есть, програмно, без проверок была создана Номенклатура со значением вида NULL.
Решение существующей проблемы: заполнить значение – простыми словами – указать соответствующий вид номенклатуры.
5. Как самостоятельно найти ошибку преобразования значения к типу Булево?
Если Вам требуется самостоятельно найти ошибку преобразования значения к типу Булево, поиск следует начать, открыв программу в режиме Конфигуратора.
Далее включаем отладку по ошибке:
Открываем программу 1С Предприятие 8 в режиме отладки:
Проверяем, запущена ли отладка (пример на файловом варианте работы системы «1С:Предприятие 8»):
В подключенных предметах отладки должно быть две строки с типом «Сервер» и «Тонкий клиент» (исключение, если режим отладки запущен в Толстом клиенте, тогда строка будет только одна – с этим типом):
Проверили. Закрыли. Теперь повторяем то же действие в режиме 1С:Предприятия, при котором возникает ошибка. В данном примере это внешняя обработка. Для выявления ошибки она открыта как в режиме Конфигуратора, так и в режиме 1С:Предприятие:
После выполнения действий, при которых возникает ошибка преобразования значения к типу Булево, появится следующая картина:
Программа в режиме отладки остановилась на шаге момента выполнения строки кода с нашей ошибкой. Далее мы видим, что во внешней обработке неверно составлено условие (см. пример выше), которое необходимо заменить на верное.
Каждая отдельная ситуация требует частного рассмотрения. Если вы имеете базовые представления об отладке, умеете читать код и обладаете весомым запасом энтузиазма и любопытства, то найдете причину и примете решение по ее устранению. Однако делать это лучше на резервной копии базы, дабы обезопасить данные.
А если у Вас недостаточно опыта, и первые три пункта из статьи не помогли исправить ошибку Булево, рекомендую поберечь время и нервы: мы в кратчайшие сроки решим ваш вопрос!
Специалист компании ООО «Кодерлайн»
Антонова Юлия Сергеевна
04.07.14 — 10:54
Здравствуйте!
Бухгалтерия предприятия КОРП, редакция 2.0
При попытке записи элемента справочника выводится ошибка:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{Справочник.ПодразделенияОрганизаций.МодульОбъекта(39)}: Преобразование значения к типу Булево не может быть выполнено
Отладка показывает значение РодительПодразделения.ОбособленноеПодразделение = Null.
Пытаюсь групповой обработкой справочника установить все значения ОбособленноеПодразделение в Истина. Результат: какие-то элементы обработка устанавливает, а какие-то не может, как раз по причине невозможности преобразования.
Прошу помочь разрешить эту ситуацию. Спасибо.
1 — 04.07.14 — 10:58
РодительПодразделения.ОбособленноеПодразделение = NULL
а собственно РодительПодразделения тут кто?
2 — 04.07.14 — 11:03
Нул — это «нет объекта для значения». Зачем вы пытаетесь установить значение объекту, которого нет? Вангую, что РодительПодразделения — это <Подразделение>.Родитель, и выход идёт из верхнего элемента на Родителя, который пуст. Ну, а ему, пустому, не нужно значение какого-либо реквизита.
3 — 04.07.14 — 11:06
Родителем подразделения отображается группа элементов справочника.
Я ещё ошибся, я устанавливал значение обработкой не Истина и Ложь.
4 — 04.07.14 — 11:07
(0) ЭтоГруппа = ложь при отборе в групповой обработке
5 — 04.07.14 — 11:09
Я отбора в обработке не ставил. Но не может установить для всех элементов Ложь.
6 — 04.07.14 — 11:12
(2) Уточню что родитель не пустой, но значение ОбособленноеПодразделение = NULL
7 — 04.07.14 — 11:14
или прочитайте (4)или вызывайте СпециалистаПоГрупповымОбработкам
8 — 04.07.14 — 11:18
(7) Отбор установленный в обработке — на результаты обработки не влияет.
9 — 04.07.14 — 11:18
(7) В подразделениях нет групп, как таковых. Подчинение элементам.
10 — 04.07.14 — 11:20
(7) Я не понял что подразумевается под «СпециалистПоГрупповымОбработкам»?
11 — 04.07.14 — 11:22
(6) Если Родитель не Пустой, а значение реквизита Нул — это может быть (и то — вряд ли) лишь в случае, когда не выбран Вид Типов реквизита. Но для реквизита ОбособленноеПодразделение — это вряд ли подходит. Значит, Родитель всё-таки пуст. Ну, или, как вариант, используется релиз 8.3.5…
12 — 04.07.14 — 11:28
13 — 04.07.14 — 11:30
Исключите в отборе вручную все элементы верхнего уровня
14 — 04.07.14 — 11:30
(11) Релиз платформы 8.2.19.106
15 — 04.07.14 — 11:32
(12)А реквизит ОбособленноеПодразделение случайно не только для элементов?
16 — 04.07.14 — 11:34
В общем — ошибка на самих элементах, то есть самих Подразделениях.
17 — 04.07.14 — 11:35
(16) Какая ошибка?
18 — 04.07.14 — 11:36
(16) Использование какое выбрано у реквизита ОбособленноеПодразделение? В конфигураторе на закладке «Использование» у свойства реквизита.
19 — 04.07.14 — 11:37
(17) То есть сами элементы невозможно записать. У групп этого справочника реквизита ОбособленногоПодразделения нет.
20 — 04.07.14 — 11:38
(19) А я вот по (12) вижу, что ты пытаешься именно группе заполнить этот реквизит.
21 — 04.07.14 — 11:38
(18) Для элемента.
22 — 04.07.14 — 11:38
+(20)И прочитать у группы.
23 — 04.07.14 — 11:43
(20) Я записываю элементы справочника, так он выглядит до нажатия OK:
http://s019.radikal.ru/i601/1407/42/880e87753270.jpg
24 — 04.07.14 — 11:50
(23) Ошибка тут: {Справочник.ПодразделенияОрганизаций.МодульОбъекта(39)}: Преобразование значения к типу Булево не может быть выполнено
— тут и записывается нечно в Родителя, который, почему-то, Группа!
25 — 04.07.14 — 11:55
(23)Смотри внимательно картинку
http://s019.radikal.ru/i619/1407/0a/22cb9527641a.jpg
РодительПодразделения = «Капремонт 2012» — группа? Стопудово.
В коде на заднем плане смотрим:
Если РодительПодразделения.ОбособленноеПодразделение тогда
А нету у него ОбособленноеПодразделение, не может он проверить это Если.
26 — 04.07.14 — 12:00
Автор покажи уже полностью процедуру перед записью в модуле объекта этого справочника, Бухкорп же не у всех стоит. Наверняка там рекурсивная проверка по родителям вверх на эту галку, которая спотыкается на продителе верхнего уровня. лечить скорее всего строкой ОбменДанными.Загрузка = Истина;
27 — 04.07.14 — 12:10
(26) Ребят я так понял это у меня пошла ошибка после обновления конфигурации. Раньше в этом модуле некоторые строки у меня были закомментированы, сейчас не помню по какой причине. То есть я сейчас их снова закомментирую и пока вопрос будет снят. Всем спасибо.
28 — 04.07.14 — 12:24
(27) бред конечно, но попробуй тоже самое сделать из толстого клиента
29 — 04.07.14 — 12:35
(28) сторно. чукча не читатель)
ALev
30 — 15.07.14 — 11:21
Решил до конца разобраться с этим вопросом. И оказалось что проблема была в модернизации конфигурации. В типовой конфигурации справочник представлен в виде Иерархия элементов, а я его менял на Иерархия групп и элементов. Сейчас вернул состояние к исходному.
#1 Нравится0 11.03.2015 17:18:36 Почему-то при Перемещении, Списании и в Материалах (Наряды) при нажатии кнопки «Подбор» появляется ошибка «Преобразование значения к типу Булево не может быть выполнено»… Как можно убрать эту ошибку? |
|
#2 Нравится0 11.03.2015 17:18:59 У Вас последняя версия установлена? Вы обновились до версии 3.0.17.7? Автоматизация сегодня — Ваш успех завтра |
|
#3 Нравится0 12.03.2015 17:19:24 Да, установил последнюю версию, ошибка осталась. |
|
#4 Нравится0 12.03.2015 17:19:34 Кстати, сейчас заметил, в каких-то случаях ошибки нет, сейчас попробую найти закономерность. |
|
#5 Нравится0 12.03.2015 17:20:04 Добрый день! Не можем у себя воспроизвести описанную Вами ошибку. Сообщите, как с Вами можно связаться на idm@softonit.ru |
|
#6 Нравится0 12.03.2015 17:20:19 Нашел условие, при котором нет ошибки — когда место хранения пустое |
|
#7 Нравится0 12.03.2015 17:20:35 Ок, сейчас пришлю свои контактные данные. |
|
#8 Нравится0 13.03.2015 17:20:54 Спасибо службе техподдержки, ошибку быстро определили |
|
Виталий Барилко Администратор Сообщений: 934 |
#9 Нравится0 06.02.2017 16:48:46 Такая ошибка возникает тогда, когда в тексте модуля используется код:
Для того, чтобы уйти от ошибки используйте явное сравнение с переменной типа Булево:
Автоматизация сегодня — Ваш успех завтра |
||||
Ольга Несина Пользователь Сообщений: 1 |
#10 Нравится0 23.05.2017 18:16:51 ДД,У меня тоже такая ошибка,подскажите пожалуйста,что не так.В базе выдает ошибку при попытке редактировать номенклатуру и создать новую.А в конфигураторе пишет»{Справочник.ВидыНоменклатуры.МодульОбъекта(227)}: Значение не является значением объектного типа (Наименование) Прикрепленные файлы
Изменено: Ольга Несина — 23.05.2017 18:19:48 |
-
18.02.2020, 00:03
#1
Пришел за помощью
Ошибка: Преобразование значения к типу Булево
Полный код ошибки:
Преобразование значения к типу Булево не может быть выполнено
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(1412)}: Если НЕ Элементы.ТабличныйДокумен� �.ГоризонтальнаяПолосаПрок рутки Тогда
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(1314)}: ОбновлениеСтраницыЖурналП редварительнойЗаписиСерве р(ПараметрыПостроения, ОбновитьПанельДни, МассивСотрудниковИОбласте й);
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(1685)}: ОбновлениеСтраницыЖурналП редварительнойЗаписи(,Исти на);как исправить?
конф Хеликс Стом: Стоматологическая клиника, редакция 1.0 (1.0.25.2)
1С:Предприятие 8.3 (8.3.16.1030)Спасибо
-
18.02.2020, 00:36
#2
Просто юзер
Re: Ошибка: Преобразование значения к типу Булево
Табличный документ это не булево, не может принимать значение ложь или истина. Используйте «неопределено». Если Элементы . ТабличныйДокумент <> неопределено
-
24.08.2021, 11:01
#3
Гость форума
Re: Ошибка: Преобразование значения к типу Булево
Преобразование значения к типу Булево не может быть выполнено
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(1412)}: Если НЕ Элементы.ТабличныйДокумен� �.ГоризонтальнаяПолосаПрок рутки Тогда
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(1314)}: ОбновлениеСтраницыЖурналП редварительнойЗаписиСерве р(ПараметрыПостроения, ОбновитьПанельДни, МассивСотрудниковИОбласте й);
{Обработка.РабочийКалендар ь.Форма.Форма.Форма(215)}: ОбновлениеСтраницыЖурналП редварительнойЗаписи(,Исти на);Помогите исправить.
Установил конф Хеликс Стом: Стоматологическая клиника, редакция 1.0 (1.0.25.2)
Платформа: 1С:Предприятие 8.3 (8.3.19.1264)
Спасибо за помощь
1
2
3
4
5
Показывать по
10
20
40
сообщений
Новая тема
Ответить
BrainBug
Дата регистрации: 15.10.2012
Сообщений: 15
Добрый День, вдруг перестала запускаться 1с база. Выводит ошибку : {ОбщийМодуль.УправлениеПользователями.Модуль(75)}: Преобразование значения к типу Булево не может быть выполнено Если НЕ Константы.РазделятьЗадачиПоОрганизациям.Получить() Тогда <br> <br>Тестирование и исправление сделал. не помогло.
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
а что произошло до этого «вдруг»? Вырубилось электричество, обновили платформу или релиз?
BrainBug
Дата регистрации: 15.10.2012
Сообщений: 15
Ничего не происходило, обновление было но оно было неделю назад и после него все работало. После этой ошибки сделал еще одно обновление и релиза и платформы, ошибка осталась.
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
1. Т.е. ты сделал обновление, не делая предварительно архивной копии?<br>2. Поясни подробнее, в какой момент появляется сообщение. Лучше с картинкой<br>3. Платформа и релиз
BrainBug
Дата регистрации: 15.10.2012
Сообщений: 15
Я сделал обновление с архивной копией, после обновления все запустилось и я удалил архивную копию которую сделал перед обновлением. Это было неделю назад. Платформа была 8.2.15.319 релиз 2.5.54.1 ,в эту пятницу база еще работала, в понедельник запустилась с этой ошибкой. Ошибка появляется сразу при загрузке не позволяя с ней работать там три варианта перезапустить, конфигуратор, подробно.
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
ну попробуй ещё chdbfl запустить, в каталоге BIN платформы должна лежать<br>А за то, что сразу же копии архивные удаляешь, я б тебя по рукам палкой!
BrainBug
Дата регистрации: 15.10.2012
Сообщений: 15
За что по рукам? копия при обновлении делается чтобы подстраховаться по время обновления. Если все прошло успешно то такая копия уже не нужна. chdbfl запустил тоже не помогло (.
Sh_S
Дата регистрации: 02.03.2007
Сообщений: 7730
а стандартно дневные/недельные архивы не делаете?
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
по правилам копия делается до обновления ( для подстраховки) и после обновления. И их (обе) не трогают. <br>У меня советы закончились, может, кто более опытный подключится
Тэра
Дата регистрации: 25.12.2008
Сообщений: 22390
кстати, конфигурация на замочке?