Имя: Пароль:
1C
1С v8
Запросом выбрать нулевые остатки по регистру
0 Joshim
 
26.12.13
12:49
Код запроса:
ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Счет,
    |    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
    |    ХозрасчетныйОстатки.Субконто2 КАК ДоговорКонтрагента,
    |    ХозрасчетныйОстатки.Субконто3 КАК ДокументРасчетов,
    |    ХозрасчетныйОстатки.Валюта,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт, 0) КАК СуммаОстатокДт,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокКт, 0) КАК СуммаОстатокКт,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт, 0) КАК ВалютнаяСуммаОстатокДт,
    |    ЕСТЬNULL(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт, 0) КАК ВалютнаяСуммаОстатокКт
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ПарКонецПериода, Счет В (&ПарСписокСчетов), , ) КАК ХозрасчетныйОстатки
    |ГДЕ
    |    ХозрасчетныйОстатки.СуммаОстатокДт <> 0
    |    И ХозрасчетныйОстатки.СуммаОстатокКт <> 0

Результате запроса пустой, как выбрать нулевые остатки?
1 Joshim
 
26.12.13
12:50
ЕстьNull в условии ничего не меняет
2 ДенисЧ
 
26.12.13
12:50
откуда в запросе возьмутся нулевые остатки?
3 Joshim
 
26.12.13
12:52
да туплю, сам увидел И заменить на ИЛИ
4 Галахад
 
гуру
26.12.13
12:52
Красиво.
5 salvator
 
26.12.13
12:52
Еще Границу лучше использовать для даты остатков
6 Joshim
 
26.12.13
12:55
(3) нет не правильно, мне нужно получить остаток = 0 по счету 631
7 Joshim
 
26.12.13
12:56
(6) указанный в 0 запрос этого не делает, как получить нулевые остатки?
8 ИсчадиеADO
 
26.12.13
12:57
че за бред? зачем ЕСТЬNULL?
(3) условие вообще не нужно, остаток будет или на дебете или на кредите, в зависимости от вида счета
9 Joshim
 
26.12.13
12:59
будет, а цель получить остаток = 0. То есть обороты по ДТ счета = обороты по КТ счета
10 ИсчадиеADO
 
26.12.13
13:00
(0) вангую
"ВЫБРАТЬ
ВТ.Субконто1,
ВТ.Субконто2,
ВТ.Субконто3
ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт) КАК СуммаОстатокПоДебетовомуСчету
ИЗ ВТ
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрБухгалтерии.Хозрасчетный.Остатки(&ПарКонецПериода, Счет В (&ПарСписокСчетов), , ) КАК ХозрасчетныйОстатки
ПО
ВТ.Субконто1 = ХозрасчетныйОстатки.Субконто1
и ВТ.Субконто2 = ХозрасчетныйОстатки.Субконто2
и ВТ.Субконто3 = ХозрасчетныйОстатки.Субконто3
ГДЕ
ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт) КАК СуммаОстатокПоДебетовомуСчету = 0"
11 Пеппи
 
26.12.13
13:01
(9) Вот и возьми оборотный регистр а не остаточный
12 Feunoir
 
26.12.13
13:05
(11) Остатки по оборотному регистру? Круто! А оборотный регистр бухгалтерии вдвое круче!
13 ИсчадиеADO
 
26.12.13
13:07
(12) Пеппи консультант жеж, ей простительно :)
14 EugeniaK
 
26.12.13
13:10
(0) Виртуальные таблицы не возвращают строк с пустыми ресурсами.
15 Feunoir
 
26.12.13
13:13
Можно, конечно, попытаться извратиться через виртуальную таблицу ОстаткиИОбороты, наложив на неё условие Оборот<>0 И Остаток=0. Может и повезёт.
16 Joshim
 
26.12.13
13:16
(15) сделал по таблице оборотов условием (оборотДТ - оборотКт = 0)