Имя: Пароль:
1C
 
Как одни запросом выбрать все счета нижнего уровня?
0 worker-good
 
18.09.14
11:45
Как выбрать все счета нижнего уровня, на которых есть аналитика и по контрагентам и по договорам. Правильно ли решено? Если неправильно поправьте.

"ВЫБРАТЬ
|    Хозрасчетный.Ссылка
|ИЗ
|    ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
|        ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
|        ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
|ГДЕ
|    ХозрасчетныйВидыСубконто.ВидСубконто = &ВидСубконтоКонтрагенты
|    ИЛИ ХозрасчетныйВидыСубконто.ВидСубконто = &ВидСубконтоДоговора

|УПОРЯДОЧИТЬ ПО
|    Хозрасчетный.Код";
1 Крошка Ру
 
18.09.14
11:47
(0) 500 рублей
2 Ник второй
 
18.09.14
11:47
1. нужно выбрать все счета которые являются родителями
2. Получить счета кроме 1
3 Maxus43
 
18.09.14
11:48
ВЫБРАТЬ
    ХозрасчетныйВидыСубконто.Ссылка
ИЗ
    ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
ГДЕ
    ХозрасчетныйВидыСубконто.ВидСубконто В(&ВидСубконто)

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

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ХозрасчетныйВидыСубконто.Ссылка) = 2
4 Крошка Ру
 
18.09.14
11:52
(0) Но, вообще, молодец, не отчаиваешься)
Правильно ли решена тестовая задачка...
5 worker-good
 
18.09.14
11:55
(3) Так в моем примере вроде правильно? А что означает ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ХозрасчетныйВидыСубконто.Ссылка) = 2
6 Maxus43
 
18.09.14
11:57
(5) у тебя задача стоит "есть аналитика и по контрагентам и по договорам", своим ИЛИ ты как бы говоришь "есть аналитика ИЛИ по контрагентам ИЛИ по договорам"
7 Крошка Ру
 
18.09.14
11:59
8 worker-good
 
18.09.14
12:02
(6) "есть аналитика и по контрагентам и по договорам", я так понимаю означает  "есть аналитика по контрагентам ИЛИ по договорам"
9 Maxus43
 
18.09.14
12:02
(8) странно ты понимаешь...)
10 Рэйв
 
18.09.14
12:03
Группы в проводках не учавствуют если по правильному

ВЫБРАТЬ различные
|    Хозрасчетный.Ссылка
|ИЗ
|    ПланСчетов.Хозрасчетный
11 AugustBlack
 
18.09.14
12:03
ВЫБРАТЬ
    Хозрасчетный.Ссылка
ИЗ
    ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
        ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
        ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
ГДЕ
    (ХозрасчетныйВидыСубконто.ВидСубконто В(&ВидыСубконто))
    И НЕ Хозрасчетный.ЗапретитьИспользоватьВПроводках
    И НЕ Хозрасчетный.Родитель ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
    Хозрасчетный.Код ИЕРАРХИЯ
12 AugustBlack
 
18.09.14
12:05
(11) только вот именно нужны "самого" нижнего лвла? т.е
В 03сч есть сч.03.02 в нем сч.03.02.1, запрос должен выводить только 03.02.1 а не 03.02 и 03.02.1 ?
13 Рэйв
 
18.09.14
12:05
+(10) забыл
ГДЕ
НЕ Хозрасчетный.ЗапретитьИспользоватьВПроводках
14 Maxus43
 
18.09.14
12:05
есно в (3) добавить условие на ЗапретитьИспользоватьВПроводках
15 HEKPOH
 
18.09.14
12:15
(0) ТД Царицыно? :)
16 Peltzer
 
18.09.14
12:21
1. Самый нижний же уровень
2. Может быть счет, где не только Контрагенты и Договоры, а ещё и другие субсчета.
Проще сделать внутреннее соединение всех счетов, имеющих субконто Контрагенты со счетами, имеющими субконто Договоры, со счетами, не имеющими потомков
17 worker-good
 
18.09.14
14:24
(9) "ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ХозрасчетныйВидыСубконто.Ссылка) = 2"
Эта надпись означает что в запросе будут рассматриваться не более 2-х видов субконто?
18 worker-good
 
18.09.14
14:56
(0) Понял, если кому нужно разъясняю, по условию задача "И по контрагентам И по договорам" значит по условию задачи должно быть одновременно 2 субконто удовлетворяющее условию, а в моем примере выходит "по контрагентам ИЛИ по договорам", а это нужно чтобы из 2-х субконто хотя бы 1 чтобы был, а это неверно по условию задачи.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн