Имя: Пароль:
1C
1С v8
Запрос к рг сведений
0 lite777
 
28.12.18
14:03
Здравствуйте ,Товарищи программисты
Запрос.Текст=
         "ВЫБРАТЬ
         |    КонтрВып.Ном КАК Ном,
         |    КонтрВып.Место КАК Место,
         |    КонтрВып.Зн КАК Зн
         |ИЗ
         |    РегистрСведений.КонтрВып  КАК КонтрВып
         |ГДЕ
    //     |    КонтрВып.Ном = &Ном И
         | ( КонтрВып.Место = &Место ИЛИ КонтрВып.Место = &Место2 ) И КонтрВып.Зн=ИСТИНА
         |    И  КонтрВып.Зн<>ЛОЖЬ
         |   И КонтрВып.Период<=&д2
         | И  (  КонтрВып.Ном В ИЕРАРХИИ(&гр1)   ИЛИ КонтрВып.Ном В ИЕРАРХИИ(&гр2) ИЛИ
         |  КонтрВып.Ном В ИЕРАРХИИ(&гр3)   )  "    ;
1 Dmitry1c
 
28.12.18
14:04
2 lxs
 
28.12.18
14:04
Кровь из глаз....
3 Гипервизор
 
28.12.18
14:06
Еще "Место КАК Мст" - и будет полный фарш.
4 lite777
 
28.12.18
14:06
Есть рг сведений подчинен регистртору переодический, есть товар со значением  в РГ первойд датой ЗН =ИСТИНА второй датой Зн=Ложь но почему то он попадает в этот запрос хотя у меня КонтрВып.Зн<>ЛОЖЬ в чем тут проблема ?
5 Гипервизор
 
28.12.18
14:07
(4) Я вас правильно понял, дата - Булево?
6 lite777
 
28.12.18
14:08
ЗН-БУЛЕВО
7 lite777
 
28.12.18
14:08
но ЗН=ЛОЖЬ почемуто попадет в запрос
8 Buster007
 
28.12.18
14:09
назови нормально свои измерения, регистр и т.д.
потом станет гораздо проще
9 Buster007
 
28.12.18
14:09
хотя бы синонимы нормальные дай в запросе
10 Гипервизор
 
28.12.18
14:10
(9) Вы что, так программа меньше места занимает.
11 lite777
 
28.12.18
14:11
ресурс ЗН-БУЛЕВО, ном и место -измерения
12 lxs
 
28.12.18
14:11
(8) Это называется ректальное программирование. Не мешай человеку самоутверждаться.
13 youalex
 
28.12.18
14:12
(4) пр в нзв мт и п зп
14 lxs
 
28.12.18
14:14
(0) Тебе надо почитать про основы построения запросов. В твоем случае поможет конструкция ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
15 lite777
 
28.12.18
14:15
можно по подробнее ,
16 lite777
 
28.12.18
14:16
КонтрВып.Ном КАК Ном, это 1С КОНСТРУКТОР  так что вопросы к 1С
17 IOANNscrp
 
28.12.18
14:20
(16) ну, если называть метаданные так, то конечно :D
18 lxs
 
28.12.18
14:26
(16) Если честно, у меня нет никакого желания разбирать тот говнокод, который у тебя в запросе, потому что глаза ломаются. Так чисто визуально я уверен, что ВЫБОР в условии тебе поможет.
19 IOANNscrp
 
28.12.18
14:27
| (КонтрВып.Место В (&СписокМест)
| И КонтрВып.Зн=ИСТИНА
| И КонтрВып.Период<=&д2
| И КонтрВып.Ном В ИЕРАРХИИ(&СписокГрупп)";
20 13_Mult
 
28.12.18
14:29
21 VladZ
 
28.12.18
14:37
(0)   И КонтрВып.Зн=ИСТИНА И  КонтрВып.Зн<>ЛОЖЬ - это для надежности?

Зачем сократил название реквизитов? Чего хотел добиться?
22 lite777
 
28.12.18
14:47
просто есть две записи в регистре товар введен ЗН =истана и след датой  тото же товар выведен из ассаротимента ЗН=ЛОЖЬ , этот товар не должне попасть в запрос
23 IOANNscrp
 
28.12.18
14:48
Он и не попадёт, если зн только истина в условии
24 lite777
 
28.12.18
14:48
проведение документа делает движение по номенклатуре со значением ЗН=ИСТИНА ИЛИ ЗН =ЛОЖЬ
25 lite777
 
28.12.18
14:49
ЗН-ИСТИНА попадает нормально как раз
26 lite777
 
28.12.18
14:50
а вот когда две записи с разной дато зн= истина и зн=ложь попадает тоже
27 IOANNscrp
 
28.12.18
14:58
В консоль отчётов и тренироваться. Параметры добавлять поочередно проверяя результат
28 lite777
 
28.12.18
15:06
уже проверяю
29 Deon
 
28.12.18
15:16
Ну вот что тут непонятного-то?

просто есть две записи в регистре товар введен ЗН =истана и след датой  тото же товар выведен из ассаротимента ЗН=ЛОЖЬ , этот товар не должне попасть в запрос проведение документа делает движение по номенклатуре со значением ЗН=ИСТИНА ИЛИ ЗН =ЛОЖЬ ЗН-ИСТИНА попадает нормально как раз а вот когда две записи с разной дато зн= истина и зн=ложь попадает тоже
30 lite777
 
28.12.18
15:22
и что ?
31 IOANNscrp
 
28.12.18
15:22
(30) и то, что задача по другому теперь звучит
32 IOANNscrp
 
28.12.18
15:23
(31) Вам необходимо выборкой брать максимальную дату, как срез последних
33 lite777
 
28.12.18
15:24
запрос с условием ЗН=ЛОЖЬ работает , нужно сддеаль вложенный запрос  где зн=истина и второй где зн=ложь ,
потом убрать товары из первого запроса которые есть во втором
34 IOANNscrp
 
28.12.18
15:25
(33) у вас же все от периода зависит, что последнее, то и верное
35 lite777
 
28.12.18
15:27
как эти два запроса собрать
ВЫБРАТЬ
             КонтрВып.Ном ,
             КонтрВып.Место ,
             КонтрВып.Зн
         ИЗ
             РегистрСведений.КонтрВып  КАК КонтрВып
         ГДЕ
    
          ( КонтрВып.Место = &Место ИЛИ КонтрВып.Место = &Место2 )
             И  КонтрВып.Зн=ИСТИНА    
            И КонтрВып.Период<=&д2
          И  (  КонтрВып.Ном В ИЕРАРХИИ(&гр1)   ИЛИ КонтрВып.Ном В ИЕРАРХИИ(&гр2) ИЛИ
           КонтрВып.Ном В ИЕРАРХИИ(&гр3)   )  



и  ВЫБРАТЬ
             КонтрВып.Ном ,
             КонтрВып.Место ,
             КонтрВып.Зн
         ИЗ
             РегистрСведений.КонтрВып  КАК КонтрВып
         ГДЕ
    
          ( КонтрВып.Место = &Место ИЛИ КонтрВып.Место = &Место2 )
             И  КонтрВып.Зн=ЛОЖЬ    
            И КонтрВып.Период<=&д2
          И  (  КонтрВып.Ном В ИЕРАРХИИ(&гр1)   ИЛИ КонтрВып.Ном В ИЕРАРХИИ(&гр2) ИЛИ
           КонтрВып.Ном В ИЕРАРХИИ(&гр3)   )
36 IOANNscrp
 
28.12.18
15:29
регистр периодический?
37 lite777
 
28.12.18
15:30
да
38 IOANNscrp
 
28.12.18
15:32
Во вложенном запросе берете срезПоследних, затем как сделаете выборку в основном вставляете отбор по ЗН
39 lite777
 
28.12.18
15:36
подчинен регистратору
40 lite777
 
28.12.18
15:36
а может это быть косяк платформы 8,3,13,1513 ?
41 IOANNscrp
 
28.12.18
15:38
А в чем косяк? то что запрос неправильный?
42 lite777
 
28.12.18
15:43
1с полседнее время косячные плаформы гонит, например 8,3,11,2867 не дает зайти в конфигуратор  ,если база в ржиме сервера , пока все не выйдут из базы
43 IOANNscrp
 
28.12.18
15:47
ВЫБРАТЬ
    ВложенныйЗапрос.УровеньСклада,
    ВложенныйЗапрос.КлассXY,
    ВложенныйЗапрос.ОстатокС
ИЗ
    (ВЫБРАТЬ
        КонтрВыпСрезПоследних.Ном КАК Ном,
        КонтрВыпСрезПоследних.Место КАК Место,
        КонтрВыпСрезПоследних.Зн КАК Зн
    ИЗ
        РегистрСведений.КонтрВып.СрезПоследних КАК КонтрВыпСрезПоследних) КАК ВложенныйЗапрос
ГДЕ
    ВложенныйЗапрос.Зн = ИСТИНА
44 IOANNscrp
 
28.12.18
15:48
ВложенныйЗапрос.Ном,
ВложенныйЗапрос.Место,
ВложенныйЗапрос.Зн
45 lite777
 
28.12.18
16:02
ВЫБРАТЬ
             КонтрВып.Ном ,
             КонтрВып.Место ,
             КонтрВып.Зн
         ИЗ
             РегистрСведений.КонтрВып.СрезПоследних(&д2)  КАК КонтрВып
         ГДЕ
          ( КонтрВып.Место = &Место ИЛИ КонтрВып.Место = &Место2 )
             И  КонтрВып.Зн<>ЛОЖЬ  И КонтрВып.Зн=ИСТИНА  
          И  (  КонтрВып.Ном В ИЕРАРХИИ(&гр1)   ИЛИ КонтрВып.Ном В ИЕРАРХИИ(&гр2) ИЛИ
           КонтрВып.Ном В ИЕРАРХИИ(&гр3)   )
46 lite777
 
28.12.18
16:03
вот так вроде работате!
47 lite777
 
28.12.18
16:03
работает
48 IOANNscrp
 
28.12.18
16:03
(46) поживем увидим)
49 lxs
 
28.12.18
16:55
"И  КонтрВып.Зн<>ЛОЖЬ  И КонтрВып.Зн=ИСТИНА" - это просто пздц какой-то предновогодний.... впервые вижу такой бред
50 Михаил Козлов
 
28.12.18
16:57
(49) Может у чела не бинарная логика? Например NULL.
51 lxs
 
28.12.18
17:01
(47) точно у ЗН булево? Флаг Составной не стоит случайно?..
52 IOANNscrp
 
28.12.18
17:03
да, даже если составной :D
53 lxs
 
28.12.18
17:05
Хотелось бы мне глянуть конечно на этот регистр вживую...
54 GANR
 
28.12.18
17:09
// Вариант исходный.    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтрВып.Ном КАК Ном,
    |    КонтрВып.Место КАК Место,
    |    КонтрВып.Зн КАК Зн
    |ИЗ
    |    РегистрСведений.КонтрВып КАК КонтрВып
    |ГДЕ
    |    (КонтрВып.Место = &Место
    |            ИЛИ КонтрВып.Место = &Место2)
    |    И КонтрВып.Зн = ИСТИНА
    |    И КонтрВып.Зн <> ЛОЖЬ
    |    И КонтрВып.Период <= &д2
    |    И (КонтрВып.Ном В ИЕРАРХИИ (&гр1)
    |            ИЛИ КонтрВып.Ном В ИЕРАРХИИ (&гр2)
    |            ИЛИ КонтрВып.Ном В ИЕРАРХИИ (&гр3))";
    
    // Вариант измененный.
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтрВып.Ном КАК Ном,
    |    КонтрВып.Место КАК Место,
    |    КонтрВып.Зн КАК Зн
    |ИЗ
    |    РегистрСведений.КонтрВып КАК КонтрВып
    |ГДЕ
    |    КонтрВып.Место В (&Место12)
    |    И КонтрВып.Зн
    |    И КонтрВып.Период <= &д2
    |    И КонтрВып.Ном В ИЕРАРХИИ (&гр123)";
55 GANR
 
28.12.18
17:10
(0) А какой мудак это писал?
56 H A D G E H O G s
 
28.12.18
17:13
Запрос - смешной, а ситуация - страшная.
57 lxs
 
28.12.18
17:13
(54) Ему этот вариант уже выше предложили)))
(55) ТС и есть этот М..
58 GANR
 
28.12.18
17:16
(57) Точно, в (19)