|
помогите с условием в запросе | ☑ | ||
---|---|---|---|---|
0
Razzle Kay
17.05.18
✎
14:09
|
нужен отчет в виде
ФИО Ящик КолВо Ящик КолВо берётся из Возврат товара от покупателя всё понятно, только ФИО - реквизит "водитель" нужно, чтобы водители были только те, которые присутствуют в справочнике уатСотрудники т.е. я знаю, как сделать всё, кроме "отбора" водителя по справочнику уатСотрудники как делать не понятно |
|||
1
palladyi
17.05.18
✎
14:10
|
Внутренним соединением?
|
|||
2
Волшебник
17.05.18
✎
14:11
|
ГДЕ Сотрудник В (ВЫБРАТЬ Ссылка ИЗ уатСотрудники)
|
|||
3
Волшебник
17.05.18
✎
14:11
|
Запрос к документу — плохая примета.
|
|||
4
DrWatson
17.05.18
✎
14:12
|
а в возвратах какие ФИО, не справочник уатСотрудники?
|
|||
5
Razzle Kay
17.05.18
✎
14:13
|
(4) не только
|
|||
6
palladyi
17.05.18
✎
14:16
|
Внутреннее соединение ПО Водитель.Ссылка = уатСотрудники.Ссылка
|
|||
7
DrWatson
17.05.18
✎
14:16
|
(5) Опиши что у тебя в возвратах - какой реквизит(ы), какого он типа?
|
|||
8
Razzle Kay
17.05.18
✎
14:22
|
(7) физлицо
|
|||
9
DrWatson
17.05.18
✎
14:29
|
(8) И что бы это значило? Тип такой?
Т.е. ссылки на уатСотрудники там напрямую нет? |
|||
10
Razzle Kay
17.05.18
✎
14:30
|
(9) справочник ФизЛица
и в уатСотрудники есть реквизит с ссылкой на ФизЛица ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ПО (ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Водитель.Ссылка = уатСотрудники.Ссылка) пойдёт? |
|||
11
DrWatson
17.05.18
✎
14:32
|
ПО (ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Водитель.= уатСотрудники.ФизЛицо)
|
|||
12
Razzle Kay
17.05.18
✎
14:35
|
(11) спасибо, надо скд почитать )
|
|||
13
Razzle Kay
18.05.18
✎
13:32
|
ВЫБРАТЬ
ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура.Ссылка КАК НаименованиеЯщика, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество, ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель.Ссылка КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.уатСотрудники КАК уатСотрудники ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель = уатСотрудники.ФизЛицо ГДЕ ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Проведен И ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.ПометкаУдаления = ЛОЖЬ И ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Дата МЕЖДУ &ДатаНачало И &ДатаКонец Как оптимизировать ? На некоторых компах пишет недостаточно оперативной памяти при клике на 'Сформировать" с дата с 01 04 18 по 30 04 18 |
|||
14
Nikoss
18.05.18
✎
13:36
|
(13) зачем везде ".Ссылка..."
убери и все заработает |
|||
15
Razzle Kay
18.05.18
✎
13:37
|
(14) шутите ?
|
|||
16
kda26
18.05.18
✎
13:39
|
По грамотному нужно делать запрос к регистру накопления Продажи.
|
|||
18
catena
18.05.18
✎
13:42
|
(15) В полях .Ссылка убирай.
|
|||
19
Nikoss
18.05.18
✎
13:42
|
(15) пародон... это же ТЧ, не углядел
|
|||
20
Nikoss
18.05.18
✎
13:42
|
(18) в полях да, но не более
|
|||
21
Nikoss
18.05.18
✎
13:43
|
Надо заранее отобрать данные... иначе запрос берет сначала все документы, делает внутренне соедение, и только потом условия накладываются
|
|||
22
catena
18.05.18
✎
13:44
|
" И ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.ПометкаУдаления = ЛОЖЬ
" Так не надо. Во-первых, НЕ ПометкаУдаления, во-вторых проведенный документ не может быть помечен на удаление. |
|||
23
palladyi
18.05.18
✎
13:44
|
Присоедини таблицу ВозвратТоваровОтПокупателя внутренним соединением, все обращения через две "." замени на обращение через эту таблицу с 1 "."
|
|||
24
palladyi
18.05.18
✎
13:46
|
И тут "ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель.Ссылка" не нужна .Ссылка
|
|||
25
Razzle Kay
18.05.18
✎
13:48
|
(23) а у меня же и так внутреннее соединение ?
ВЫБРАТЬ ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура КАК НаименованиеЯщика, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество, ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.уатСотрудники КАК уатСотрудники ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель = уатСотрудники.ФизЛицо ГДЕ ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Проведен И ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Дата МЕЖДУ &ДатаНачало И &ДатаКонец |
|||
26
palladyi
18.05.18
✎
13:51
|
(25) добавь еще одно. К самому документу, не к его таблице тары.
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК Возврат ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка = Возврат.Ссылка |
|||
27
palladyi
18.05.18
✎
13:51
|
+ (26) даже лучше сам документ основным сделать, а к нему присоединить тару и сотрудников
|
|||
28
Razzle Kay
18.05.18
✎
13:53
|
(27) с СКД ток начинаю работать и не особо понимаю, зачем (25) ?
|
|||
29
Razzle Kay
18.05.18
✎
13:53
|
ВЫБРАТЬ
ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура КАК НаименованиеЯщика, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество, ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.уатСотрудники КАК уатСотрудники ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель = уатСотрудники.ФизЛицо ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя КАК Возврат ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка = Возврат.Ссылка ГДЕ ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Проведен И ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.Дата МЕЖДУ &ДатаНачало И &ДатаКонец имеете ввиду так? |
|||
30
palladyi
18.05.18
✎
13:56
|
(29) Нужно уйти от запросов через две точки (то есть через 2 таблицы обращение) для этого нужно все присоединять к документу, а не к его таблице тары
ВЫБРАТЬ ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура КАК НаименованиеЯщика, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество, Возврат.битВодитель КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя КАК Возврат ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.уатСотрудники КАК уатСотрудники ПО Возврат.битВодитель = уатСотрудники.ФизЛицо ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка = Возврат.Ссылка ГДЕ Возврат.Проведен И Возврат.Дата МЕЖДУ &ДатаНачало И &ДатаКонец так |
|||
31
palladyi
18.05.18
✎
13:58
|
(28) тут суть не в СКД, а в запросах)
|
|||
32
Razzle Kay
18.05.18
✎
13:58
|
(31) имел ввиду запросы*)
|
|||
33
Razzle Kay
18.05.18
✎
14:00
|
(31) Всё равно, так же долго формируется
|
|||
34
Razzle Kay
18.05.18
✎
14:02
|
японимаю, что правильнее было бы обращаться к РН продажи
но не совсем понимаю, как правильно запрос написать |
|||
35
Nikoss
18.05.18
✎
14:06
|
(34)
если к документу обращаться, то вот так: ВЫБРАТЬ Возврат.Ссылка КАК Ссылка, Возврат.битВодитель КАК ФИОВодителя ПОМЕСТИТЬ ВремТаб ИЗ Документ.ВозвратТоваровОтПокупателя КАК Возврат ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.уатСотрудники КАК уатСотрудники ПО Возврат.битВодитель = уатСотрудники.ФизЛицо ГДЕ Возврат.Проведен И Возврат.Дата МЕЖДУ &ДатаНачало И &ДатаКонец ; ВЫБРАТЬ ВремТаб.ФИОВодителя, ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество ИЗ ВремТаб КАК ВремТаб ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка = Возврат.Ссылка писал на коленке, поэтому могут быть синтаксические ошибки |
|||
36
Razzle Kay
18.05.18
✎
14:10
|
хз, все варианты долг оформируют за месяц(
|
|||
37
palladyi
18.05.18
✎
14:13
|
(36) Долго, это сколько? И сколько документов за месяц?
И еще - долго запрос работает, или долго формируется отчет в СКД? |
|||
38
Nikoss
18.05.18
✎
14:14
|
последний вариант, если и он долго, надо идти в сторону регистра
ВЫБРАТЬ Возврат.Ссылка КАК Ссылка, Возврат.битВодитель КАК ФИОВодителя ПОМЕСТИТЬ ВремТаб ИЗ Документ.ВозвратТоваровОтПокупателя КАК Возврат ГДЕ Возврат.Проведен И Возврат.Дата МЕЖДУ &ДатаНачало И &ДатаКонец И Возврат.битВодитель В (ВЫБРАТЬ уатСотрудники.ФизЛицо ИЗ Справочник.уатСотрудники КАК уатСотрудники ; ВЫБРАТЬ ВремТаб.ФИОВодителя, ВозвратТоваровОтПокупателяВозвратнаяТара.Номенклатура, ВозвратТоваровОтПокупателяВозвратнаяТара.Количество ИЗ ВремТаб КАК ВремТаб ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя.ВозвратнаяТара КАК ВозвратТоваровОтПокупателяВозвратнаяТара ПО ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка = Возврат.Ссылка |
|||
39
Razzle Kay
18.05.18
✎
14:17
|
(37) отчет формируется минуты 4 за месяц документов достаточно, но не много
|
|||
40
Nikoss
18.05.18
✎
14:18
|
(39) в консоле запросов, запрос из (38) за сколько отрабатывает?
|
|||
41
kda26
18.05.18
✎
14:19
|
ВЫБРАТЬ
ПродажиОбороты.Регистратор КАК Ссылка ПОМЕСТИТЬ ВТ_ВОЗВРАТЫ ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты ГДЕ ПродажиОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя СГРУППИРОВАТЬ ПО ПродажиОбороты.Регистратор Далее левое соединение с ТЧ Возвратная тара по ссылке, далее левое соединение с Справочник.уатСотрудники |
|||
42
Nikoss
18.05.18
✎
14:32
|
(41) ох я сомневаюсь, что такой подход будет более производительный
и вообще в регистре продаж есть возвратная тара? |
|||
43
kda26
18.05.18
✎
14:35
|
(42) Нет, ВозвратнаяТара это ТЧ, потому и соединение с ТЧ. ТСу замерить производительность и выбрать оптимум.
|
|||
44
Razzle Kay
18.05.18
✎
14:38
|
(40) (38) вообще ничего не выбирает
|
|||
45
Nikoss
18.05.18
✎
14:38
|
(43) если движений возвратной тары нет в регистре, то и смысла к нему обращаться никакого...
Только для того чтобы отобрать документы? Явно производительнее будет по самому документу сделать запрос. |
|||
46
Nikoss
18.05.18
✎
14:41
|
(44) не могёт такого быть
перовая часть запроса, до ";" сколько записей выдаёт? |
|||
47
kda26
18.05.18
✎
14:47
|
//вложенный запрос в условии плохо.
//поместить водителей в ВТ ВЫБРАТЬ уатСотрудники.ФизЛицо ПОМЕСТИТЬ ВТ_ВОДИТЕЛИ ИЗ Справочник.уатСотрудники КАК уатСотрудники |
|||
48
Razzle Kay
18.05.18
✎
14:47
|
(46) а как его выполнить ДО ;
|
|||
49
Razzle Kay
18.05.18
✎
14:48
|
||||
50
Nikoss
18.05.18
✎
14:49
|
(47), из ВТ все равно выбирать)
хотя да, ВТ в памяти храниться будет, то должно быть получше, опять же зависит от кол-во записей, может быть совсем незначительное изменение времени исполнения запроса |
|||
51
Nikoss
18.05.18
✎
14:50
|
(49) убери строку с "поместить" и ";"
|
|||
52
Nikoss
18.05.18
✎
14:50
|
+(51) убери = удали ))
|
|||
53
kda26
18.05.18
✎
14:51
|
(50) Не будет на каждой итерации дергать базу
|
|||
54
Razzle Kay
18.05.18
✎
14:53
|
(51) повисло и предложило 'Отладка" и "закрыть программу"
|
|||
55
Nikoss
18.05.18
✎
14:54
|
(54) Вот такой запрос повесил базу?
ВЫБРАТЬ Возврат.Ссылка КАК Ссылка, Возврат.битВодитель КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя КАК Возврат ГДЕ Возврат.Проведен И Возврат.Дата МЕЖДУ &ДатаНачало И &ДатаКонец И Возврат.битВодитель В (ВЫБРАТЬ уатСотрудники.ФизЛицо ИЗ Справочник.уатСотрудники КАК уатСотрудники |
|||
56
Razzle Kay
18.05.18
✎
14:56
|
ну
|
|||
57
Razzle Kay
18.05.18
✎
14:56
|
мб из-за говно пк?
|
|||
58
Nikoss
18.05.18
✎
15:00
|
ВЫБРАТЬ уатСотрудники.ФизЛицо
ПОМЕСТИТЬ ВТ_ВОДИТЕЛИ ИЗ Справочник.уатСотрудники КАК уатСотрудники ; ВЫБРАТЬ Возврат.Ссылка КАК Ссылка, Возврат.битВодитель КАК ФИОВодителя ИЗ Документ.ВозвратТоваровОтПокупателя КАК Возврат ГДЕ Возврат.Проведен И Возврат.Дата МЕЖДУ &ДатаНачало И &ДатаКонец И Возврат.битВодитель В (ВЫБРАТЬ ВТ_ВОДИТЕЛИ.ФизЛицо ИЗ ВТ_ВОДИТЕЛИ КАК ВТ_ВОДИТЕЛИ) |
|||
59
kda26
18.05.18
✎
15:00
|
Параметры проверь, может там мега большой период.
|
|||
60
Nikoss
18.05.18
✎
15:01
|
(58) это последний шанс)
если и это повешает базу - беда) или у тебя там по 100 тыс документов в месяце и 200 тыс уатСотрудниев? |
|||
61
Razzle Kay
18.05.18
✎
15:02
|
(59) месяц
|
|||
62
Razzle Kay
18.05.18
✎
15:03
|
(60) ну доков в 2 раза помньше
а сотров подавно не 200к |
|||
63
Razzle Kay
18.05.18
✎
15:04
|
ладно, со свежей головой в пн с утра сяду и сделаю, всем спасибо за инфу)
|
|||
64
ColonelAp4u
18.05.18
✎
15:26
|
(62) 50к документов?
|
|||
65
Nikoss
18.05.18
✎
17:25
|
(64) причем возвратов? :-/
|
|||
66
Razzle Kay
22.05.18
✎
05:50
|
(65) возвратная тара
подскажите, как в скд уловие поставить "где реквизит1 заполнен" |
|||
67
catena
22.05.18
✎
06:08
|
(66)Зависит от типа незаполненности.
"не Есть NULL", "<>Неопределено", "<>Значение(Справочник.Такойто.ПустаяСсылка)" |
|||
68
Razzle Kay
22.05.18
✎
06:20
|
(67) ну вообще тип реквизита ссылка на спр физлица
|
|||
69
Razzle Kay
22.05.18
✎
06:29
|
(67) ВозвратТоваровОтПокупателяВозвратнаяТара.Ссылка.битВодитель <>
с этим как правильно ? |
|||
70
catena
22.05.18
✎
06:30
|
<>Значение(Справочник.ФизическиеЛица.ПустаяСсылка)
|
|||
71
Razzle Kay
22.05.18
✎
06:41
|
омг, я даун (70) спасибо, туплю жестко )
|
|||
72
Razzle Kay
05.06.18
✎
08:05
|
чтоб не плодить
как сделать в запросе условие "Если на основании Реализации есть Возврат, то эту Реализацию выводить не нужно" |
|||
73
catena
05.06.18
✎
08:23
|
1) не в (реализация,возврат)
2) левое соединение с Возврат где Возврат есть NULL |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |