Имя: Пароль:
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
когда начинаешь рисовать дерево значении, то в зависимости от значения КолПодВедомственных . можно будет понять, нужно ли дальше создавать ветку или это конец текущей иерархии. Если нет подведомственных организации, то зачем дальше копать. Типа того.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn