Имя: Пароль:
1C
1С v8
Конструктор запросов в режиме предприятия удаляет скобки в условии соединения
0 Uzyf
 
02.10.19
15:01
Изначально условие такое: Усл1 И (Усл2 ИЛИ Усл3), в конструкторе скобки не видны, если открыть условие и закрыть, то скобки пропадают и условие выглядит так Усл1 И Усл2 ИЛИ Усл3, то есть приоритет выполнения меняется. Я че то не понимаю или это действительно косяк конструктора?
1 vicof
 
02.10.19
15:03
"Конструктор запросов в режиме предприятия"
Напиши разработчику обработки
2 Жан Пердежон
 
02.10.19
16:38
какая версия платформы? в каком разделе условие? у меня вот ничего не удаляет
3 Cyberhawk
 
02.10.19
16:39
(1) Так конструктор от самой 1С пади, платформенный то бишь
4 Лефмихалыч
 
02.10.19
16:44
(0) одно из утверждений ложно:
1. Изначально условие такое: Усл1 И (Усл2 ИЛИ Усл3)
2. конструктор убирает скобки

я - за п1. Вероятнее всего, условие на самом деле Изначально условие такое: Усл1 ИЛИ (Усл2 И Усл3), т.к. в этом случае скобки действтиельно нах не сдались
5 Жан Пердежон
 
02.10.19
17:15
вангую, что шайтан из (4) прав
6 Uzyf
 
03.10.19
06:17
(4) (5) Да вроде не совсем дебил я, чтобы перепутать Усл1 И (Усл2 ИЛИ Усл3) с Усл1 ИЛИ (Усл2 И Усл3), чай сам писал это условие
7 Uzyf
 
03.10.19
06:34
(1) консоль запросов с диска ИТС
8 Uzyf
 
03.10.19
06:48
(4) В общем, в режиме конфигуратора условия в ГДЕ и в СОЕДИНЕНИИ пишутся в разных строках,
то есть каждое условие, которое через "И", в конструкторе стоит отдельной строкой,
а вот в режиме предприятия условия в СОЕДИНЕНИИ пишутся одной строкой, которую конструктор затем выделяет общими скобками, удаляя другие скобки
9 Uzyf
 
03.10.19
06:52
(4) а вот в условии ГДЕ конструктор наоборот сам определяет, что в строке есть "ИЛИ" и сам проставляет скобки
10 Лефмихалыч
 
03.10.19
08:27
(8) (9) это все туфта. В указанном тобой в (0) условии никакой конструктор сам скобки не уберет. Или условие реально не такое, или ты в скобках обсчитался.
11 Uzyf
 
03.10.19
08:29
(10) так проверь, делов на 5 секунд
12 Лефмихалыч
 
03.10.19
08:36
(11) уже лет 13 проверяю к ряду, не воспроизводится
13 Uzyf
 
03.10.19
08:40
(12) До:
ЛЕВОЕ СОЕДИНЕНИЕ Документ.УКЛЗ_ПутевойЛист КАК УКЛЗ_ПутевойЛист
        ПО УКЛЗ_ПутевойЛист.Автомобиль = ВТРазницаДат.ТранспортноеСредство
        И УКЛЗ_ПутевойЛист.Проведен = ИСТИНА
        И (РАЗНОСТЬДАТ(ВТРазницаДат.ДатаУстановки, УКЛЗ_ПутевойЛист.ДатаОтправки, СЕКУНДА) = ВТРазницаДат.РазностьДат
        ИЛИ РАЗНОСТЬДАТ(ВТРазницаДат.ДатаУстановки, УКЛЗ_ПутевойЛист.ДатаОтправки, СЕКУНДА) = -ВТРазницаДат.РазностьДат)
14 Uzyf
 
03.10.19
08:41
(12) После:
ЛЕВОЕ СОЕДИНЕНИЕ Документ.УКЛЗ_ПутевойЛист КАК УКЛЗ_ПутевойЛист
        ПО (УКЛЗ_ПутевойЛист.Автомобиль = ВТРазницаДат.ТранспортноеСредство
        И УКЛЗ_ПутевойЛист.Проведен = ИСТИНА
        И РАЗНОСТЬДАТ(ВТРазницаДат.ДатаУстановки, УКЛЗ_ПутевойЛист.ДатаОтправки, СЕКУНДА) = ВТРазницаДат.РазностьДат
        ИЛИ РАЗНОСТЬДАТ(ВТРазницаДат.ДатаУстановки, УКЛЗ_ПутевойЛист.ДатаОтправки, СЕКУНДА) = -ВТРазницаДат.РазностьДат)
15 Evgenchik
 
03.10.19
09:04
у меня ни в режиме предприятия, ни в режиме конфигуратора не возпроизводится такая ошибка. Скобки на ИЛИ остаются там, где я их поставил.
Платформа 8.3.12.1616
Если у тебя такое происходит только в режиме предприятия, а в конфигураторе нет - то смени консоль
16 Uzyf
 
03.10.19
09:08
(15) скинь свою консоль
17 Uzyf
 
03.10.19
09:12
(15) консоль с сайта ИТС точно также удаляет скобки
18 Uzyf
 
03.10.19
09:16
(15) так и конструктор запроса разве не часть платформы?
19 mkbusiness
 
03.10.19
09:33
(0) Попробуй условия местами поменять.
20 Rovan
 
гуру
03.10.19
09:37
21 Uzyf
 
03.10.19
09:40
(20)
Усл1 И (Усл2 ИЛИ Усл3)
и
(Реквизит1=Истина И Реквизит2=10) ИЛИ (Реквизит3=ЛОЖЬ)
- не одно и то же
22 Cyberhawk
 
03.10.19
09:43
(21) Багрепорт на в8 и затем тему на партнерке уже создал?
23 Uzyf
 
03.10.19
09:45
(22) Неа, ни разу такого не делал
24 Cyberhawk
 
03.10.19
09:45
(23) Если ИТС есть, то смело пиши
25 Evgenchik
 
03.10.19
10:01
давай почту, скину консольку
26 Uzyf
 
03.10.19
10:12
27 Evgenchik
 
03.10.19
10:14
лови. И скажи, в режиме конфигуратора такая же фигня?
28 Uzyf
 
03.10.19
10:19
(27) нет, я же писал, в конфигураторе конструктор немного другой, там все нормально
29 Uzyf
 
03.10.19
11:19
(27) ну в общем консоль тут не при чем, это конструктор запросов, а он в платформу встроен
30 catena
 
03.10.19
11:29
(29)Платформа-то какая?
31 Uzyf
 
03.10.19
11:30
(30) 8.3.13.1644
32 TormozIT
 
гуру
03.10.19
13:13
О каком конструкторе речь? Можно скриншот и пример реального текста запроса?
33 Uzyf
 
03.10.19
13:30
(32) Зачем реальный, и вымышленного хватит. Вставь этот запрос в конструктор и открой связь в отдельном окошке, а потом "ОК"
ВЫБРАТЬ
    "Текст1" КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "Текст2" КАК Поле2
ПОМЕСТИТЬ ВременнаяТаблица2
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВременнаяТаблица1.Поле1 КАК Поле1,
    ВременнаяТаблица2.Поле2 КАК Поле2
ИЗ
    ВременнаяТаблица1 КАК ВременнаяТаблица1
        ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 КАК ВременнаяТаблица2
        ПО &Условие1
            И (&Условие2 ИЛИ &Условие3)
34 pechkin
 
03.10.19
13:33
8.3.13.1865 в итоге так
...
ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 КАК ВременнаяТаблица2
ПО (&Условие1)
    И (&Условие2
        ИЛИ &Условие3)
35 Uzyf
 
03.10.19
13:35
(34) так это в конфигураторе, ты в пользовательском режиме открой
36 pechkin
 
03.10.19
13:35
да в тонком скобки убираются
37 pechkin
 
03.10.19
13:35
38 pechkin
 
03.10.19
13:42
в 8.3.15.1656 тоже убираются
39 Uzyf
 
03.10.19
13:45
(38) всё понятно, косепоры которые переделывали конструктор запросов в режим "Такси", накосячили
40 TormozIT
 
гуру
03.10.19
14:06
Понятно. Тонкий конструктор сырой. В нем еще много багов будет найдено.
41 Cyberhawk
 
03.10.19
14:10
(40) Пили уже свой тонкий, с блекджеком и ... )
42 Uzyf
 
03.10.19
14:21
(41) и скобками?
43 Cyberhawk
 
03.10.19
14:57
44 azt-yur
 
03.10.19
15:14
(37) попробовал у себя. да визуально скобки убираются, но если ничего не менять в условии соединения и нажать ОК, то скобки остаются, и если отредактировать условие и проставить скобки как надо, то они тоже сохраняются
8.3.13.1644
45 azt-yur
 
03.10.19
15:16
(44) подозреваю что это косяк отображения, если смотреть в конструкторе в конфигураторе, то эти условия разбиваются на 2 строки, в тонком подозреваю что внутри тоже разбивает на разные строки, но отображает все слитно
46 TormozIT
 
гуру
03.10.19
15:47
(41) Зачем? Есть 2 нормальных конструктора запросов для толстого клиента.
47 Uzyf
 
03.10.19
16:19
(45) не это не косяк отображения, если начать редактировать, то скобки пропадут, то есть надо каждый раз скобки проставлять
48 Uzyf
 
03.10.19
16:23
(45) и суть не в том как оно выглядит в конструкторе, а какой текст он возвращает. Я же потом этот текст запроса копирую для рабочего кода, он мне нужен со всеми скобками
49 Fish
 
03.10.19
16:25
(46) Толстый клиент уже никто почти не пользует.
50 Evgenchik
 
03.10.19
17:03
У меня все ОК на 8.3.12.1616
Конструктор в тонком клиенте, все скобочки остаются на месте и даже новые добавляются
...
        ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 КАК ВременнаяТаблица2
        ПО (&Условие1)
            И (&Условие2
                ИЛИ &Условие3)
51 TormozIT
 
гуру
03.10.19
17:05
(49) Конструктор схемы компоновки в клиентском приложении тоже значит не используют? Очень в этом сомневаюсь. Кругом разработчики используют толстый клиент.
52 pechkin
 
03.10.19
17:07
(48) придется отвыкать писать код в тонком клиенте
53 Cyberhawk
 
04.10.19
08:48
(46) Все меньше становится не то что каких-то локальных сценариев, но и вообще конфигураций, работоспособных в толстом клиенте. И речь, как это ни печально, о типовых.
Этот тренд вряд ли развернется в обратную сторону.
54 Fish
 
04.10.19
08:54
(51) Случаи, когда нужно использовать конструктор схемы компоновки в режиме предприятия настолько редки, что этим можно пренебречь.
Разве что ты разрабатываешь только отчеты, при этом не можешь сразу нормально в конфигураторе написать, и приходится отлаживать в режиме предприятия. Другого применения я не могу навскидку придумать.