Имя: Пароль:
1C
 
Чёрный запрос возращает пусто
0 Злопчинский
 
28.07.15
14:28
Оборотный регистр.
Делаем запрос
.
    ТекстЗапроса = "
    |Период с ДатаН;
    |
    |Заказ         = Регистр.Заказы.Заказ;
    |Номенклатура    = Регистр.Заказы.Номенклатура;
    |
    |КолЗаказано     = Регистр.Заказы.Заказано;
    |КолОтобрано     = Регистр.Заказы.Отобрано;
    |
    |Функция Заказано   = Сумма(КолЗаказано);
    |Функция НеОтобрано = Сумма(КолЗаказано-КолОтобрано);
    |
    |Группировка Номенклатура Без Групп;
    |Условие(Заказ = ВыбДок);
    |";
.
Получаем как и ожидали НЕПСТУЮ выборку, в данном конкретном случае:
заказано=164, неотобрано=164
.
Если убрать
|Функция Заказано...
.
то в ответ получаем пустую выборку.
.
это получается если в запросе нет "прямой" функции, вычисляющей ресурс, а есть функция вычисляющее "производное" от ресурсов - то получается бяка...?
1 ДенисЧ
 
28.07.15
14:29
Ты думал, что в сказке живёшь?
2 dk
 
28.07.15
14:29
а если период полностью указать?
3 Злопчинский
 
28.07.15
14:36
(1) ну.. как бы... ;-)
4 Злопчинский
 
28.07.15
14:37
(2) сомневаюсь что поможет
5 Ёпрст
 
28.07.15
14:38
(0) так всегда и было для любого запроса к регистрам, нет функций - нет выборки
6 Злопчинский
 
28.07.15
14:38
(2) не помогло ;-)
7 Злопчинский
 
28.07.15
14:39
(5) эээ! функция-то есть!
8 Ёпрст
 
28.07.15
14:40
(7) К ресурсам регистра ?
9 ОбычныйЧеловек
 
28.07.15
14:41
(0) Прощу прощения конечно за офф, но на кой черт так поганить русский язык а?
10 Ёпрст
 
28.07.15
14:41
ну и, давно бы писал на прямом запросе
11 Злопчинский
 
28.07.15
14:42
(8) Можно ли такую функцию считать функцией к ресурсам регистра (такая функция стоит):

|Функция НеОтобрано = Сумма(КолЗаказано-КолОтобрано);
12 Злопчинский
 
28.07.15
14:43
(10) вот как упрусб в ограничения по быстродействию - так сразу!
13 Злопчинский
 
28.07.15
14:43
(9) испокон веку запросы были в клюшках именно "чорными"
14 Ёпрст
 
28.07.15
14:47
(11) ну, видать нет, раз дает пустую выборку
15 dk
 
28.07.15
14:51
видимо Функция Заказано   = Сумма(КолЗаказано);
обрабатывает на сервере
-----------
Функция НеОтобрано = Сумма(КолЗаказано-КолОтобрано);
обрабатывает на клиенте
поэтому на клиент ничего и не возвращает
16 Злопчинский
 
28.07.15
15:17
(15) скорее не на сервере, а на "обращении к базе", а производные - видимо уже от полученного набора...
17 Злопчинский
 
28.07.15
15:18
будем тады считать что так оно и есть.. проконсультируюсь у знающего чела по движку... если не забуду - доложу.. но вряд ли кому это интересно.. вмерли клюшки
18 dk
 
28.07.15
15:20
живые клюшки перешли на 1с++
19 Злопчинский
 
28.07.15
15:45
(18) ну это где мегамного всего и производительность нужна. в "узких" местах у меня тоже парочка прямых есть.