Имя: Пароль:
1C
1С v8
Программно получить остатки только по группе счетов
0 lamme
 
09.02.15
14:16
1С83 БП

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

УПОРЯДОЧИТЬ ПО
    Счет
ИТОГИ
    СУММА(СуммаОстатокДт),
    СУММА(СуммаОстатокКт)
ПО
    Счет ТОЛЬКО ИЕРАРХИЯ

Получает данные типа
41
41,01
41,02
...


как можно получить остатки только по 41 - те по группе счетов ?
1 shuhard
 
09.02.15
14:16
(0) Родитель=Неопределено
2 lamme
 
09.02.15
14:17
пробовал
не хочет
3 Мыш
 
09.02.15
14:18
(2) Видать нет остатков по группам. Группируй сам. В запросе.
4 shuhard
 
09.02.15
14:19
(2) а ты вот это убери
ИТОГИ
    СУММА(СуммаОстатокДт),
    СУММА(СуммаОстатокКт)
ПО

    Счет ТОЛЬКО ИЕРАРХИЯ
5 lamme
 
09.02.15
14:20
остатки есть. стопудовов
6 lamme
 
09.02.15
14:21
и почему он там неопределно
если он там ПустаяСсылка() на план счетов
7 lamme
 
09.02.15
14:22
ВЫБРАТЬ
    ХозрасчетныйОстатки.Счет КАК Счет,
    ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
    ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт,
    ХозрасчетныйОстатки.Счет.Родитель КАК СчетРодитель
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКонец, Счет в (&ВыбСписокСчетов), , Организация = &ВыбрОрганизация) КАК ХозрасчетныйОстатки
ГДЕ
    ХозрасчетныйОстатки.Счет.Родитель = НЕОПРЕДЕЛЕНО
8 xenos
 
09.02.15
14:29
Задача сводится к класической: как у справочника получить родителя верхнего уровня.
9 lamme
 
09.02.15
14:34
8
пока легче не стало
10 shuhard
 
09.02.15
14:35
(9) в Москве дефицит дворников - ждём
11 lamme
 
09.02.15
14:47
как обычно .. стеб ...
12 lamme
 
09.02.15
14:47
и ничего дельного
13 xenos
 
09.02.15
14:56
(9) Таких вопросов полно:
v8: Как в запросе получить родителя верхнего уровня?

Для начала нужно получить в запросе список счетов и соответсвующий им родителя верхного уровня.
14 lamme
 
09.02.15
15:03
в (0) ВыбСписокСчетов - задается счет 41
те - это первый уровень.
15 xenos
 
09.02.15
15:03
Если брать самы примитивный вариант тогда так:



Выбрать  ЕстьNULL(ХозрасчетныйОстатки.Счет.родитель,"нету") = нету Тогда  ХозрасчетныйОстатки.Счет
Иначе Выбрать  ЕстьNULL(ХозрасчетныйОстатки.Счет.родитель.родитель,"нету") = нету Тогда  ХозрасчетныйОстатки.Счет.родитель
Иначе Выбрать  ЕстьNULL(ХозрасчетныйОстатки.Счет.родитель.родитель.родитель,"нету") = нету Тогда  ХозрасчетныйОстатки.Счет.родитель.родитель
Иначе Выбрать  ЕстьNULL(ХозрасчетныйОстатки.Счет.родитель.родитель.родитель.родитель,"нету") = нету Тогда  ХозрасчетныйОстатки.Счет.родитель.родитель.родитель
Иначе
Конец
Конец
Конец
Конец КАК Счет,
16 xenos
 
09.02.15
15:04
(14) Тогда все еще проще

&ВыбСписокСчетов КАК Счет,
17 lamme
 
09.02.15
15:11
короче
все проще

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