|
Упорядочивание по иерархии - что-то не понимаю | ☑ | ||
|---|---|---|---|---|
|
0
RomaH
naïve
18.07.12
✎
14:12
|
|ВЫБРАТЬ
| Исследования.Исследование КАК Исследование, | Исследования.Обязательно КАК Обязательно, | Исследования.Обязательно КАК Проходить |ПОМЕСТИТЬ втСписокИсследований |ИЗ | втТаблицаФакторов КАК втТаблицаФакторов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВредныеПроизводственныеФакторыИРаботы.Исследования КАК Исследования | ПО втТаблицаФакторов.ПроизводственныйФактор = Исследования.Ссылка |ГДЕ | ВЫБОР | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УВсех) | ТОГДА ИСТИНА | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УЖенщин) | ТОГДА &Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Женский) | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УМужчин) | ТОГДА &Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Мужской) | ИНАЧЕ ИСТИНА | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Исследования.Исследование, | Исследования.Обязательно, | Исследования.Обязательно |ИЗ | Справочник.ПриказыОбУтвержденииПеречнейВредныхФакторов.ОбщиеИсследования КАК Исследования |ГДЕ | Исследования.Ссылка = &Приказ | И ВЫБОР | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УВсех) | ТОГДА ИСТИНА | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УЖенщин) | ТОГДА &Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Женский) | КОГДА Исследования.ГендерныйПризнак = ЗНАЧЕНИЕ(Перечисление.ГендерностьДиагноза.УМужчин) | ТОГДА &Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Мужской) | ИНАЧЕ ИСТИНА | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втСписокИсследований.Исследование КАК Исследование, | МАКСИМУМ(втСписокИсследований.Обязательно) КАК Обязательно, | МАКСИМУМ(втСписокИсследований.Проходить) КАК Проходить |ИЗ | втСписокИсследований КАК втСписокИсследований | |СГРУППИРОВАТЬ ПО | втСписокИсследований.Исследование | |УПОРЯДОЧИТЬ ПО | Исследование ИЕРАРХИЯ, | втСписокИсследований.Исследование.РеквизитДопУпорядочивания"; Исследование - иерархический справочник (группы и элементы) думал что получу сортировку сначала по группам, потом по реквизиту доп упорядочивания но в итоге у меня между записями одной группы вклюниваются записи с пустым родителем что не так? |
|||
|
1
rbcvg
18.07.12
✎
14:16
|
А если попробовать Исследование.Наименование ИЕРАРХИЯ
|
|||
|
2
RomaH
naïve
18.07.12
✎
14:20
|
не, ну я конечно попробую - но наименование это же строка
|
|||
|
3
RomaH
naïve
18.07.12
✎
14:25
|
http://www.dropmocks.com/mBj8_z
вот такая фигня получается почему дерматовенеролог разделен с аллергологом в итоге?, как туда офтальмолог вообще вклинился? |
|||
|
4
RomaH
naïve
18.07.12
✎
14:26
|
(1) спасибо, понял
|
|||
|
5
RomaH
naïve
18.07.12
✎
14:33
|
но "исследования" все-равно не получаются
специалисты вроде встали как надо а вот справочник ииследований - че то врет |
|||
|
6
RomaH
naïve
18.07.12
✎
14:35
|
||||
|
7
RomaH
naïve
19.07.12
✎
08:22
|
ок,
может я что-то не понимаю ВЫБРАТЬ НаправлениеНаПрофОсмотрИсследования.Исследование ПОМЕСТИТЬ втСписокИсследований ИЗ Документ.НаправлениеНаПрофОсмотр.Исследования КАК НаправлениеНаПрофОсмотрИсследования ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втСписокИсследований.Исследование, втСписокИсследований.Исследование.РеквизитДопУпорядочивания ИЗ втСписокИсследований КАК втСписокИсследований ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИсследованияПрофОсмотров КАК ИсследованияПрофОсмотров ПО втСписокИсследований.Исследование = ИсследованияПрофОсмотров.Ссылка УПОРЯДОЧИТЬ ПО ИсследованияПрофОсмотров.РеквизитДопУпорядочивания ИЕРАРХИЯ должна выдавать список упорядоченый по РеквизитДопУпорядочивания, но если есть группа - то группа будет не разрывна и упорядочена внутри себя т.е. справочник: УЗИ (1) (группа) --УЗИ почек (8) --УЗИ щитовидки (96) Рентген (10) если исходная ТЧ содержит только элементы справочника (т.е. все кроме группы "УЗИ") запрос должен возвратить список УЗИ почек (8) УЗИ щитовидки (96) Рентген (10) или все -же УЗИ почек (8) Рентген (10) УЗИ щитовидки (96) ? |
|||
|
8
RomaH
naïve
19.07.12
✎
08:38
|
http://www.ops.org.ua/P6/OrderQ.php
Для нужного эффекта необходимо организовать левое внешнее соединение со справочником, как сделано в этом запросе: ВЫБРАТЬ Спр.Ссылка Товар, ДокСостав-Ссылка Документ ИЗ Справочник.Номенклатура КАК Спр ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.Состав КАК ДокСостав ПО ДокСостав.Номенклатура = Спр.Ссылка УПОРЯДОЧИТЬ ПО Спр.Наименование ИЕРАРХИЯ т.е. получу кучку строк с NULL и таблицу перед загрузкой надо будет обработать? ГДЕ в таком запросе тоже не помогает (вернее все портит) ВЫБРАТЬ НаправлениеНаПрофОсмотрИсследования.Исследование ПОМЕСТИТЬ втСписокИсследований ИЗ Документ.НаправлениеНаПрофОсмотр.Исследования КАК НаправлениеНаПрофОсмотрИсследования ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втСписокИсследований.Исследование, втСписокИсследований.Исследование.РеквизитДопУпорядочивания, ИсследованияПрофОсмотров.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания ИЗ Справочник.ИсследованияПрофОсмотров КАК ИсследованияПрофОсмотров ЛЕВОЕ СОЕДИНЕНИЕ втСписокИсследований КАК втСписокИсследований ПО (втСписокИсследований.Исследование = ИсследованияПрофОсмотров.Ссылка) //ГДЕ // НЕ втСписокИсследований.Исследование ЕСТЬ NULL УПОРЯДОЧИТЬ ПО РеквизитДопУпорядочивания ИЕРАРХИЯ |
|||
|
9
RomaH
naïve
19.07.12
✎
08:47
|
получается так:
|//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втСписокИсследованийСгруппированный.Исследование КАК Исследование, | втСписокИсследованийСгруппированный.Обязательно, | втСписокИсследованийСгруппированный.Проходить |ИЗ | Справочник.ИсследованияПрофОсмотров КАК ИсследованияПрофОсмотров | ЛЕВОЕ СОЕДИНЕНИЕ втСписокИсследованийСгруппированный КАК втСписокИсследованийСгруппированный | ПО втСписокИсследованийСгруппированный.Исследование = ИсследованияПрофОсмотров.Ссылка | |УПОРЯДОЧИТЬ ПО | ИсследованияПрофОсмотров.РеквизитДопУпорядочивания ИЕРАРХИЯ"; Результат = Запрос.ВыполнитьПакет(); ТаблицаИсследований = Результат[5].Выгрузить(); ПараметрыОтбора = Новый Структура("Исследование",NULL); МассивСтрокКУдалению = ТаблицаИсследований.НайтиСтроки(ПараметрыОтбора); Для Каждого СтрокаТЗ Из МассивСтрокКУдалению Цикл ТаблицаИсследований.Удалить(СтрокаТЗ); КонецЦикла; Объект.Исследования.Загрузить(ТаблицаИсследований); более оптимального способа нет? |
| Форум | Правила | Описание | Секции | Поиск |