Имя: Пароль:
1C
1С v8
Помогите с запросом
0 боксер
 
01.09.15
17:45
туплю.Запрос в УТ 11. В толстом клиенте вроде так делал и работало
Надо выбрать не активных клиентов(партнеров) т.е. по которым нет оборотов или остатков за посл.несколько месяцев.
Не срабатывает последнее условие Где НЕ ...

ВЫБРАТЬ
    РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
    СУММА(РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
    СУММА(РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
    СУММА(РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход) КАК СуммаПриход,
    СУММА(РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход) КАК СуммаРасход
ПОМЕСТИТЬ тзАктивные
ИЗ
    РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(&д1, &ТекДата, , , ) КАК РасчетыСКлиентамиОстаткиИОбороты

СГРУППИРОВАТЬ ПО
    РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Партнер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Партнеры.Ссылка
ИЗ
    Справочник.Партнеры КАК Партнеры
ГДЕ
    НЕ Партнеры.Ссылка В
                (ВЫБРАТЬ
                    т.Партнер
                ИЗ
                    тзАктивные КАК т)
1 Брегорьян
 
01.09.15
17:46
продолжайте наблюдения
2 боксер
 
01.09.15
17:46
т.е. грубо всего партнеров в 2 раза больше чем активных(по первому запросу в пакете)
а ни показывает ни одного
3 yam
 
01.09.15
17:48
Ну правильно, у тебя ведь все партнеры со справочника попадут в активные, так?
Поэтому условие ГДЕ всех и срежет
4 Брегорьян
 
01.09.15
17:48
(2) это значит, что в первом запросе у тебя все партнёры
5 yam
 
01.09.15
17:49
используй левое соеденение и условие на есть null  в секции где
6 D3O
 
01.09.15
17:49
в активных добавь условие по функциям > 0
7 боксер
 
01.09.15
17:50
с левым соединением и условием на Null партнера из временной таблицы работает

(3) если НЕ убиру
то выводит всех активных, а мне их надо исключить
8 боксер
 
01.09.15
17:50
(4)нет, там половина
9 Михаил Козлов
 
01.09.15
17:51
Уберите начальный и конечный остатки из временной таблицы.
10 yam
 
01.09.15
17:52
(7) если работает, в чем вопрос?
11 боксер
 
01.09.15
17:52
(9)мне надо и остатки , если он есть то тоже активный
грешу на глюк платформы 8.3.5.1443
сделаю с лев.соединением
12 Cyberhawk
 
01.09.15
17:54
1. В результате первого запроса есть пустая ссылка или Null - проверь это.
2. Убери НЕ и убедись, что там не весь список, а только тех, кто в регистре (по твоим словам - в два раза меньше, чем число элементов справочника).
13 yam
 
01.09.15
17:54
(11) Нет никакого клюка.
Этот участок когда
Партнеры.Ссылка В
                (ВЫБРАТЬ
                    т.Партнер
                ИЗ
                    тзАктивные КАК т)
Всегда вернет истину.
С приставкой НЕ - ложь. Поэтому и результат пустой.
14 боксер
 
01.09.15
17:56
(12) 1 а кстати , мысль, щас проверю
15 боксер
 
01.09.15
17:59
(12)точно Null был. спасибо огромное бился долго
16 боксер
 
01.09.15
18:00
(13)не все работает и всегда работало так.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший