Имя: Пароль:
1C
1С v8
обработка запросов в консоли отчетов
0 BARS_2
 
13.11.13
15:06
хочу узнать для себя что я недопонимаю консоли отчетов
Есть 36-й с тремя субконто, на одном из субсчетов в есть на третьем субконто1 1 копейка в кредите, на третьем субконто2 1 копейка в дебите.

мне надо получить развернутое дебитовое сальдо, но третьи субконто не выводить, свернув развернутый результат до субконто1 и субконто2.

ниже два вариант текста запроса которые в консоли запросов дают одинаковый результат, а через консоль отчетов - разный.

вариант1

ВЫБРАТЬ
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, "пусто") КАК Субконто1,
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто2, "пусто") КАК Субконто2,
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто3, "пусто") КАК Субконто3,
    ХозрасчетныйОстатки.СуммаРазвернутыйОстатокДт КАК СуммаРазвернутыйОстаток,
    ХозрасчетныйОстатки.Счет
ПОМЕСТИТЬ ВТ_ДебиторыИсх
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(ДОБАВИТЬКДАТЕ(&ДатаАнализа, СЕКУНДА, 1), Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.СуммаРазвернутыйОстатокДт > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1,
    СУММА(ХозрасчетныйОстатки.СуммаРазвернутыйОстаток) КАК СуммаРазвернутыйОстаток,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет,
    ХозрасчетныйОстатки.Субконто3
ПОМЕСТИТЬ ВТ_Дебиторы_предв
ИЗ
    ВТ_ДебиторыИсх КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.СуммаРазвернутыйОстаток > 0

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет,
    ХозрасчетныйОстатки.Субконто3
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
    СУММА(ХозрасчетныйОстатки.СуммаРазвернутыйОстаток) КАК СуммаЗадолженности,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет
ИЗ
    ВТ_Дебиторы_предв КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.СуммаРазвернутыйОстаток > 0

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет

Вариант2

ВЫБРАТЬ
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто1, "пусто") КАК Субконто1,
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто2, "пусто") КАК Субконто2,
    ЕСТЬNULL(ХозрасчетныйОстатки.Субконто3, "пусто") КАК Субконто3,
    ХозрасчетныйОстатки.СуммаРазвернутыйОстатокДт КАК СуммаРазвернутыйОстаток,
    ХозрасчетныйОстатки.Счет
ПОМЕСТИТЬ ВТ_ДебиторыИсх
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(ДОБАВИТЬКДАТЕ(&ДатаАнализа, СЕКУНДА, 1), Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.СуммаРазвернутыйОстатокДт > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1,
    СУММА(ХозрасчетныйОстатки.СуммаРазвернутыйОстаток) КАК СуммаРазвернутыйОстаток,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет
ИЗ
    ВТ_ДебиторыИсх КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.СуммаРазвернутыйОстаток > 0

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Счет
1 BARS_2
 
13.11.13
15:08
сорри, вариант 2 оказался внутри кода
2 BARS_2
 
13.11.13
20:33
неужели некому нечего сказать? или я не вижу очевидных истин каких-то?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший