|   |   | 
| 
 | СКД | ☑ | ||
|---|---|---|---|---|
| 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) Спасибо!     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |