v8: Представление булевого значения #674102


#0 by Stim
Передаю параметр в функцию, типа ВыполнитьМойЗапрос(Истина) .. ГДЕ Какое-то условие И "+Параметр +" остальная часть запроса"; Несмотря на то, что передается Истина и отладчик показывает Параметр как тип булево значение Истина - в тексте запроса условие трансформируется в ГДЕ Какое-то условие И Да Соответственно возникает ошибка выполнения запроса. Как быть?
#1 by Wobland
&Параметр
#2 by Wobland
двоечник
#3 by Wobland
это прекрасно!
#4 by Stim
Мда. А постарше есть кто-нибудь дома?
#5 by Поросенок Петр
"Как быть?" - впредь не копрокодить.
#6 by Wobland
вызывай взрослых
#7 by Stim
Или просто - почему в отладчике Строка(Истина) в одной базе дает значение "Да", а в другой - "Истина" ?
#8 by Stim
+ платформа одна и та же
#9 by Stim
А, тьфу, режим совместимости
#10 by Stim
Всем спасибо)
#11 by Wobland
в книгу знаний!
#12 by Aprobator
однозначно ))) Вся причина в режиме совместимости 0)
#13 by Aprobator
открой для себя региональные установки информационной базы.
#14 by Stim
Сказка ложь да в ней намек.
#15 by Stim
это к сабжу не относится.
#16 by Aprobator
вообще такое ощущение, что у тебя параметр передается в запрос с использованием Формат(...).
#17 by Maxus43
как раз это к сабжу относится, а вот пост не относится
#18 by Maxus43
он не передаёт параметр вобще...
#19 by Stim
неа. НЕТ!
#20 by Aprobator
так, а я о чем? Происходит преобразование Параметр в строку согласно Региональным установкам информационной базы.
#21 by Aprobator
двоечник.
#22 by ДенисЧ
Тебе там что надо получить? Истина? Так и пиши " + ?(Параметр, "Истина", Ложь") + "
#23 by hhhh
вот так надо Функция ВыполнитьМойЗапрос(Параметр ="Истина")
#24 by Aprobator
а плин ссорь - не дочитал )
#25 by Maxus43
да вобще ставить в ГДЕ истина/ложь рядом с И - вобще смысла нет парктически... с ИЛИ бывает нужно)
#26 by Stim
Жертвы названий переменных. Параметр -это параметр функции, являющийся условием  в запросе. Да, можно его передавать как "Истина", но отчет делали еще в 40е годы, когда 8.2 небыло
#27 by Aprobator
да пофиг что. Тебе уже объяснили, что происходит с параметр булево, когда ты его со строкой плюсовать начинаешь. Совсем ослеп что ли?
#28 by Maxus43
у 8.2 по умолчанию представление только поменялось, измени на нужное в . Или мы не ищем лёгких путей?
#29 by acsent
Формат
#30 by Stim
+ и в те годы не было таких извращений с представлением булевных значений
#31 by Aprobator
в каменном веке компов вообще не было и что?
#32 by Aprobator
тем более что тут не извращение. То что кто то пытается сформировать текст запроса таким образом.
#33 by Aprobator
+32) имелось ввиду представление не извращение конечно же.
#34 by Stim
все правильно - не было компов, не надо было кодить. Или ты предлагаешь еще с 77 начинать использование функции 8.2?
#35 by Aprobator
я предлагаю думать говолой и изучать инструмент которым пользуешься.
#36 by Aprobator
+а не искать оправдания своему незнанию.
#37 by Stim
да-да. Примерно так же, как ты пользуешься русским языком)
#38 by Dethmont
Перевод типа Булево в строку в пределах одного контекста выполнения само по себе бред правильный ответ в
#39 by Aprobator
нормально я им пользуюсь. Когда быстро набираю иногда по клавишам промахиваюсь не более того.
#40 by Поросенок Петр
Вообще основная волна вскрытия копрокода прокатилась по мисте после изменения представления типов в 8.2. Что-то вы запоздали.
#41 by Dethmont
+100500
#42 by Ненавижу 1С
не ожидал от
#43 by Ненавижу 1С
думаешь в следующей версии они уберут НайтиПоРеквизиту?
#44 by Maxus43
конфигуратор уберут в следующей версии. Доступ туда будет только после теста IQ
#45 by Dethmont
Миста взорвется от наплыва =)))
#46 by Stim
ничего не бред. Бред - это когда Представление значения Истина равно Да
#47 by Dethmont
Зачем переводить БУЛЕВО в представление? Завтра ИСТИНА будет = "Угу", ЛОЖЬ = "Неа"
#48 by Поросенок Петр
НайтиПоРеквизиту очень годная функция для разовых произвольных алгоритмов. Написал, запустил и выбросил.
#49 by Maxus43
бред опираться на представление... помню овнокод при ситуации , по слову ДокументСсылка в представлении типа определяли док это или справочник
#50 by Stim
ну как минимум должно быть можно указывать в запросе ГДЕ Условие = Угу.
#51 by Ненавижу 1С
он еще и упирается, марш на дубовый!
#52 by Поросенок Петр
Теперь мы путаем литералы и представления. Уже бы тихо слил ветку...
#53 by Aprobator
убил - наповал просто.
#54 by Stim
хотелось бы более однозначной обратной связи между значением и представлением булевного значения.
#55 by ДенисЧ
Ты что, бухнул уже?
#56 by Maxus43
представление для пользователей
#57 by Dethmont
ГДЕ Представление(Условие) = "Угу"
#58 by Ненавижу 1С
такого не может быть, ибо эта функция не инъективна на множестве всевозможных значений (всех типов)
#59 by VitShvets
запрос... ГДЕ " + Формат(Истина, "БЛ=Ложь; БИ=Истина") + "... Но обычно делают
#60 by Stim
почему преобразование в строку любого значения дает тот же визуальный результат, кроме булева? В чем был смысл отделять булево от остальных значений?
#61 by VitShvets
Пользуй Формат(ПеременнаяТипаБулево, "БЛ=Ложь; БИ=Истина")
#62 by Serginio1
XmlСтрока(Истина)="true"
#63 by Maxus43
не только булево поменялось, представление ссылочных объектов тоже поменялось. Ну и разрабы 1с не могли и представиьт такого копрокода есно
#64 by Поросенок Петр
Таки ощущение что завтра суббота.
#65 by Stim
+ почему нельзя было по умолчанию оставить Строка(Истина)= Истина, а представление пользователю оставить в Формат ?
#66 by Ненавижу 1С
приведи пример "любого" такого значения
#67 by Stim
число, дата, любые ссылки
#68 by VitShvets
Потому что булево в SQL лежит как 0х00 и 0х01. Как показать пользователю это безобразие выбирает автор прикладного решения. В общем случае платформа 1С показывает булево в виде, понятном человеку далёкому от ИТ, т.е. "Нет" и "Да". Неправда. число лежит как число, т.е. например 1000. Но Строка(1000) в представлении 1С будет "1 000", что не равно "1000". Про ссылочные типы воопще молчу - в таблицах это фигня вида 0xA162BED7F0A1BFC747ABD582645C3435
#69 by Serginio1
Которые зависят от региональных настроек. XMLСтрока более дает однозначное представление
#70 by DS
Ни то, ни другое, ни третье...
#71 by VitShvets
* ->
#72 by Maxus43
ты программист или уборщица в конце концов? Работать надо с данными, а не с текстом
#73 by acsent
за код с использованием представления нужно по рукам бить битой
#74 by ДенисЧ
Ни число, ни дата - не являются жёстко фиксированными при выводе. А с 8.3 - и ссылки тоже.
#75 by Stim
да. И здесь кроется еще одна проблема - в преемственности. Использовать Строка(Истина) плохо, ок. Но в 8.1 оно работает и выдает однозначный результат "Истина". Не должно быть такого, чтобы при смене платформы того же семейства переставал работать функционал.
#76 by Maxus43
не должно быть быдлокода. в типовых же такого нет? О преемственности думают заранее
#77 by Starhan
во первых функциональность. во вторых функциональность работает, не работает твой код :)
#78 by Stim
типовые - не образец идеального кода. При всех ими принятых стандартов, ошибок у них много, и некоторые довольно критично к тиражируемым решениям
#79 by Starhan
в типовых тоже пришлось менять перед переходом :) Где то даже были рекомендации по проверке своего кода перед переходом с 8.1 на 8.2
#80 by Stim
*критичны
#81 by Maxus43
конечно типовые не идеальны, но такого откровенного надругательства над здравым смыслом там нет ну там функционал менялся... тоже лопатил УПП 1.2 всю, чтоб режим совместимости снять)
#82 by ДенисЧ
А кстати, подскажите, как статья на ИТС называется, про проверку при переходе с 81 на 82?
#83 by Wobland
по-моему, это физический дефект мозга
#84 by Wobland
+ особенно в сочетании с
#85 by EvgeniuXP
Да - да? - да-а-а-а :)
#86 by 1s_ivan
Stim, спасибо за тему, кому-то она наверняка сбережет драгоценное время. Wobland, Вам понравится если после каждого вашего поста или темы кто-то будет писать "иди в сад - учи букварь", "откуда ты такой умный вылез" и прочие уничижения. Я не понимаю причин, разводить тут неадекватный вопросу взрыв эмоций. Мне думается, этот форум нужен для общения и взаимопомощи коллег, а не как ролевая игра "тролли против всех". Давайте уважать друг друга. Извините что так много букв. Спасибо за внимание.
#87 by Maxus43
айайай , веди себя культурно
#88 by ДенисЧ
А ты кто такой, давайдосвиданье...
#89 by Wobland
автор фееричен в гуманитарности своего взгляда. никакого оправдания тут быть не может
#90 by Wobland
+ с одной оговоркой: автор считает себя программистом
#91 by 1s_ivan
Ребята, мужчины, господа, товарищи и проч. - вы нарушаете правила форума пункт 1 и 7. Цитирую: 1. Не ругайтесь и не оскорбляйте других. ... 7. Соблюдайте общепринятые нормы морали, права и сетевой этикет.
#93 by hhhh
ну просто все разбегутся отсюда. Вы ведь предлагаете скукотищу, мертвечину.
#95 by 1s_ivan
Вовсе нет, хотите драйва, можно порешать кто сильнее Чак Н. или 1с 6.0.  Вроде в теме форума, но есть пространство для беседы (кто помнит 1с6).
#96 by Stim
забей, чувак) это миста. укуси другого, пока не укусили тебя. соревнования по 22см без повторов
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С