|
Помогите сформировать запрос 1С 8.2 Дописанная | ☑ | ||
---|---|---|---|---|
0
ils108
18.02.16
✎
07:00
|
Всем добра!
Помогите написать оптимальный запрос. Изначально надо из РегистрСведений, в котором есть измерение "слот" (элемент справочника), ресурс "включен" (булево), и "дата" выбрать те элементе у которых включен = ложь и нет более поздних записей по "слоту" с включен = истина. |
|||
1
mehfk
18.02.16
✎
07:01
|
Покажи что уже написал.
|
|||
2
ils108
18.02.16
✎
07:06
|
ВЫБРАТЬ
ГУ_СостояниеСлотовОборудования.СлотОборудования ИЗ РегистрСведений.ГУ_СостояниеСлотовОборудования КАК ГУ_СостояниеСлотовОборудования ГДЕ ГУ_СостояниеСлотовОборудования.Регистратор.Дата = &Период И ГУ_СостояниеСлотовОборудования.Включен = &Нет :) пока только это и не могу понять куда шагнуть. |
|||
3
mehfk
18.02.16
✎
07:08
|
||||
4
patria0muerte
18.02.16
✎
07:13
|
Читай про срез последних регистра сведений
|
|||
5
vip03
18.02.16
✎
07:37
|
"дата" - это ресурс или период?
|
|||
6
ils108
18.02.16
✎
07:42
|
ВЫБРАТЬ
ГУ_СостояниеСлотовОборудованияСрезПоследних.СлотОборудования ИЗ РегистрСведений.ГУ_СостояниеСлотовОборудования.СрезПоследних(, Включен = &Нет) КАК ГУ_СостояниеСлотовОборудованияСрезПоследних ГДЕ ГУ_СостояниеСлотовОборудованияСрезПоследних.Регистратор.Дата = &Период |
|||
7
ils108
18.02.16
✎
07:44
|
(4) спасибо :)
|
|||
8
ils108
18.02.16
✎
07:48
|
(3) спасибо за ссылку на хорошую книгу!
(5) это ресурс |
|||
9
ils108
18.02.16
✎
08:03
|
что-то не то, все равно есть такие слоты где "включен" более поздний
|
|||
10
patria0muerte
18.02.16
✎
08:03
|
(6) Неправильно.
Правильно - убрать нафиг дату из ресурса. Если РС периодический - то она там не нужна. И запрос будет выглядеть как: ВЫБРАТЬ ГУ_СостояниеСлотовОборудованияСрезПоследних.СлотОборудования ИЗ РегистрСведений.ГУ_СостояниеСлотовОборудования.СрезПоследних(&Период) КАК ГУ_СостояниеСлотовОборудованияСрезПоследних ГДЕ НЕ ГУ_СостояниеСлотовОборудованияСрезПоследних.Включен |
|||
11
2S
18.02.16
✎
08:04
|
а где условие на дату?
|
|||
12
patria0muerte
18.02.16
✎
08:06
|
(9) Внимательней читай про Регистры сведений и Срез последних. Особенно про то - чем отличаются условия в параметрах виртуальной таблицы и условия в секции ГДЕ.
|
|||
13
ils108
18.02.16
✎
08:14
|
(10) но при таком варианте если я правильно понимаю не факт, что в интервал от периода до текущей даты не будет включения (т.е. мы это никак не учитываем) просто берем те, что были выключены до наступления "период"
|
|||
14
ils108
18.02.16
✎
08:42
|
ВЫБРАТЬ
ГУ_СостояниеСлотовОборудованияСрезПоследних.СлотОборудования, ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта1, ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта2, ГУ_СостояниеСлотовОборудованияСрезПоследних.Период ИЗ РегистрСведений.ГУ_СостояниеСлотовОборудования.СрезПоследних КАК ГУ_СостояниеСлотовОборудованияСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГУ_ДанныеКоммуникаций.СрезПоследних КАК ГУ_ДанныеКоммуникацийСрезПоследних ПО ГУ_СостояниеСлотовОборудованияСрезПоследних.СлотОборудования = ГУ_ДанныеКоммуникацийСрезПоследних.СлотОборудования ГДЕ НЕ ГУ_СостояниеСлотовОборудованияСрезПоследних.Включен И (ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта1.ОтключенGPRS = &Нет ИЛИ ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта1.ОтключенGPRS = &Нет) И ГУ_СостояниеСлотовОборудованияСрезПоследних.Регистратор.Дата < &Период И (ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта1.ПолнаяБлокировка = &Нет ИЛИ ГУ_ДанныеКоммуникацийСрезПоследних.SIMКарта2.ПолнаяБлокировка = &Нет) |
|||
15
ils108
18.02.16
✎
08:43
|
Вот так хорошо работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |