Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

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

Преобразование значения к типу Булево не может быть выполнено
Я
   Ilnazio
 
11.08.21 - 10:43
Доброго времени суток. Прошу помощи

Функция ПолучитьВсеДанныеДобавитьВЗапросНезависимыйРегистр(ОбъектМетаданных, ИмяТаблицы, ИмяРеквизита, ТипРеквизита)        
    
    Текст =         "ВЫБРАТЬ
            |    *
            |ИЗ
            |    "  ИмяТаблицы  "
            |ГДЕ " + ДобавитьУсловия(ИмяРеквизита, ТипРеквизита) И "Об." + ИмяРеквизита + "= &БитаяСсылка" ;
        
КонецФункции

Если выделить последнюю строку запроса и попытаться вычислить выражение то выходит ошибка: "Преобразование значения к типу Булево не может быть выполнено"
   ДенисЧ
 
1 - 11.08.21 - 10:44
А зачем выделять и вычислять последнюю строку запроса?
   Ilnazio
 
2 - 11.08.21 - 10:46
(1) Сам запрос при попытке выполнения ошибку бьет как в топике, поэтому искал в какой именно строке с помощью shift+F9
   ДенисЧ
 
3 - 11.08.21 - 10:47
При попытке вычислить выражение
 |ГДЕ " + ДобавитьУсловия(ИмяРеквизита, ТипРеквизита) И "Об." + ИмяРеквизита + "= &БитаяСсылка" ;
1с, как честный человек, должна вылезти из монитора и оторвать руки.
   Ilnazio
 
4 - 11.08.21 - 10:48
(3) Хорошо что такое пока не представляется возможным
   ДенисЧ
 
5 - 11.08.21 - 10:49
(4) Значит, ты сам должен совершить это. Что ты пытаешься увидеть, вычисляя такую строку?
Или ты тоже из Таджикистана и урожай опробовать успел?
   Ilnazio
 
6 - 11.08.21 - 10:50
(5) Смысл вот этих фразеологизмов?)
при попытке выполнить запрос выходит такая ошибка
   acht
 
7 - 11.08.21 - 10:51
(6) Иди кавычки считай, программист
   ГдеСобакаЗарыта
 
8 - 11.08.21 - 10:51
А где в коде попытка выполнить запрос?
   Ilnazio
 
9 - 11.08.21 - 10:53
Это функция возвращающая текст запроса. Только запрос даже не доходит до выполнения, при построении текста запроса уже бьется ошибка
   Галахад
 
10 - 11.08.21 - 10:53
(7) + 1.
   Ilnazio
 
11 - 11.08.21 - 10:54
(6) не правильно сказал, не при попытке, а уже когда текст запроса собирается
   Kassern
 
12 - 11.08.21 - 10:55
(11) ну так посмотрите в отладке общий текст запроса и проверьте все ли правильно в плане синтекса
   oslokot
 
13 - 11.08.21 - 10:56
Ну а если вычислить ДобавитьУсловия(ИмяРеквизита, ТипРеквизита), отработает?
   Ilnazio
 
14 - 11.08.21 - 10:56
(12) Нет, не правильно, где - ищу и найти не могу. Я же поэтому обратился сюда, ребята
   Ilnazio
 
15 - 11.08.21 - 10:56
(13) да
   Kassern
 
16 - 11.08.21 - 10:57
(0) и почему у вас имя таблицы не параметром в запросе? Или вы где то стрзаменить используете?
   oslokot
 
17 - 11.08.21 - 10:58
Ну так перед И кавычку поставь
   ГдеСобакаЗарыта
 
18 - 11.08.21 - 10:58
(14) Вам к франчу нужно обратиться, или к фришнику. Сами не справитесь
   ДенисЧ
 
19 - 11.08.21 - 10:59
А посмотреть в функцию ДобавитьУсловия() и там на все Если и ИначеЕсли - где ты пытаешься привести справочник к булеву (например) - это уже уровень сеньора?
   Kassern
 
20 - 11.08.21 - 10:59
(15) у вас разве проверка модуля не ругается на:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(17,19)}: Ожидается символ ';'
            |    "<<?>>  ИмяТаблицы  " (Проверка: Сервер)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(17,33)}: Неопознанный оператор
            |    "  ИмяТаблицы  <<?>>" (Проверка: Сервер)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(17,19)}: Ожидается символ ';'
            |    "<<?>>  ИмяТаблицы  " (Проверка: Тонкий клиент)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(17,33)}: Неопознанный оператор
            |    "  ИмяТаблицы  <<?>>" (Проверка: Тонкий клиент)
   mistеr
 
21 - 11.08.21 - 11:00
(17) Точнее поставь И внутрь кавычек.
   Ilnazio
 
22 - 11.08.21 - 11:01
(19) ДенисЧ, я изменяю другую схожую функцию с такими же методами. И там, и в данной функции данная функция "ДобавитьУсловия" отрабатывает.
   Ilnazio
 
23 - 11.08.21 - 11:01
(20) нет
   ДенисЧ
 
24 - 11.08.21 - 11:03
(22) То, что в других условиях функция отрабатывает - не значит, что она у тебя будет работать в твоих условиях. Если выдаёт ошибку - значит, она есть.
Существует отладчик, там есть функция прохода по шагам. Если ты ей воспользуешься - сможешь (надеюсь) увидеть, в каком именно месте и на каких условиях появляется эта ошибка.
   Ilnazio
 
25 - 11.08.21 - 11:04
(21) Спасибо, ошибка с булево пропала, пойду курить дальше
   Ilnazio
 
26 - 11.08.21 - 11:04
(21) Еще раз спасибо большое
   Ilnazio
 
27 - 11.08.21 - 11:05
(24) В том числе спасибо что перестал агриться. Уверен ты тоже понимаешь что оно того не стоит
   ДенисЧ
 
28 - 11.08.21 - 11:06
(27) Нет, не понимаю. Если ошибка выскакивает - с ней нужно разобраться и устранить. Иначе она опять выскочит.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.