Имя: Пароль:
1C
 
поле ВЫБОР КОГДА КОНЕЦ в условие
0 dvrk
 
23.03.22
07:01
Привет, есть поле в запросе
ВЫБОР
    КОГДА &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты
        ТОГДА РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ)
    ИНАЧЕ 0
КОНЕЦ

на вкладке "Условия" его нет, понятно
а как сделать, чтобы 0 в отчет не выводились? ну т.е. если 0, То эта строка не нужна
1 DEVIce
 
23.03.22
07:07
Чтобы записи вообще не выводились надо:
ГДЕ
   ВЫБОР
       КОГДА &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты
           ТОГДА РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ)
       ИНАЧЕ 0
   КОНЕЦ <> 0
2 dvrk
 
23.03.22
07:10
(1) записи с нулём?
3 Галахад
 
гуру
23.03.22
07:10
(1) Ну зачем так?
4 dvrk
 
23.03.22
07:12
(1) сделал, теперь нельзя это поле сделать в итогах среднее(поле)
5 DEVIce
 
23.03.22
07:13
(4) Сначала выбери в ВТ по условию, а потом из этого ВТ агрегируй как хочешь.
6 DEVIce
 
23.03.22
07:13
(3) Че вам опять не так? Опять в индекс не попало или че? :)))
7 Галахад
 
гуру
23.03.22
07:17
(6) Ну, это тоже. :-)

Но основное, вместо одной строки городить пять...
8 DEVIce
 
23.03.22
07:20
(7) Это не я горожу, это (0) городит. Я его проблему решил его же кодом. Всякие оптимизации и прочее пусть сам думает.
9 Галахад
 
гуру
23.03.22
07:27
(8) Ну, так-то да.
10 dvrk
 
23.03.22
07:34
(9) а как лучше?
11 Галахад
 
гуру
23.03.22
07:38
(10) Ну, в (0) уже есть условие внутри Когда. Почему бы его не использовать.

P.S. Надо только посмотреть типы дат.
12 dvrk
 
23.03.22
07:41
(11) ну я не совсем понимаю как его использовать, поэтому спросил..
13 Галахад
 
гуру
23.03.22
07:47
Условия

   ВЫБОР
       КОГДА &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты
           ТОГДА РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ)
       ИНАЧЕ 0
   КОНЕЦ <> 0

и

&ДатаОтчета > ВложенныйЗапрос.ДатаОплаты

почти равнозначны.
14 dvrk
 
23.03.22
11:21
(13) я не совсем понимаю, почему условие и событие(или как правильно назвать) почти равнозначны одному лишь условию, без события(или как правильно назвать)
15 Ёпрст
 
23.03.22
11:25
(14) Просто оставь условие Где &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты и всё.
16 dvrk
 
23.03.22
11:33
(15) а какая разница сделаю я поле РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ) и условие напишу или сделаю всё это в поле?
17 dvrk
 
23.03.22
11:33
(16) я не умничаю, я спрашиваю
18 Вафель
 
23.03.22
11:35
(0) вычисляемых полей и нет в секции ГДЕ/СГРУППИРОВАТЬ. только самому копипастить.
А вот для УПОРЯДОЧИТЬ почему то есть
19 ILM
 
модератор
23.03.22
11:36
ГДЕ
   &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты
20 Kassern
 
23.03.22
11:36
(0) а что мешает в условии просто написать &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты ? Тогда строчек с нулем не будет. В крайнем случае пихните ваш пакет во временную таблицу, и отберите типа ВашеПолеСнулем<>0
21 Kassern
 
23.03.22
11:37
(19) чутка опередил)
22 Ёпрст
 
23.03.22
11:37
(17) РАЗНОСТЬДАТ - это очень медленно
23 ILM
 
модератор
23.03.22
11:38
(21) Да)
24 Вафель
 
23.03.22
11:38
(22) так там уже вложенный запрос, поэтому сразу мимо индекса. А следовательно и разницы не будет
25 dvrk
 
23.03.22
11:40
(20) (22) не понял, если вы предлагаете мне сделать условие &ДатаОтчета > ВложенныйЗапрос.ДатаОплаты, то в поле мне что писать нужно? не РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ)? как по-другому дни считать?
26 Ёпрст
 
23.03.22
11:41
(25) тебе предлагают в условие не пихать разность дат, так понятнее ?
27 Ёпрст
 
23.03.22
11:41
че ты там в селект листе пихаешь, нам отсюда не видно
28 dvrk
 
23.03.22
11:43
(27) так РАЗНОСТЬДАТ в самом поле, а не во вкладке "Условия", если я правильно понял вас
29 dvrk
 
23.03.22
11:49
ну то есть сейчас я сделал поле, в котором написал РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ)
А в условиях сделал ВложенныйЗапрос.ДатаОплаты < ДатаОтчета
я правильно понял вас?
30 Ёпрст
 
23.03.22
11:50
Кто-то понимает автора ? Переведите, пожалуйста.
31 dvrk
 
23.03.22
11:53
(30) ну ёмаё, я добавил в конструкторе запроса ПОЛЕ, написал в нём РАЗНОСТЬДАТ(ВложенныйЗапрос.ДатаОплаты, &ДатаОтчета, ДЕНЬ), потом перешел на вкладку "Условия" и добавил там условие ВложенныйЗапрос.ДатаОплаты < ДатаОтчета
что непонятно то?
32 Галахад
 
гуру
23.03.22
12:01
(19) Ну не совсем. Если даты имею формат датавремя, можем получить такое:

01.01.2020:01 и 01.01.2020:02
33 dvrk
 
23.03.22
12:03
(32) "ДФ='дд.ММ.гггг'"
34 Галахад
 
гуру
23.03.22
12:06
(33) Тогда все гуд.
35 dvrk
 
23.03.22
12:12
(34) я правильно сделал или нет....? (30)
36 Галахад
 
гуру
23.03.22
12:27
(35) На 99%.
37 dvrk
 
23.03.22
12:29
(36) а 1% это что
38 Галахад
 
гуру
23.03.22
12:35
(37) Это сомнение, которое ведет к знанию.
39 dvrk
 
23.03.22
12:47
(38) всё равно некоторые с 0 выводятся
40 Галахад
 
гуру
23.03.22
12:49
Значит 33 дезинформация.
41 dvrk
 
23.03.22
12:52
(40) скрины надо?
42 Галахад
 
гуру
23.03.22
12:57
(41) Мне нет.
43 dvrk
 
23.03.22
13:13
(42) из-за КонецДня() всё..