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

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

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