Имя: Пароль:
1C
1С v8
Запрос к регистру сведений
,
0 Dunstan
 
24.11.14
14:18
Есть рег. сведений у которого измерения это строки.
Почему то не работает запрос, который использует в качестве условий эти измерения. Никто с таким не сталкивался?
1 vicof
 
24.11.14
14:19
"Есть рег. сведений у которого измерения это строки."
Печаль
"Почему то не работает запрос, который использует в качестве условий эти измерения."
Или запрос кривой, или параметры.
2 piter3
 
24.11.14
14:20
параметры. показывай
3 lEvGl
 
гуру
24.11.14
14:20
что значит "не работает" ?
4 Dunstan
 
24.11.14
14:24
не работает
это значит запись есть,но он ее не находит
5 Drac0
 
24.11.14
14:25
(0) Ну, по той информации, что ты не дал можно точно сказать: запрос неправильный или параметр неверный.
6 18_plus
 
24.11.14
14:25
(4) давай сюда запрос
7 Drac0
 
24.11.14
14:26
+(5) Твои действия теперь?
8 18_plus
 
24.11.14
14:26
и образец того, что ты ищешь
9 18_plus
 
24.11.14
14:26
(7) не нужно было подсказывать, да?
10 Dunstan
 
24.11.14
14:27
ВЫБРАТЬ
    ЖурналСпецификаций.ДатаЖурнала,
    ЖурналСпецификаций.Склад,
    ЖурналСпецификаций.ЕстьСпецификация,
    ЖурналСпецификаций.НомерЖурналаСпецификаций,
    ЖурналСпецификаций.НомерКонечногоЛота,
    ЖурналСпецификаций.Спецификация
ИЗ
    РегистрСведений.ЖурналСпецификаций КАК ЖурналСпецификаций
ГДЕ
    ЖурналСпецификаций.НомерЖурналаСпецификаций = &ПарНЖС
    И ЖурналСпецификаций.НомерКонечногоЛота = &ПарЛот
    И ЖурналСпецификаций.ЕстьСпецификация = ИСТИНА
    И ЖурналСпецификаций.ДатаЖурнала = &ПарДата
    И ЖурналСпецификаций.Склад = &ПарСклад
11 Dunstan
 
24.11.14
14:27
НомерЖурналаСпецификаций и НомерКонечногоЛота они строковые
12 lEvGl
 
гуру
24.11.14
14:27
смотри еще, что именно в строковом измерении, возможно там пустые символы или еще чего
13 lEvGl
 
гуру
24.11.14
14:29
что в параметрах передается? и что в регистре?
14 Dunstan
 
24.11.14
14:35
стСКЖ277645 и стЛот3345029 в запросе
в регистре тоже самое
если искать в форме списке регистра то находит
15 vicof
 
24.11.14
14:37
(14) Одна из черепашек нагло врет
16 18_plus
 
24.11.14
14:37
(14) а если остальные условия из запроса убрать?
17 Dunstan
 
24.11.14
14:38
ша попробую
18 lEvGl
 
гуру
24.11.14
14:39
(14)чудес не бывает ( :(( ), надо пристально смотреть на регистр в месте остальных измерений, по которым фильтр накладывается
19 Dunstan
 
24.11.14
14:54
не бывает чудес
убрал два других измерения дата  склад
и заработало
но в другом запросе идет выборка по дате и складу и все работает
20 vicof
 
24.11.14
14:56
(19) Вывод: кривые параметры в твоем запросе, как я и говорил в (1)
21 Dunstan
 
24.11.14
14:57
ну на вид не кривые
22 vicof
 
24.11.14
15:00
(21) А по логике кривые. Ну ты конечно типы и значения проверил.
23 18_plus
 
24.11.14
15:02
отладка медитативными средствами всегда была не очень продуктивной (с)(я).
24 18_plus
 
24.11.14
15:04
перевожу - кончай лупиться в код, запускай отладчик и проверяй всё от текста запроса до типов и значений параметров.
25 Dunstan
 
24.11.14
15:13
просто грешил на использование в запросе строк
26 Dunstan
 
24.11.14
15:13
запросе к регистру сведений
27 Dunstan
 
24.11.14
15:15
не знаю чудо это или как
вернул все как было первоначально и заработало
28 vicof
 
24.11.14
15:22
это божественное провидение
29 МишельЛагранж
 
25.11.14
09:35
И никого не смутило, что:
а) РС с одними строками в качестве измерений - это круто! Поди еще и строки неограниченные хранятся.
б) в запросе к СТРОКАМ нет ни одного "подобно" или "%". Что наводит на мысли.
в) по-моему, поиск по строковым измерениям "НомерЖурналаСпецификаций" и "НомерКонечногоЛота" требует параметризации в запросе (СТРОКА КАК ())
30 vicof
 
25.11.14
09:37
(29) "РС с одними строками в качестве измерений - это круто! Поди еще и строки неограниченные хранятся. "
Читай (1)
31 МишельЛагранж
 
25.11.14
09:37
(9)>>Есть рег. сведений у которого измерения это строки
- когда за 10 000 записей перейдете, поймете, что это такое - "регистр, у которого измерения строки".
32 МишельЛагранж
 
25.11.14
09:37
(30) и где связь с (1)?
33 МишельЛагранж
 
25.11.14
09:39
ааа, твое смущение от строкового регистра выразилось в одном слове "печаль"? Ну извини, сразу не заметил ))
34 vicof
 
25.11.14
09:43
(33) Емко, не правда ли?))
35 BadSanta
 
25.11.14
09:43
(31) Это ошибка построения структуры данных.
Вы надеюсь их не сделали индексируемыми?
Измерения используются для контроля уникальности, а сканирование таблицы с 10к+ записей - всегда накладно.
Я конечно не знаю вашу задачу, но есть высокая степень вероятности что она решается более правильно с точки зрения СУБД.
36 МишельЛагранж
 
25.11.14
14:21
(34) ага, так емко, что сразу не видно ))
(35) наверное, это к автору темы?
37 BadSanta
 
25.11.14
14:44
(36) Да.
38 lEvGl
 
гуру
25.11.14
17:00
(29)не смущает, что на строки условие накладывается? для неограниченной длины ошибку бы вывалил, а так (4)
39 prince64
 
25.11.14
17:03
(31) + 100
40 Зеленый пень
 
25.11.14
17:09
Для соответствий товаров и т.п. часто РС со строками в измерениях используют. Ничего страшного.
41 hhhh
 
25.11.14
17:19
имхо всё-таки с датой ошибка. тс дату задавал без времени.
42 Banned
 
25.11.14
17:21
в 77 все регистры вообще измерения из строк имели. И ничего, не жужжали...
43 hhhh
 
25.11.14
17:23
(42) где там измерения из строк в 7.7?
44 Banned
 
25.11.14
17:28
(43) А ничего, что там любой ID - это char(9) ?
Ну, на худой конец - char(13)...

Или это открытие?
45 hhhh
 
25.11.14
17:35
(44) а в восьмерке, намекаешь, что не char?
46 Banned
 
25.11.14
17:36
(45) в 8ке, намекаю, uniqueidentifier - это никак не строка.
47 hhhh
 
25.11.14
17:37
(46) а что? Число?
48 Banned
 
25.11.14
17:39
(47) не копался во внутренностях. А что, таки строка?
А что тогда все так пищат по поводу строк в измерениях?
49 hhhh
 
25.11.14
17:43
(48) наверно, от длины зависит. Строка например 100 символов, а ссылка на справочник гораздо меньше занимает. Причем она фиксированной длины.