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