|
Как написать в запросе условие Лев(Док.НомерДок,1)="Р" | ☑ | ||
---|---|---|---|---|
0
Мисти
29.05.13
✎
22:08
|
Такое условие у меня в 7 было.
Выбрать все документы реализации, где в номере есть Р? Это важно только для одного отчета, не заводить же спец. реквизит? Перебирать все документы тоже как-то глупо... |
|||
1
ДенисЧ
29.05.13
✎
22:10
|
А ВЫРАЗИТЬ() тебе не поможет?
|
|||
2
Зойч
29.05.13
✎
22:11
|
ПОДОБНО "Р%"
|
|||
3
Мисти
29.05.13
✎
22:11
|
Может, и подойдет, но я не умею "выражать".
|
|||
4
DarKySiK
29.05.13
✎
22:12
|
А читать?
|
|||
5
ДенисЧ
29.05.13
✎
22:13
|
(3) мда... Ты точно не морская свинка?
|
|||
6
zak555
29.05.13
✎
22:13
|
используй отбор по организации =)
|
|||
7
ДенисЧ
29.05.13
✎
22:13
|
(6) а почему по организации?
|
|||
8
zak555
29.05.13
✎
22:14
|
(7) я попытался стелепатировать =)
|
|||
9
ДенисЧ
29.05.13
✎
22:15
|
(8) не очень летает :-)
|
|||
10
zak555
29.05.13
✎
22:22
|
мисти это почти как мстя мисте
|
|||
11
Мисти
29.05.13
✎
22:22
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2 | И РеализацияТоваровУслуг.Номер ПОДОБНО &Р"; Запрос.УстановитьПараметр("Дата1", НачалоДня(ВыбНачПериода)); Запрос.УстановитьПараметр("Дата2", КонецДня(ВыбКонПериода)); Запрос.УстановитьПараметр("Р", "Р"); |
|||
12
Мисти
29.05.13
✎
22:23
|
Не работает!
|
|||
13
zak555
29.05.13
✎
22:24
|
Р --- это префикс органиазции ?
|
|||
14
ДенисЧ
29.05.13
✎
22:26
|
(11) БдЪЪЪЪЪЪ
Запрос.УстановитьПараметр("Р", "%Р"); |
|||
15
Uzumaki
29.05.13
✎
22:36
|
(14) Я так понимаю ошибка сознательна :)
|
|||
16
ДенисЧ
29.05.13
✎
22:36
|
(15) типа напоговорить?
|
|||
17
Живой Ископаемый
29.05.13
✎
22:37
|
2(12) работает, но правильно. то есть так как написано, а не так как вы себе воображаете
|
|||
18
Мисти
29.05.13
✎
22:38
|
Таки получилось! "Р%"
Спасибо, буду знать. |
|||
19
Живой Ископаемый
29.05.13
✎
22:54
|
а когда нужно будет отобрать те. у которых в номере есть "жг" или есть цифры 9 и 5 в люой комбинации на любых местах, что станешь делать? надеюсь на каждый такой случай заведешь веточку на форуме?
|
|||
20
Мисти
29.05.13
✎
23:11
|
(19) Сделаю по аналогии!
Вопрос - работает очень медленно. Что-то мне кажется, что перебором было бы быстрее. Кто скажет? На 7 - точно перебор работал быстрее запроса. |
|||
21
Живой Ископаемый
29.05.13
✎
23:13
|
а на основании чего так кажется? знания о реализации каких механизмов в платформе в8 вам позволяют так думать?
|
|||
22
Живой Ископаемый
29.05.13
✎
23:17
|
а что такое аналогия? ну вот например вам нужно выбрать документы, в номер которых обязательно встречаются 5 и 9 не обязательно подряд. Как вы станете делать?
|
|||
23
Мисти
29.05.13
✎
23:18
|
(21) На основании секундомера.
|
|||
24
SnarkHunter
29.05.13
✎
23:18
|
(20)Этот запрос фактически является перебором записей в таблице, поэтому и медленно работает.
|
|||
25
Живой Ископаемый
29.05.13
✎
23:20
|
2(23) и какое значение показывает секундомер в случае перебора?
|
|||
26
SnarkHunter
29.05.13
✎
23:22
|
В любом случае запрос отработает быстрее, несмотря на тейбл скан, чем перебор на клиенте с проверкой наличия символа в строке.
|
|||
27
Мисти
29.05.13
✎
23:23
|
Короче, зря старалась с запросом. Перебором 3 тыщи документов - за 5 секунд, а запросом - 3 документа за 5 секунд, а 3000 - вообще зависло, я не дождалась.
|
|||
28
К_Дач
29.05.13
✎
23:30
|
(27) со строками в запросах в 1С туговато
|
|||
29
Живой Ископаемый
29.05.13
✎
23:41
|
2(28) зато с доверием к беспочвенным и без пруфпикч заявлениям полуграмотных теток у 1сников хорошо.
http://screencast.com/t/57JPBvCU9eM На скринкасте водно, что один определенный документ с условием по ПОДОБНО отбирается за доли секунды |
|||
30
ssh2012
29.05.13
✎
23:52
|
(0)> условие Лев(Док.НомерДок,1)="Р"
ПОДСТРОКА(Док.НомерДок, 1, 1) = "Р" |
|||
31
artik2
29.05.13
✎
23:58
|
(29) 653 документа это очень мало. Попробуй на 1 млн документов.
|
|||
32
zippygrill
30.05.13
✎
00:03
|
А мадмузедь замужем?
|
|||
33
Лефмихалыч
30.05.13
✎
00:05
|
(29) с "полуграмотных" ты, пожалуй хватил лишка...
|
|||
34
Мисти
30.05.13
✎
00:09
|
(30) так а в запросе разве это можно написать?
|
|||
35
Живой Ископаемый
30.05.13
✎
00:10
|
2(31) почти 11 тысяч документов. или ты невнимательно смотрел. у авторши в тоже время - всего 3000, в 3.5 раза меньше.. и она бубнит о каих-то невероятных тормозах.
|
|||
36
Живой Ископаемый
30.05.13
✎
00:11
|
2(33) а как правильно? "чуть менее чем совсем неграмотных"?
|
|||
37
Лефмихалыч
30.05.13
✎
00:12
|
(36) слишком высоко оценил грамотность, имхо
|
|||
38
Живой Ископаемый
30.05.13
✎
00:12
|
ах.. 653 - это милисекунды . за которые выполняется запрос. к 11 тысячам документов. А запрос с подобно выполняется за 61 милисекунду
|
|||
39
Мисти
30.05.13
✎
00:12
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка.Номер, | РеализацияТоваровУслугТовары.Ссылка.Дата, | РеализацияТоваровУслугТовары.Сумма, | РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 | И РеализацияТоваровУслугТовары.Ссылка.Номер ПОДОБНО &Р | И РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления = &Ложь"; Запрос.УстановитьПараметр("Дата1", НачалоДня(ВыбНачПериода)); Запрос.УстановитьПараметр("Дата2", КонецДня(ВыбКонПериода)); Запрос.УстановитьПараметр("Р", "Р%"); Запрос.УстановитьПараметр("Ложь", Ложь); СписокДок = Запрос.Выполнить().Выгрузить(); |
|||
40
Мисти
30.05.13
✎
00:13
|
Что я не так написала, что у меня так долго считается?
|
|||
41
Живой Ископаемый
30.05.13
✎
00:15
|
господи.. ну а зачем запрос к табличной части-то?
|
|||
42
KUBIK
30.05.13
✎
00:16
|
(39)
Запрос к ТЧ дабы вытащить ссылку... Навеяло в ЛК ТС: "...политика, театр, архитектура" = "суд, Сибирь" "может в консерватории поменять" |
|||
43
Мисти
30.05.13
✎
00:17
|
мне сумма по товарам нужна.
|
|||
44
Живой Ископаемый
30.05.13
✎
00:18
|
давай тогда уж если ты с перебором решила запрос состязать, то перебор то перебирать тоже будешь строки табличных частей.
|
|||
45
Живой Ископаемый
30.05.13
✎
00:18
|
2(43) и что?
|
|||
46
Мисти
30.05.13
✎
00:18
|
А там я Итог беру.
|
|||
47
KUBIK
30.05.13
✎
00:18
|
(43) МВТ помжет
|
|||
48
Живой Ископаемый
30.05.13
✎
00:19
|
ну и дура. вместо того чтобы отобрать нужный документ за доли секунды. и взять итоги уже только по нему одному
|
|||
49
Мисти
30.05.13
✎
00:19
|
(47) Не знаю, что это.
|
|||
50
Мисти
30.05.13
✎
00:20
|
А он у меня не один!
Предполагается, что штук 500 - нужных и штук 500 не нужных. |
|||
51
Живой Ископаемый
30.05.13
✎
00:20
|
2(47) блин, ну зачем так по-хамски? и почему в конце концов именно он, а не пакетный запрос? а не подзапрос?
|
|||
52
KUBIK
30.05.13
✎
00:20
|
(49) В этом и беда...
|
|||
53
Живой Ископаемый
30.05.13
✎
00:20
|
2(50) ну и что?
|
|||
54
Мисти
30.05.13
✎
00:21
|
Точнее, даже не так, мне нужна сумма по всем, где есть "Р" и сумма по всем, где нет "Р".
При этом документы могут быть непроведенные. |
|||
55
Мисти
30.05.13
✎
00:22
|
Короче, перебором всё работает, и быстро.
Если кто подскажет, как сделать запросом быстро - скажу спасибо. |
|||
56
Живой Ископаемый
30.05.13
✎
00:23
|
2(54) почему ты думаешь, что это кому-то интересно, и что эти детали отменяют все выше сказанное?
вот на основании знаний о реализации каких механизмов платформы? |
|||
57
Живой Ископаемый
30.05.13
✎
00:23
|
2(55) господь с вами, оставайтесь незамутненной.
|
|||
58
Лефмихалыч
30.05.13
✎
00:25
|
(39) добавь еще пару декартовых произведений в запрос, иначе скучно же, да и серверу делать нечего
|
|||
59
Мисти
30.05.13
✎
00:26
|
Так как надо было сделать?
Перебирать потом то, что получено в запросе? |
|||
60
Живой Ископаемый
30.05.13
✎
00:28
|
2(59) гы... но только раз 10 чур.
|
|||
61
Мисти
30.05.13
✎
00:29
|
Как найти итог по таб. части "товары", не делая запрос к таб. части?
|
|||
62
Мисти
30.05.13
✎
00:30
|
суммаДокумента содержит еще и услуги, меня это не устраивает.
|
|||
63
KUBIK
30.05.13
✎
00:30
|
(59) брось это дело - лучше цветочки полей, внуков и деда покорми ... :))))
|
|||
64
Лефмихалыч
30.05.13
✎
00:32
|
(59) почти совсем правильно было уже в (11), подкосило тебя только желание поскорее нафигачить код и маниакальное стремление не читать документацию (или это просто боязнь Shift+F1?..)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2 | И РеализацияТоваровУслуг.Номер ПОДОБНО ""Р%"""; Запрос.УстановитьПараметр("Дата1", НачалоДня(ВыбНачПериода)); Запрос.УстановитьПараметр("Дата2", КонецДня(ВыбКонПериода)); |
|||
65
Мисти
30.05.13
✎
00:32
|
А что, сложно ответить по существу?
|
|||
66
Живой Ископаемый
30.05.13
✎
00:32
|
2(62) всем правда, не все равно. что вас не устраивает. все переживают
|
|||
67
Лефмихалыч
30.05.13
✎
00:33
|
(65) ответить нет ни чего сложного. Просто каким-то невероятным образом тебе ответы не помогают
|
|||
68
Живой Ископаемый
30.05.13
✎
00:33
|
2(65) а смысл? вы ведь все равно сделаете по-другому, а выводы высосете из пальца.
|
|||
69
Мисти
30.05.13
✎
00:33
|
(67) Ну а сумму-то где я возьму?
|
|||
70
Мисти
30.05.13
✎
00:34
|
(66) Можно не читать! Полно других тем. И сайтов. И книжек!
|
|||
71
KUBIK
30.05.13
✎
00:36
|
(69) МВТ :))))
|
|||
72
Лефмихалыч
30.05.13
✎
00:36
|
а у документа нет реквизита СуммаДокумента или СуммаПоДокументу? если конфа типовая, то обязан быть.
|
|||
73
Мисти
30.05.13
✎
00:38
|
(72) Есть! Но там и товар и услуги, а мне только товар нужен.
|
|||
74
ssh2012
30.05.13
✎
00:40
|
(34) можно
|
|||
75
Живой Ископаемый
30.05.13
✎
00:43
|
(70) окей, метну еще раз биссер:
http://screencast.com/t/57JPBvCU9eM |
|||
76
Живой Ископаемый
30.05.13
✎
00:43
|
покажите как вы с ним поступите
|
|||
77
Живой Ископаемый
30.05.13
✎
00:45
|
стоп, не та ссылка
|
|||
78
Мисти
30.05.13
✎
00:46
|
Ага, вот и я смотрю - то же самое!
|
|||
79
Живой Ископаемый
30.05.13
✎
00:46
|
||||
80
Живой Ископаемый
30.05.13
✎
00:47
|
2(73) и каков критерий отличия услуг от товаров? может такой, что услуги находятся в другой табличной части?
|
|||
81
KUBIK
30.05.13
✎
00:47
|
(75) " не в коня корм..."
а ролик +1 |
|||
82
viktor_vv
30.05.13
✎
00:52
|
Раз уж у вас тут такая пьянка, мне самому интересно, если без ВТ, вот так будет быстрее?
Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка.Номер, | РеализацияТоваровУслугТовары.Ссылка.Дата, | РеализацияТоваровУслугТовары.Сумма, | РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | Внутреннее соединение Документ.РеализацияТоваровУслуг КАК ДокШапка | ПО ДокШапка.Ссылка = РеализацияТоваровУслугТовары.Ссылка |ГДЕ | ДокШапка.Дата МЕЖДУ &Дата1 И &Дата2 | И ДокШапка.Номер ПОДОБНО &Р | И ДокШапка.ПометкаУдаления = &Ложь"; |
|||
83
Живой Ископаемый
30.05.13
✎
00:52
|
блин, хорошо хоть в буфере ссылка была на безобидный скринкаст а не топик на порнолабе...
|
|||
84
Живой Ископаемый
30.05.13
✎
00:53
|
2(82)так намного лучше чем в (79) или с МВТ
|
|||
85
Мисти
30.05.13
✎
00:56
|
Чем лучше? И что такое МВТ?
А 79 я поняла! Только сама так никогда не писала, ну научусь! |
|||
86
Живой Ископаемый
30.05.13
✎
00:56
|
менеджер временных таблиц
|
|||
87
Живой Ископаемый
30.05.13
✎
00:57
|
лучше тем что все в одном запросе, без пакетов и менеджеров временных таблиц, потому что каждая лишняя сущность - это оверхэды на его создание и утилизацию
|
|||
88
Мисти
30.05.13
✎
00:57
|
А! Я уже придумала "внутренние таблицы"
Так как красивше-то? |
|||
89
Мисти
30.05.13
✎
00:58
|
победил номер 82?
И так понятнее, кстати, написано! |
|||
90
KUBIK
30.05.13
✎
00:58
|
(88) с цветочками! :)))
|
|||
91
viktor_vv
30.05.13
✎
00:59
|
(87) Ну так-то да, тем более тут простые соединения, планировщику особых проблем не должно быть.
|
|||
92
Мисти
30.05.13
✎
01:02
|
Завтра проверю.
|
|||
93
Drac0
30.05.13
✎
01:09
|
(82)(84) А условия из ГДЕ вынести в условие соединения профит даст?
|
|||
94
Лефмихалыч
30.05.13
✎
01:12
|
(93) в теории ни какого. Более того, можно условия соединения полностью перенести в ГДЕ, буде то же самое. На практике все зависит от того, что получится после трансляции в SQL и какой план запроса выберет оптимизатор
|
|||
95
Мисти
30.05.13
✎
01:15
|
А если база дбф?
|
|||
96
Лефмихалыч
30.05.13
✎
01:16
|
(95) не бывает таких баз в восьмерке. На счет файловой не скажу - там и БД гогно, и запросы тухлые
|
|||
97
Живой Ископаемый
30.05.13
✎
01:18
|
2(95) зачем вам это? вы проверили запрос, он выполнился дольше секунды и вам это невыносимо?
|
|||
98
Мисти
30.05.13
✎
01:19
|
(96) Ну да, файловая.
(97) Очень даже выносимо! Я рада, что узнала новое-полезное. |
|||
99
Живой Ископаемый
30.05.13
✎
01:21
|
чтоже вы такое узнали, если так и не сказали какая будет аналогия, если отобрать документы нужно будет с двумя разными цифрами в номере в разном порядке?
|
|||
100
KUBIK
30.05.13
✎
01:26
|
сотко - цветочек! :))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |