|
Запросом вытянуть не только данные по койкам, но и по номерам и по комнатам | ☑ | ||
---|---|---|---|---|
0
JuixyJes
22.08.19
✎
11:51
|
ВЫБРАТЬ
Койки.Владелец.Владелец.Ссылка КАК Номер, Койки.Владелец.Ссылка КАК Комната, Койки.Ссылка КАК Койка, ЗагруженностьНФ.ДатаЗаселения КАК ДатаЗаселения, ЗагруженностьНФ.ДатаВыезда КАК ДатаВыезда ИЗ Справочник.Койки КАК Койки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженностьНФ КАК ЗагруженностьНФ ПО Койки.Ссылка = ЗагруженностьНФ.КойкаПроживания УПОРЯДОЧИТЬ ПО Комната, Койка ИТОГИ ПО Номер, Комната, Койка |
|||
1
JuixyJes
22.08.19
✎
11:52
|
Проблема в том, что если есть записи, где заполнен только владелец(комната) или только ВладелецВладелец(Номер), они не попадут в результат запроса.
|
|||
2
JuixyJes
22.08.19
✎
11:54
|
||||
3
unenu
22.08.19
✎
11:56
|
||||
4
hhhh
22.08.19
✎
11:58
|
(1) попадут.
Только пиши по нормальному ВЫБРАТЬ Койки.Владелец.Владелец КАК Номер, Койки.Владелец КАК Комната, нахрена это дерьмо присобачиваешь? ".Ссылка" Выкинь, это дерьмо, от него куча бед. |
|||
5
gSha
22.08.19
✎
11:58
|
тут проблема такая - когда 1с сделало иерархию это расценивалось как достижение. А по факту любая иерархия это произвол того порядка который ее устанавливает ..
|
|||
6
JuixyJes
22.08.19
✎
11:58
|
(4) и как попадут?
|
|||
7
gSha
22.08.19
✎
12:00
|
Никак ты это не решишь. Допустим если у тебя есть этаж и комнаты , а койку поставили в коридоре, то тебе нужен признак того что запись имеет признак койки, что бы он отобразился , а у тебя этот признак скрыт иерархией неявно.
|
|||
8
hhhh
22.08.19
✎
12:00
|
(6) должны как пустые строчки если нет владельца
|
|||
9
gSha
22.08.19
✎
12:01
|
У меня такая же байда. Но у меня база без отчетов ) Но какая зарплата, такая и база)))
|
|||
10
hhhh
22.08.19
✎
12:01
|
(6) но ввобще-то ты чудишь. Если нет владельца, то ты ведь не можешь задать владелец-владельца. Как ты его определила?
|
|||
11
JuixyJes
22.08.19
✎
12:02
|
(4) это убрала ".Ссылка", но все же, у меня есть записи, где "загруженность" есть у Номера или Комнаты, в отчет не попадают. (2) вот тут есть результат запроса.
|
|||
12
JuixyJes
22.08.19
✎
12:03
|
У меня идет заполнение ДиаграммыГанта, используя сие творенье (запрос)
Процедура ПосмотретьНаСервере(ДГ) ДГ.Очистить(); ДиаграммаГанта = ДГ; ДиаграммаГанта.ОтображатьЛегенду = Ложь; ДиаграммаГанта.АвтоОпределениеПолногоИнтервала = Ложь; ДиаграммаГанта.УстановитьПолныйИнтервал(Отчет.Период.ДатаНачала,Отчет.Период.ДатаОкончания); Серия = ДиаграммаГанта.УстановитьСерию("Серия"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Койки.Владелец.Владелец.Ссылка КАК Номер, | Койки.Владелец.Ссылка КАК Комната, | Койки.Ссылка КАК Койка, | ЗагруженностьНФ.ДатаЗаселения КАК ДатаЗаселения, | ЗагруженностьНФ.ДатаВыезда КАК ДатаВыезда |ИЗ | Справочник.Койки КАК Койки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗагруженностьНФ КАК ЗагруженностьНФ | ПО Койки.Ссылка = ЗагруженностьНФ.КойкаПроживания | |УПОРЯДОЧИТЬ ПО | Комната, | Койка |ИТОГИ ПО | Номер, | Комната, | Койка"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаНомер = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНомер.Следующий() Цикл // Вставить обработку выборки ВыборкаНомер ТочкаНомер = ДиаграммаГанта.УстановитьТочку(ВыборкаНомер.Номер); ВыборкаКомната = ВыборкаНомер.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКомната.Следующий() Цикл Если ВыборкаКомната.ДатаЗаселения <> NULL и ВыборкаКомната.ДатаВыезда <> NULL Тогда Значение1 = ДиаграммаГанта.ПолучитьЗначение(ТочкаНомер,Серия); Интервал1 = Значение1.Добавить(); Интервал1.Начало = ВыборкаКомната.ДатаЗаселения; Интервал1.Конец = ВыборкаКомната.ДатаВыезда; Интервал1.Цвет = WebЦвета.ЦветМорскойВолны; КонецЕсли; ТочкаКомната = ТочкаНомер.Точки.Добавить(); ТочкаКомната.Значение = ВыборкаКомната.Комната; ТочкаКомната.Текст = ВыборкаКомната.Комната.Наименование; ВыборкаКойка = ВыборкаКомната.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКойка.Следующий() Цикл Если ВыборкаКойка.ДатаЗаселения <> NULL и ВыборкаКойка.ДатаВыезда <> NULL Тогда Значение1 = ДиаграммаГанта.ПолучитьЗначение(ТочкаНомер,Серия); Интервал1 = Значение1.Добавить(); Интервал1.Начало = ВыборкаКойка.ДатаЗаселения; Интервал1.Конец = ВыборкаКойка.ДатаВыезда; Интервал1.Цвет = WebЦвета.Бирюзовый; Значение2 = ДиаграммаГанта.ПолучитьЗначение(ТочкаКомната,Серия); Интервал2 = Значение2.Добавить(); Интервал2.Начало = ВыборкаКойка.ДатаЗаселения; Интервал2.Конец = ВыборкаКойка.ДатаВыезда; Интервал2.Цвет = WebЦвета.ЦветМорскойВолны; КонецЕсли; ТочкаКойка = ТочкаКомната.Точки.Добавить(); ТочкаКойка.Значение = ВыборкаКойка.Койка; ТочкаКойка.Текст = ВыборкаКойка.Койка.Наименование; ВыборкаДетальныеЗаписи = ВыборкаКойка.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи Если ВыборкаДетальныеЗаписи.ДатаЗаселения <> NULL и ВыборкаДетальныеЗаписи.ДатаВыезда <> NULL Тогда Значение1 = ДиаграммаГанта.ПолучитьЗначение(ТочкаНомер,Серия); Интервал1 = Значение1.Добавить(); Интервал1.Начало = ВыборкаДетальныеЗаписи.ДатаЗаселения; Интервал1.Конец = ВыборкаДетальныеЗаписи.ДатаВыезда; Интервал1.Цвет = WebЦвета.БледноБирюзовый; Значение2 = ДиаграммаГанта.ПолучитьЗначение(ТочкаКомната,Серия); Интервал2 = Значение2.Добавить(); Интервал2.Начало = ВыборкаДетальныеЗаписи.ДатаЗаселения; Интервал2.Конец = ВыборкаДетальныеЗаписи.ДатаВыезда; Интервал2.Цвет = WebЦвета.Бирюзовый; Значение3 = ДиаграммаГанта.ПолучитьЗначение(ТочкаКойка,Серия); Интервал3 = Значение3.Добавить(); Интервал3.Начало = ВыборкаДетальныеЗаписи.ДатаЗаселения; Интервал3.Конец = ВыборкаДетальныеЗаписи.ДатаВыезда; Интервал3.Цвет = WebЦвета.ЦветМорскойВолны; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
13
gSha
22.08.19
✎
12:04
|
Ответь на простой вопрос - Что такое владелец койки и твоя жизнь станет лучше.
|
|||
14
JuixyJes
22.08.19
✎
12:04
|
Но отладчиком прошла, кроме как в последнее условие не проваливается ни в одно другое
|
|||
15
JuixyJes
22.08.19
✎
12:05
|
(13) Владелец койки - комната, владелец комнаты - номер
|
|||
16
hhhh
22.08.19
✎
12:06
|
(13) это такой мужик, который в отельном бизнесе.
|
|||
17
hhhh
22.08.19
✎
12:12
|
(15) много лишнего у тебя. Про ссылку я сказал. Вот это еще
Если ВыборкаКомната.ДатаЗаселения <> NULL и ВыборкаКомната.ДатаВыезда <> NULL Тогда Значение1 = ДиаграммаГанта.ПолучитьЗначение(ТочкаНомер,Серия); Интервал1 = Значение1.Добавить(); Интервал1.Начало = ВыборкаКомната.ДатаЗаселения; Интервал1.Конец = ВыборкаКомната.ДатаВыезда; Интервал1.Цвет = WebЦвета.ЦветМорскойВолны; КонецЕсли; ВыборкаКомната.ДатаЗаселения всегда = NULL, потому что в итогах ее нет. Она только в детальных записях у тебя. Поэтому эти строчки можешь спокойно выбросить в помойку. |
|||
18
gSha
22.08.19
✎
12:12
|
Когда у койки не заполнен владелец у нее нет комнаты .. а раз нет комнаты то все проверки в циклах бесмыслены ..
Если ВыборкаКомната.ДатаЗаселения <> NULL и ВыборкаКомната.ДатаВыезда <> NULL Тогда но я то понимает конечно что жить с этим тяжело .. у нас вот тут все до биз нес идеи ночлежки не дойдут .. |
|||
19
gSha
22.08.19
✎
12:14
|
А вообще проще попросить заполнять владельца у коей .. это что бы работало без изменения кода, ну а если на будущее, то не вестись на красоту иерархии.
|
|||
20
JuixyJes
22.08.19
✎
12:18
|
(17) Так, я вроде поняла это, тогда как заполнение сделать?
|
|||
21
gSha
22.08.19
✎
12:24
|
Просто заполни владельца чем нибудь .. все остальное само появится. Хотя не очень понятно как владелец может быть пустым.
|
|||
22
JuixyJes
22.08.19
✎
12:29
|
(21) https://priscree.ru/img/ba0d2f18bfa569.jpg при полном соединении есть нужные мне данные, но они вообще без ничего, только 2 даты
|
|||
23
gSha
22.08.19
✎
12:38
|
Слушай. Заполни просто владельца. Любым значением. Единственное чего я не понимаю как владелец оказался пустым.
|
|||
24
gSha
22.08.19
✎
12:39
|
Можешь даже у одной койки заполнить и посмотри как изменится результат.
|
|||
25
JuixyJes
22.08.19
✎
12:48
|
(24) в какой момент у койки заполнить владельца то?
|
|||
26
gSha
22.08.19
✎
12:51
|
Вот сейчас взять и заполнить у тех коей у которых нет владельца. Отчет у вас будет работать только если данных хватает ..
Т.е. указан номер- комната и койка. Где они там заполняются не знаю .. я кроме запроса ничего не вижу , да и вглядываться него особо не охота. |
|||
27
JuixyJes
22.08.19
✎
13:01
|
(26) в том то и дело, что у каждой койки есть владелец, нет ни одной койки без владельца
|
|||
28
hhhh
22.08.19
✎
13:10
|
(22) а что не так здесь?
|
|||
29
gSha
22.08.19
✎
13:24
|
(27) тогда теряюсь в догадках.
|
|||
30
JuixyJes
22.08.19
✎
13:30
|
(28) то что вот эта раскрытая строчка должна быть с №2
|
|||
31
JuixyJes
22.08.19
✎
16:57
|
решила проблему
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |