![]() |
|
СКД | ☑ | ||
---|---|---|---|---|
0
buumble
12.07.24
✎
09:42
|
Помогите разобраться с условиями в СКД. Есть условие
ВЫБОР КОГДА &ТолькоНеЗакрытые ТОГДА ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство ТОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В (ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор КОНЕЦ КОНЕЦ КОНЕЦ Но в отчет все равно попадают заказы на производство которых нет на в регистре остатков по заказам на производство, консолью проверил, остатка нет почему не работает условие ? |
|||
1
Волшебник
12.07.24
✎
09:44
|
Это не условие, а поле
|
|||
2
buumble
12.07.24
✎
09:47
|
(1) Условие на вкладке компоновка данных, или я что то не понял
|
|||
3
buumble
12.07.24
✎
09:47
|
Поле выглядит так
ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор КОНЕЦ |
|||
4
Волшебник
12.07.24
✎
09:48
|
(2) Условие пишется в предложении ГДЕ
|
|||
5
buumble
12.07.24
✎
09:49
|
Ну вот часть запроса
ИЗ ОстатокПоЗаказу КАК ОстатокПоЗаказу ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыНаПроизводство.ОстаткиИОбороты( , , Авто, , ЗаказНаПроизводство.Продукция.Заказ В (ВЫБРАТЬ ОстатокПоЗаказу.Ссылка ИЗ ОстатокПоЗаказу КАК ОстатокПоЗаказу)) КАК ЗаказыНаПроизводствоОстаткиИОбороты ПО ОстатокПоЗаказу.Ссылка = ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство.Продукция.Заказ {ГДЕ (ВЫБОР КОГДА &ТолькоЗаказыНаПроизводство ТОГДА ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор КОНЕЦ КОНЕЦ).*, (ВЫБОР КОГДА &ТолькоНеЗакрытые ТОГДА ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство ТОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В (ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор КОНЕЦ КОНЕЦ КОНЕЦ).*} |
|||
6
Волшебник
12.07.24
✎
09:51
|
Условие ГДЕ в фигурных скобках не считается
|
|||
7
buumble
12.07.24
✎
09:52
|
(6) Оно отрабатывает когда параметр заполнен, &ТолькоЗаказыНаПроизводство вот когда заполнен этот параметр отрабатывает
|
|||
8
Волшебник
12.07.24
✎
09:53
|
(7) Нет
|
|||
9
buumble
12.07.24
✎
09:54
|
В таком случае что происходит, когда заполнен этот параметр, и как мне отобрать только те заказы которые есть в регистре ?
|
|||
10
Мультук
12.07.24
✎
09:57
|
(5)
Никого не смущает, что у него в ГДЕ ВЫБОР КОНЕЦ, который по сути должен вернуть Булево, а не всякие NULL и регистратор ? |
|||
11
Волшебник
12.07.24
✎
09:57
|
(9) Уберите фигурные скобки. Сделайте нормальное условие ГДЕ
|
|||
12
buumble
12.07.24
✎
09:58
|
(11) Тогда как отчет будет отрабатывать если параметр не заполнен ?
|
|||
13
Волшебник
12.07.24
✎
09:58
|
(12) Всё будет нормально
|
|||
14
buumble
12.07.24
✎
10:06
|
Вот параметр не заполнен вываливается в ошибку, Ошибка исполнения отчета
по причине: Ошибка получения данных по причине: Ошибка создания набора данных "НаборДанных1" по причине: Ошибка при исполнении запроса набора данных по причине: {(77, 8)}: Не задано значение параметра "ТолькоНезакрытые" И <<?>>&ТолькоНезакрытые |
|||
15
Волшебник
12.07.24
✎
10:07
|
(14) Смешно
|
|||
16
buumble
12.07.24
✎
10:09
|
(15) Спасибо, я старался
|
|||
17
Ёпрст
12.07.24
✎
10:12
|
вот это вот огонь:
КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство ТОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В (ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор |
|||
18
Волшебник
12.07.24
✎
10:12
|
(16) Теперь включите мозги и напишите нормальное условие. Если нужны параметры, то задайте их.
|
|||
19
Волшебник
12.07.24
✎
10:14
|
(17) Это генерация кода. Бессмысленная и беспощадная.
Нагромождение кусков кода, вкладывание их друг в друга. |
|||
20
Ёпрст
12.07.24
✎
10:14
|
(0)
ну и в Где пихать null, ссылку на документ..оно точно так ннадо ? |
|||
21
buumble
12.07.24
✎
10:16
|
(20) Выводились пустые строки регистратора, где то видел что их так отсеивают
|
|||
22
buumble
12.07.24
✎
10:18
|
(18) НУ вот смотри
ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор) = ТИП(Документ.ЗаказНапроизводство) И &ТолькоНезакрытые ТОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В (ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) ИНАЧЕ ИСТИНА КОНЕЦ Нормальное ведь условие? параметр нужен не всегда иногда пользователь просто может его не заполнить или отключить |
|||
23
Волшебник
12.07.24
✎
10:19
|
(22) Это не условие, а поле
|
|||
24
buumble
12.07.24
✎
10:20
|
(23) ну нет же, на вкладке условие поставил условие в записимости от регистратора и параметра
|
|||
25
Волшебник
12.07.24
✎
10:20
|
Условие выглядит так:
ГДЕ поле = значение |
|||
26
buumble
12.07.24
✎
10:20
|
ВЫБРАТЬ
ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор КОНЕЦ КАК Регистратор, ЗаказыНаПроизводствоОстаткиИОбороты.Номенклатура, ЗаказыНаПроизводствоОстаткиИОбороты.ХарактеристикаНоменклатуры, ЗаказыНаПроизводствоОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ЗаказыНаПроизводствоОстаткиИОбороты.КоличествоПриход, ЗаказыНаПроизводствоОстаткиИОбороты.КоличествоРасход, ОстатокПоЗаказу.Ссылка КАК ЗаказПокупателя, ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство.Комментарий КАК Комментарий, ОстатокПоЗаказу.Ссылка.Контрагент КАК Контрагент, ЗаказыНаПроизводствоОстаткиИОбороты.ПериодСекунда, ЗаказыНаПроизводствоОстаткиИОбороты.КоличествоНачальныйОстаток, ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство ИЗ ОстатокПоЗаказу КАК ОстатокПоЗаказу ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыНаПроизводство.ОстаткиИОбороты( , , Авто, , ЗаказНаПроизводство.Продукция.Заказ В (ВЫБРАТЬ ОстатокПоЗаказу.Ссылка ИЗ ОстатокПоЗаказу КАК ОстатокПоЗаказу)) КАК ЗаказыНаПроизводствоОстаткиИОбороты ПО ОстатокПоЗаказу.Ссылка = ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство.Продукция.Заказ ГДЕ ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор) = ТИП(Документ.ЗаказНапроизводство) И &ТолькоНезакрытые ТОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В (ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) ИНАЧЕ ИСТИНА КОНЕЦ |
|||
27
Волшебник
12.07.24
✎
10:21
|
(26) Опять нет условия
|
|||
28
buumble
12.07.24
✎
10:23
|
(27) Не могу понять, вот же условие ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор В
(ВЫБРАТЬ ОстаткиПоЗаказам.ЗаказНаПроизводство ИЗ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам) |
|||
29
Ёпрст
12.07.24
✎
10:24
|
(26) так сойдет, только case в select на неопределенно выкини. Он там не нужен.
|
|||
30
Ёпрст
12.07.24
✎
10:24
|
вот это выкини
ВЫБОР КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО оставь просто регистратор |
|||
31
buumble
12.07.24
✎
10:25
|
(29) это хорошо, но как мне быть с незаполненым параметром ?
|
|||
32
Волшебник
12.07.24
✎
10:28
|
(31) заполнить, не?
|
|||
33
buumble
12.07.24
✎
10:28
|
Вот я смотрел уже много статей по этому поводу, все твердят одно, в фигурные скобки но так не отрабатывает
|
|||
34
buumble
12.07.24
✎
10:30
|
(32) Ты максимально прав, в идеальном мире с идеальными людьми все было бы проще. Если отчет падает в ошибку, это кто косячнул?
|
|||
35
Волшебник
12.07.24
✎
10:31
|
(34) ты
|
|||
36
buumble
12.07.24
✎
10:35
|
(35) вот поэтому хочу предостеречь от этого и пришел за советом )
|
|||
37
Ёпрст
12.07.24
✎
10:47
|
(31) условие с ИЛИ сделать
|
|||
38
Волшебник
12.07.24
✎
10:47
|
(36) Сделайте нормальное условие ГДЕ без фигурных скобок.
|
|||
39
buumble
12.07.24
✎
11:00
|
(38) Я сделал, что имеешь ввиду под нормальным ? Параметр не заполнен, как его обойти без фигурных скобок?
|
|||
40
buumble
12.07.24
✎
11:00
|
(37) Если ИЛИ Тогда с чем сравнивать ? Если параметр не заполнен ?
|
|||
41
Волшебник
12.07.24
✎
11:10
|
ГДЕ &НеНуженОтбор ИЛИ Заказ В (ВЫБРАТЬ Заказ ИЗ ОткрытыеЗаказы) |
|||
42
buumble
12.07.24
✎
13:07
|
(41) Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |