Имя: Пароль:
1C
 
Запрос. Левое соединение с нулевыми результатами.
0 antihacker
 
17.07.18
06:13
Всем привет !  Вот работающий запрос
ВЫБРАТЬ
СтруктураОрганизации.Организация,
0 КАК КолПодВедОрганизации

ПОМЕСТИТЬ ВТ_ПодВедОрганизации

ИЗ
РегистрСведений.СтруктураПодчиненностиОрганизации КАК СтруктураОрганизации
Где СтруктураОрганизации.ВедомственнаяОрганизация = &вхОрганизация
;

ВЫБРАТЬ
СтруктураОрганизации.ВедомственнаяОрганизация КАК Организация,
КОЛИЧЕСТВО(СтруктураОрганизации.Организация.Ссылка) КАК КолПодВедОрганизации

ПОМЕСТИТЬ ВТ_КолПодВедОрганизации

ИЗ

ВТ_ПодВедОрганизации КАК ВТ_ПодВедОрганизации
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтруктураПодчиненностиОрганизации КАК СтруктураОрганизации
ПО СтруктураОрганизации.ВедомственнаяОрганизация = ВТ_ПодВедОрганизации.Организация

СГРУППИРОВАТЬ ПО
СтруктураОрганизации.ВедомственнаяОрганизация


Когда есть результат, то возвращает такое знаяение

Организация1, 2
Организация2, 3

А когда нету

NULL, 0

А нужно

Организация1, 0

Как подправить ?
1 hhhh
 
17.07.18
06:18
ВЫБРАТЬ
ВТ_ПодВедОрганизации.Организация КАК Организация,
КОЛИЧЕСТВО(СтруктураОрганизации.Организация.Ссылка) КАК КолПодВедОрганизации
2 hhhh
 
17.07.18
06:19
(0) с вас 500 рублей
3 antihacker
 
17.07.18
06:22
Не пойдет. Надо сгруппировать по полю СтруктураОрганизации.ВедомственнаяОрганизация, что бы убрать повторяющиеся записи.
4 catena
 
17.07.18
06:27
ЕстьNULL(СтруктураОрганизации.ВедомственнаяОрганизация, ВТ_ПодВедОрганизации.Организация)
5 hhhh
 
17.07.18
06:29
(4) красиво, но полностью идентично (1)
6 catena
 
17.07.18
06:33
(5)Действительно))
А почему именно "Организация1, 0", а не "Организация2, 0"?
7 antihacker
 
17.07.18
06:41
А может и быть  "Организация3, 0"

Большое спасибо, работает. Причем "большое спасибо" у меня стоит 1000 рублей. Сдачу можешь оставить )
8 hhhh
 
17.07.18
06:56
(7) переставай задавать дебильные вопрсы, тогда может и по 2000 будем тебе отсыпать.
9 antihacker
 
17.07.18
07:14
Почему дебильные ?
10 antihacker
 
17.07.18
07:15
Или этот форум, только для профессионалов ?
11 Мимохожий Однако
 
17.07.18
07:16
(0) Поясни строчку
"0 КАК КолПодВедОрганизации"
12 Ботаник Гарден Меран
 
17.07.18
07:18
Кто таки поля придумывает, "ВедомственнаяОрганизация".
Что это означает?
13 Ботаник Гарден Меран
 
17.07.18
07:19
такие поля
14 antihacker
 
17.07.18
07:24
Кому пригодиться. Полезная функция. Есть регистр сведений. Там Измерения. Организация и ВедомственнаяОрганизация. Здесь храниться иерархические данные подчиненности. Не знаю как еще выразиться )

&НаСервере
Функция ДанныеТекущейВетки(вхОрганизация);    
    
    //ВозвратДанныеСКА = Новый Структура;
    
    СписокОрганизацииТЗ = Новый ТаблицаЗначений;
    СписокОрганизацииТЗ.Колонки.Добавить("Организация");
    СписокОрганизацииТЗ.Колонки.Добавить("КолПодВедомственных");
    
    ЗапросПодчиннные = Новый Запрос;
    ЗапросПодчиннные.Текст = "ВЫБРАТЬ
    | СтруктураОрганизации.Организация
    | ПОМЕСТИТЬ ВТ_ПодВедОрганизации
    | ИЗ
    | РегистрСведений.СтруктураПодчиненностиОрганизации КАК СтруктураОрганизации
    | Где СтруктураОрганизации.ВедомственнаяОрганизация = &вхОрганизация
    | ;
    | ВЫБРАТЬ
    | ВТ_ПодВедОрганизации.Организация КАК Организация,
    | КОЛИЧЕСТВО(СтруктураОрганизации.Организация.Ссылка) КАК КолПодВедОрганизации
    | ПОМЕСТИТЬ ВТ_КолПодВедОрганизации
    | ИЗ
    | ВТ_ПодВедОрганизации КАК ВТ_ПодВедОрганизации
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтруктураПодчиненностиОрганизации КАК СтруктураОрганизации
    | ПО СтруктураОрганизации.ВедомственнаяОрганизация = ВТ_ПодВедОрганизации.Организация
    | СГРУППИРОВАТЬ ПО
    | ВТ_ПодВедОрганизации.Организация
    |;
    | ВЫБРАТЬ
    | ВТ_КолПодВедОрганизации.Организация КАК Организация,
    | ВТ_КолПодВедОрганизации.КолПодВедОрганизации КАК КолПодВедОрганизации
    | ИЗ  ВТ_КолПодВедОрганизации";

    ЗапросПодчиннные.УстановитьПараметр("вхОрганизация",вхОрганизация);
    
    РезЗапросПодчиннные = ЗапросПодчиннные.Выполнить().Выбрать();

    Пока РезЗапросПодчиннные.Следующий() Цикл
        
         НоваяСтрока = СписокОрганизацииТЗ.Добавить();
         НоваяСтрока.Организация = РезЗапросПодчиннные.Организация;
         НоваяСтрока.КолПодВедомственных = РезЗапросПодчиннные.КолПодВедОрганизации;        
        
    КонецЦикла;    
    
    возврат СписокОрганизацииТЗ;
    
КонецФункции
15 antihacker
 
17.07.18
07:28
когда начинаешь рисовать дерево значении, то в зависимости от значения КолПодВедомственных . можно будет понять, нужно ли дальше создавать ветку или это конец текущей иерархии. Если нет подведомственных организации, то зачем дальше копать. Типа того.