|
определение свойства элемента номенклатура в запросе | ☑ | ||
---|---|---|---|---|
0
Kalina
25.11.16
✎
15:02
|
Текст = "ВЫБРАТЬ
| ПродажиСебестоимость.Регистратор, | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ДокументОприходования, | ПродажиСебестоимость.Количество КАК Количество, | ПродажиСебестоимость.Стоимость КАК Стоимость, | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство.Код, | ЗначенияСвойствОбъектов.Свойство.Представление, | ЗначенияСвойствОбъектов.Свойство.Наименование КАК СвойствоНаименование, | ЗначенияСвойствОбъектов.Свойство.ТипЗначения, | ЗначенияСвойствОбъектов.Значение КАК СвойствоЗначение, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументОприходования ССЫЛКА Документ.КомплектацияНоменклатуры | ТОГДА ПродажиСебестоимость.Стоимость + ПродажиСебестоимость.Количество * 5 | ИНАЧЕ ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Значение = ИСТИНА | ТОГДА ПродажиСебестоимость.Стоимость + ПродажиСебестоимость.Количество * 10 | ИНАЧЕ ПродажиСебестоимость.Стоимость | КОНЕЦ | КОНЕЦ КАК СебеСтоимость, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументОприходования ССЫЛКА Документ.КомплектацияНоменклатуры | ТОГДА ""Да"" | ИНАЧЕ ""Нет"" | КОНЕЦ КАК Порезанная, | ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Значение = ИСТИНА | ТОГДА ""Да"" | ИНАЧЕ ""Нет"" | КОНЕЦ КАК Перфорированная |ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ПродажиСебестоимость.Номенклатура = ЗначенияСвойствОбъектов.Объект |ГДЕ | (ПродажиСебестоимость.Регистратор = &Документ) | И ((ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод) ИЛИ (ЗначенияСвойствОбъектов.Свойство ЕСТЬ NULL)) |АВТОУПОРЯДОЧИВАНИЕ" ; Здравствуйте проверяю свойство элемента справочника номенклатура в запросе если свойство установлено - работаетЮ но если свойство не установлено - для этой номенклатуры оно есть в справочнике, но значение его пустое, тогда запрос получается пустой поставил проверка на NULL - не канает Буду признателен за подробный разжеваный ответ :) |
|||
1
Cool_Profi
25.11.16
✎
15:04
|
| И ((ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод) ИЛИ (ЗначенияСвойствОбъектов.Свойство = """"))
|
|||
2
Cool_Profi
25.11.16
✎
15:04
|
И, чтобы два раза не вставать
| ПО ПродажиСебестоимость.Номенклатура = ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Объект КАК Справочник.Номенклатура) |
|||
3
Kalina
25.11.16
✎
15:25
|
(1) Не проканало :(
В РегистреСведений для этого элемента номенклатуры нет записи с таким свойством, т.е. типа (ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод) = NULL, но как это написать ? |
|||
4
Cool_Profi
25.11.16
✎
15:26
|
ЗначенияСвойствОбъектов.Свойство.Код ЕСТЬ NULL
|
|||
5
Kalina
25.11.16
✎
15:29
|
(4) не работает, вроде в (0) так и было написано
|
|||
6
youalex
25.11.16
✎
15:30
|
(2) это вообще не нужно
|
|||
7
Cool_Profi
25.11.16
✎
15:31
|
(5) У меня работает.
|
|||
8
Cool_Profi
25.11.16
✎
15:31
|
(6) Нуну. Только сегодня один запросик (кстати по свойствам) ускорил на 3 порядка, просто выразив объект...
|
|||
9
youalex
25.11.16
✎
15:35
|
(8) ВЫРАЗИТЬ - нужно если идет неявное соединение (получение поля через точку)
Или если нужно получить определенное поле (поле определенного типа) из составного поля |
|||
10
youalex
25.11.16
✎
15:37
|
(0) Условие
ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод перенеси в соединение. |
|||
11
ale-sarin
25.11.16
✎
15:37
|
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ПродажиСебестоимость.Номенклатура = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод и убрать эту хрень из ГДЕ |
|||
12
Kalina
25.11.16
✎
16:08
|
(11) Спасибо друзья, заработало, но, если у элемента нет вообще никаких свойств (есть в списке для этого элемента но не указаны явно) - ни одного - то тоже выборка пустая блть
извиняюсь за свой русский |
|||
13
ale-sarin
25.11.16
✎
16:34
|
(12) Покажите нынешний запрос
|
|||
14
youalex
25.11.16
✎
16:35
|
(12) вот это убрал из ГДЕ?:
И ((ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод) ИЛИ (ЗначенияСвойствОбъектов.Свойство ЕСТЬ NULL)) |
|||
15
Kalina
25.11.16
✎
16:45
|
(13)
Текст = "ВЫБРАТЬ | ПродажиСебестоимость.Регистратор, | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ДокументОприходования, | ПродажиСебестоимость.Количество КАК Количество, | ПродажиСебестоимость.Стоимость КАК Стоимость, | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство.Код, | ЗначенияСвойствОбъектов.Свойство.Представление, | ЗначенияСвойствОбъектов.Свойство.Наименование КАК СвойствоНаименование, | ЗначенияСвойствОбъектов.Свойство.ТипЗначения, | ЗначенияСвойствОбъектов.Значение КАК СвойствоЗначение, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументОприходования ССЫЛКА Документ.КомплектацияНоменклатуры | ТОГДА ПродажиСебестоимость.Стоимость + ПродажиСебестоимость.Количество * 5 | ИНАЧЕ ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Значение = ИСТИНА | ТОГДА ПродажиСебестоимость.Стоимость + ПродажиСебестоимость.Количество * 10 | ИНАЧЕ ПродажиСебестоимость.Стоимость | КОНЕЦ | КОНЕЦ КАК СебеСтоимость, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументОприходования ССЫЛКА Документ.КомплектацияНоменклатуры | ТОГДА ""Да"" | ИНАЧЕ ""Нет"" | КОНЕЦ КАК Порезанная, | ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Значение = ИСТИНА | ТОГДА ""Да"" | ИНАЧЕ ""Нет"" | КОНЕЦ КАК Перфорированная |ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ПродажиСебестоимость.Номенклатура = ЗначенияСвойствОбъектов.Объект | И ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод |ГДЕ | ПродажиСебестоимость.Регистратор = &Документ // | И ((ЗначенияСвойствОбъектов.Свойство.Код = &СвойствоКод) // | ИЛИ (ЗначенияСвойствОбъектов.Свойство.Код ЕСТЬ NULL)) |АВТОУПОРЯДОЧИВАНИЕ" ; |
|||
16
ale-sarin
25.11.16
✎
16:49
|
(15) Видимо нет продаж все-таки
И, если Тип значения добавленного свойства Булево, то рекомендуется использовать Категории, а не Свойства. Ну это так, для информации. |
|||
17
Kalina
25.11.16
✎
16:59
|
(16) есть продажа, только номенклатура с незаполненными свойствами, соответственно в РС ЗначенияСвойствОбьектов ее вообще нет
|
|||
18
youalex
25.11.16
✎
17:46
|
(17) не верю.
Попробуй поотрубать поочередно условия/соединения (хотя в данном случае уже смысла нет) Попробуй оставить только ВЫБРАТЬ * ИЗ ИЗ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость ГДЕ (ПродажиСебестоимость.Регистратор = &Документ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |