Имя: Пароль:
1C
1С v8
Поле ЗНАЧЕНИЕ(...) не добавляется в групповое
,
0 elian_hunter
 
10.11.15
09:58
В этом запросе поле "ВидДвижения" не хочет добавляться в групповое поле... Почему? При этом запрос работает нормально, но ведь не должен!

ВЫБРАТЬ
    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
    ПриходнаяНакладнаяТовары.Номенклатура,
    СУММА(ПриходнаяНакладнаяТовары.Количество) КАК Количество,
    ПриходнаяНакладнаяТовары.Ссылка.Дата КАК Период
ИЗ
    Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
ГДЕ
    ПриходнаяНакладнаяТовары.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
    ПриходнаяНакладнаяТовары.Номенклатура,
    ПриходнаяНакладнаяТовары.Ссылка.Дата
1 Ненавижу 1С
 
гуру
10.11.15
09:59
потому что это константа
2 XLife
 
10.11.15
09:59
патамуштаканстанта
3 XLife
 
10.11.15
09:59
(1) сволочь!))
4 Ненавижу 1С
 
гуру
10.11.15
10:00
(3) NULL тебе поперек рогов!
5 Timon1405
 
10.11.15
10:01
(1) Разве это не системное перечисление?
6 Ненавижу 1С
 
гуру
10.11.15
10:03
(5) значение системного перечисления, то есть константа (в обычном понимании константы)
7 elian_hunter
 
10.11.15
10:03
Какая разница что это... константа или перечисление? Все поля должны быть либо в групповых, либо под агрегатной функцией... разве нет?
8 XLife
 
10.11.15
10:03
(5) оно... но в пределах запроса в (0) - неизменное значение, т.е. константа
9 elian_hunter
 
10.11.15
10:04
(8) Что это за правило такое? ОНО прежде всего есть ПОЛЕ ЗАПРОСА, а значит должно добавляться в групповые...
10 Ненавижу 1С
 
гуру
10.11.15
10:05
(8) тут достаточно в пределах группировки
11 elian_hunter
 
10.11.15
10:05
Откуда вообще взялось такое правило, что константы (или что там еще) нельзя добавлять в групповые поля запроса?
12 Гёдза
 
10.11.15
10:06
(7) Откуда такая инфа, что ВСЕ?
13 Ненавижу 1С
 
гуру
10.11.15
10:08
(7)(9) не совсем так, зацени

ВЫБРАТЬ
    ЗаказПокупателяТовары.Ссылка,
    СУММА(ЗаказПокупателяТовары.Сумма) / ЗаказПокупателяТовары.Ссылка.СуммаДокумента КАК Поле1
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ГДЕ
    ЗаказПокупателяТовары.Ссылка.СуммаДокумента <> 0

СГРУППИРОВАТЬ ПО
    ЗаказПокупателяТовары.Ссылка
14 Ненавижу 1С
 
гуру
10.11.15
10:08
(11) можно добавлять, но бесполезно
15 XLife
 
10.11.15
10:08
(0) попробуй и подумай...

выбор
когда СУММА(ПриходнаяНакладнаяТовары.Количество) = 1 // или другое условие
тогда ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
иначе ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
конец
16 ДенисЧ
 
10.11.15
10:09
Всё добавляется
http://pics.rsh.ru/img/que_spcd2pqh.png
17 XLife
 
10.11.15
10:10
(16) гуру блокнота))
18 Timon1405
 
10.11.15
10:11
тогда почему работает
ВЫБРАТЬ
    "аа" КАК АА,
    Константы.ВалютаРегламентированногоУчета
ИЗ
    Константы КАК Константы

СГРУППИРОВАТЬ ПО
    Константы.ВалютаРегламентированногоУчета
19 elian_hunter
 
10.11.15
10:11
(16) Конструктором запроса не добавляется!
20 Ненавижу 1С
 
гуру
10.11.15
10:12
(18) а не должно?
21 ДенисЧ
 
10.11.15
10:12
(19) А зачем им пользоваться? Ты не умеешь руками делать запросы?
22 Ненавижу 1С
 
гуру
10.11.15
10:12
(19) тебя это беспокоит? Новопасит!
23 elian_hunter
 
10.11.15
10:12
(22) Да... меня это беспокоит...
24 Ненавижу 1С
 
гуру
10.11.15
10:14
(23) ты лучше скажи, зачем придумали пустые ссылки и неопределено, когда есть NULL?
25 ДенисЧ
 
10.11.15
10:14
(23) Конструктор запросов не нужен от слова СОВСЕМ...
26 ДенисЧ
 
10.11.15
10:15
(24) Из NULL ты не сможешь вызвать методы объекта...
27 cw014
 
10.11.15
10:15
ВЫБРАТЬ 1, СУММА(1)
Без группировки
ВЫБРАТЬ СУММА(1), СУММА(1), 5
Опять же без группировки
28 Ненавижу 1С
 
гуру
10.11.15
10:16
(26) ага, а из Неопределено могу
29 Ненавижу 1С
 
гуру
10.11.15
10:17
+(28) но даже не в этом дело, и не нужно оттуда ничего вызывать, если там ничего нет
30 elian_hunter
 
10.11.15
10:18
что то вы съехали от темы...
31 XLife
 
10.11.15
10:18
(29) смирись))
32 Ненавижу 1С
 
гуру
10.11.15
10:19
(30) потому что тема неинтересная
(31) сам-смирись )))
33 aleks_default
 
10.11.15
10:19
(о) Если знать в каком порядке выполняются секции запроса, то такого вопроса не возникает.
Сначала выполняется СГРУППРИРОВАТЬ, а потом ВЫБРАТЬ
34 XLife
 
10.11.15
10:19
(30) ответь на вопрос: зачем поле добавлять в группировку, если от него группировка не зависит?
35 cw014
 
10.11.15
10:19
(30) Прими это за дар божий и молись ему по ночам. Больше глупых вопросов не задавай
36 cw014
 
10.11.15
10:20
И в (0) тебе ответ: потому что это бесплатно
37 Ненавижу 1С
 
гуру
10.11.15
10:21
(33) SQL язык декларативный и не описывает порядок действий
38 ДенисЧ
 
10.11.15
10:22
(37) что, правда?
И ГДЕ vs ИМЕЮЩИЕ - тоже не имеют строго порядка выполнения?
Что-то новенькое в этом мире происходит...
39 Ненавижу 1С
 
гуру
10.11.15
10:25
(38) формально да, не имеют
40 ДенисЧ
 
10.11.15
10:26
(39) You're not hired. Next please!
41 Ненавижу 1С
 
гуру
10.11.15
10:31
(40) ну смотри, допустим ты написал

ИМЕЮЩИЕ СУММА(Нечто)=NULL

и вот умный процессор сразу выдаст пустую выборку, и не будет ничего выполнять, так-то
42 Гёдза
 
10.11.15
10:38
(33) похоже ты ни разу не видел план выполнения запроса
43 elian_hunter
 
10.11.15
10:39
Разница между пустой ссылкой и Неопределено в том, что значение типа пустой ссылки говорит о том, что значение не инициализированно, но это возможно сделать. А значение Неопределено говорит о том, что инициализация невозможна.
44 XLife
 
10.11.15
10:41
(43) незаполненный реквизит составного типа имеет значение Неопределено... его нельзя "инициализировать"?
45 VikingKosmo
 
10.11.15
10:42
Неопределено это полет больной фантазии создателей 1Са, у которого нет аналогов
46 elian_hunter
 
10.11.15
10:43
(44) пока не определён тип - нельзя
47 Горогуля
 
10.11.15
10:44
(46) Неопределено имеет вполне себе определённый тип: Неопределено
48 elian_hunter
 
10.11.15
10:45
(45) Хорошо бы у всех была настолько "больная" фантазия, которая позволяла бы создавать лидеров в своей области бизнеса.
49 cw014
 
10.11.15
10:47
(41) ИМЕЮЩИЕ СУММА(Нечто) ЕСТЬ NULL
50 VikingKosmo
 
10.11.15
10:50
(43) лидеров при полном отсутствии аналогов и конкурентов?
51 aleks_default
 
10.11.15
10:54
(44)ты ошибаешься, и план выполнения запроса тут нипричем
52 elian_hunter
 
10.11.15
10:54
(50) Ну рискни создать конкуренцию... кто тебе мешает? У тебя ведь фантазия здоровая, ты легко их превзойдешь!
53 VikingKosmo
 
10.11.15
10:55
(52) нафейхоа мне конкурировать с 1С?
54 Ненавижу 1С
 
гуру
10.11.15
11:06
(43) и для чего такая ерунда?
в мире pure sql без этого прекрасно живут
55 ДенисЧ
 
10.11.15
11:07
(54) А ты живи не в мире чистого скуля, а в мире объектныъ языков.
56 Ненавижу 1С
 
гуру
10.11.15
11:08
(55) 1С до объектных еще далеко
57 mxs089
 
10.11.15
11:09
потому что это константа
58 Ненавижу 1С
 
гуру
10.11.15
11:09
(57) а ты красаучег
59 ДенисЧ
 
10.11.15
11:12
(56) Не путай объектные и объектно-ориентированные.е
60 Ненавижу 1С
 
гуру
10.11.15
11:12
(59) ну и чего объектного научилась 1С делать? Через точку писать, всё?
61 Ненавижу 1С
 
гуру
10.11.15
11:13
+(60) и в каком языке для каждого типа сущности есть свое "пустое значение"
62 ДенисЧ
 
10.11.15
11:13
(60) Статические методы, например.
Уже зайчатки оверлоадинга и наследования есть
63 Ненавижу 1С
 
гуру
10.11.15
11:14
(62) статические методы, зачатки... ржу и плачу
64 ДенисЧ
 
10.11.15
11:14
Да и инкапсуляция есть
65 Ненавижу 1С
 
гуру
10.11.15
11:14
(64) убогая, ага
66 ДенисЧ
 
10.11.15
11:16
(63) (65) Но есть же, или будешь спорить?
67 Ненавижу 1С
 
гуру
10.11.15
11:20
(66) че то уже не торт, раньше мог на 200 постов
ты (61) пропустил
68 ДенисЧ
 
10.11.15
11:22
(67) Кто мог? Я? Я вообще не фанат оопизма.
69 rabbidX
 
10.11.15
11:37
(24) Чтоб разность множеств считать.
70 Ненавижу 1С
 
гуру
10.11.15
11:41
(69) я даже не вкурил