Вход | Регистрация


Запрос. Левое соединение с нулевыми результатами.

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

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

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

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

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

ИЗ

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

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


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

А когда нету

NULL, 0

А нужно

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

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

Большое спасибо, работает. Причем "большое спасибо" у меня стоит 1000 рублей. Сдачу можешь оставить )
   hhhh
 
8 - 17.07.18 - 06:56
(7) переставай задавать дебильные вопрсы, тогда может и по 2000 будем тебе отсыпать.
   antihacker
 
9 - 17.07.18 - 07:14
Почему дебильные ?
   antihacker
 
10 - 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
такие поля
   antihacker
 
14 - 17.07.18 - 07:24
Кому пригодиться. Полезная функция. Есть регистр сведений. Там Измерения. Организация и ВедомственнаяОрганизация. Здесь храниться иерархические данные подчиненности. Не знаю как еще выразиться )

&НаСервере
Функция ДанныеТекущейВетки(вхОрганизация);    
    
    //ВозвратДанныеСКА = Новый Структура;

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
Закон Брукера: Даже маленькая практика стоит большой теории.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует