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

Проекты и консалтинг. Внедрение и доработка. Сопровождение 1С. Обучение.

Содержание:

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С:Предприятие:

После выполнения действий, при которых возникает ошибка преобразования значения к типу Булево, появится следующая картина:

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

Каждая отдельная ситуация требует частного рассмотрения. Если вы имеете базовые представления об отладке, умеете читать код и обладаете весомым запасом энтузиазма и любопытства, то найдете причину и примете решение по ее устранению. Однако делать это лучше на резервной копии базы, дабы обезопасить данные.

А если у Вас недостаточно опыта, и первые три пункта из статьи не помогли исправить ошибку Булево, рекомендую поберечь время и нервы: мы в кратчайшие сроки решим ваш вопрос!

Специалист компании ООО «Кодерлайн»

Антонова Юлия Сергеевна

   ALev

04.07.14 — 10:54

Здравствуйте!

Бухгалтерия предприятия КОРП, редакция 2.0

При попытке записи элемента справочника выводится ошибка:

Ошибка при выполнении обработчика — ‘ПередЗаписью’

по причине:

{Справочник.ПодразделенияОрганизаций.МодульОбъекта(39)}: Преобразование значения к типу Булево не может быть выполнено

Отладка показывает значение РодительПодразделения.ОбособленноеПодразделение = Null.

Пытаюсь групповой обработкой справочника установить все значения ОбособленноеПодразделение в Истина. Результат: какие-то элементы обработка устанавливает, а какие-то не может, как раз по причине невозможности преобразования.

Прошу помочь разрешить эту ситуацию. Спасибо.

   catena

1 — 04.07.14 — 10:58

РодительПодразделения.ОбособленноеПодразделение = NULL

а собственно РодительПодразделения тут кто?

   bolobol

2 — 04.07.14 — 11:03

Нул — это «нет объекта для значения». Зачем вы пытаетесь установить значение объекту, которого нет? Вангую, что РодительПодразделения — это <Подразделение>.Родитель, и выход идёт из верхнего элемента на Родителя, который пуст. Ну, а ему, пустому, не нужно значение какого-либо реквизита.

   ALev

3 — 04.07.14 — 11:06

Родителем подразделения отображается группа элементов справочника.

Я ещё ошибся, я устанавливал значение обработкой не Истина и Ложь.

   Timon1405

4 — 04.07.14 — 11:07

(0) ЭтоГруппа = ложь при отборе в групповой обработке

   ALev

5 — 04.07.14 — 11:09

Я отбора в обработке не ставил. Но не может установить для всех элементов Ложь.

   ALev

6 — 04.07.14 — 11:12

(2) Уточню что родитель не пустой, но значение ОбособленноеПодразделение = NULL

   Timon1405

7 — 04.07.14 — 11:14

или прочитайте (4)или вызывайте СпециалистаПоГрупповымОбработкам

   ALev

8 — 04.07.14 — 11:18

(7) Отбор установленный в обработке — на результаты обработки не влияет.

   bolobol

9 — 04.07.14 — 11:18

(7) В подразделениях нет групп, как таковых. Подчинение элементам.

   ALev

10 — 04.07.14 — 11:20

(7) Я не понял что подразумевается под «СпециалистПоГрупповымОбработкам»?

   bolobol

11 — 04.07.14 — 11:22

(6) Если Родитель не Пустой, а значение реквизита Нул — это может быть (и то — вряд ли) лишь в случае, когда не выбран Вид Типов реквизита. Но для реквизита ОбособленноеПодразделение — это вряд ли подходит. Значит, Родитель всё-таки пуст. Ну, или, как вариант, используется релиз 8.3.5…

   ALev

12 — 04.07.14 — 11:28

   Timon1405

13 — 04.07.14 — 11:30

Исключите в отборе вручную все элементы верхнего уровня

   ALev

14 — 04.07.14 — 11:30

(11) Релиз платформы 8.2.19.106

   catena

15 — 04.07.14 — 11:32

(12)А реквизит ОбособленноеПодразделение случайно не только для элементов?

   ALev

16 — 04.07.14 — 11:34

В общем — ошибка на самих элементах, то есть самих Подразделениях.

   dj_serega

17 — 04.07.14 — 11:35

(16) Какая ошибка?

   dj_serega

18 — 04.07.14 — 11:36

(16) Использование какое выбрано у реквизита ОбособленноеПодразделение? В конфигураторе на закладке «Использование» у свойства реквизита.

   ALev

19 — 04.07.14 — 11:37

(17) То есть сами элементы невозможно записать. У групп этого справочника реквизита ОбособленногоПодразделения нет.

   catena

20 — 04.07.14 — 11:38

(19) А я вот по (12) вижу, что ты пытаешься именно группе заполнить этот реквизит.

   ALev

21 — 04.07.14 — 11:38

(18) Для элемента.

   catena

22 — 04.07.14 — 11:38

+(20)И прочитать у группы.

   ALev

23 — 04.07.14 — 11:43

(20) Я записываю элементы справочника, так он выглядит до нажатия OK:

http://s019.radikal.ru/i601/1407/42/880e87753270.jpg

   bolobol

24 — 04.07.14 — 11:50

(23) Ошибка тут: {Справочник.ПодразделенияОрганизаций.МодульОбъекта(39)}: Преобразование значения к типу Булево не может быть выполнено

— тут и записывается нечно в Родителя, который, почему-то, Группа!

   catena

25 — 04.07.14 — 11:55

(23)Смотри внимательно картинку

http://s019.radikal.ru/i619/1407/0a/22cb9527641a.jpg

РодительПодразделения = «Капремонт 2012» — группа? Стопудово.

В коде на заднем плане смотрим:

Если РодительПодразделения.ОбособленноеПодразделение тогда

А нету у него ОбособленноеПодразделение, не может он проверить это Если.

   Timon1405

26 — 04.07.14 — 12:00

Автор покажи уже полностью процедуру перед записью в модуле объекта этого справочника, Бухкорп же не у всех стоит. Наверняка там рекурсивная проверка по родителям вверх на эту галку, которая спотыкается на продителе верхнего уровня. лечить скорее всего строкой ОбменДанными.Загрузка = Истина;

   ALev

27 — 04.07.14 — 12:10

(26) Ребят я так понял это у меня пошла ошибка после обновления конфигурации. Раньше в этом модуле некоторые строки у меня были закомментированы, сейчас не помню по какой причине. То есть я сейчас их снова закомментирую и пока вопрос будет снят. Всем спасибо.

   samozvanec

28 — 04.07.14 — 12:24

(27) бред конечно, но попробуй тоже самое сделать из толстого клиента

   samozvanec

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
Регистрация: 10.01.2016

#9

Нравится0

06.02.2017 16:48:46

Такая ошибка возникает тогда, когда в тексте модуля используется код:

Код
Переменная = Истина;
...
Переменная = Неопределено;
...
Если Переменная Тогда // << тут ошибка, так как идет преобразование к булево, но в переменной Неопределено и генерируется эта ошибка.
  ...
КонецЕсли;

Для того, чтобы уйти от ошибки используйте явное сравнение с переменной типа Булево:

Код
Если Переменная = Истина Тогда
  ...
КонецЕсли;

Автоматизация сегодня — Ваш успех завтра

 

Ольга Несина

Пользователь

Сообщений: 1
Регистрация: 23.05.2017

#10

Нравится0

23.05.2017 18:16:51

ДД,У меня тоже такая ошибка,подскажите пожалуйста,что не так.В базе выдает ошибку при попытке редактировать номенклатуру и создать новую.А в конфигураторе пишет»{Справочник.ВидыНоменклатуры.МодульОбъекта(227)}: Значение не является значением объектного типа (Наименование)
ОбъектНабора.Наименование = Наименование;» 1С:Предприятие 8.3 (8.3.8.1652) Управление торговлей, редакция 11.1 (11.1.10.193)

Прикрепленные файлы

  • Безымянный.png (56.19 КБ)

Изменено: Ольга Несина23.05.2017 18:19:48

  1. 18.02.2020, 00:03


    #1

    neseforov вне форума


    Пришел за помощью


    Exclamation Ошибка: Преобразование значения к типу Булево

    Полный код ошибки:
    Преобразование значения к типу Булево не может быть выполнено
    {Обработка.РабочийКалендар ь.Форма.Форма.Форма(1412)}: Если НЕ Элементы.ТабличныйДокумен� �.ГоризонтальнаяПолосаПрок рутки Тогда
    {Обработка.РабочийКалендар ь.Форма.Форма.Форма(1314)}: ОбновлениеСтраницыЖурналП редварительнойЗаписиСерве р(ПараметрыПостроения, ОбновитьПанельДни, МассивСотрудниковИОбласте й);
    {Обработка.РабочийКалендар ь.Форма.Форма.Форма(1685)}: ОбновлениеСтраницыЖурналП редварительнойЗаписи(,Исти на);

    как исправить?

    конф Хеликс Стом: Стоматологическая клиника, редакция 1.0 (1.0.25.2)
    1С:Предприятие 8.3 (8.3.16.1030)

    Спасибо


  2. 18.02.2020, 00:36


    #2

    burluckoff вне форума


    Просто юзер


    По умолчанию Re: Ошибка: Преобразование значения к типу Булево

    Табличный документ это не булево, не может принимать значение ложь или истина. Используйте «неопределено». Если Элементы . ТабличныйДокумент <> неопределено


  3. 24.08.2021, 11:01


    #3

    Andrej1984 вне форума


    Гость форума


    По умолчанию 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

кстати, конфигурация на замочке?

Понравилась статья? Поделить с друзьями:
  • Пресная гречка как исправить
  • Преобладающее большинство лексическая ошибка
  • Пренебрежение к фактору времени считал основной ошибкой предшествующих экономистов
  • Премьер про ошибка компиляции фильма
  • Премьер про общая ошибка средства импорта