|
v8: Хочу выбрать из ТЧ документа всю номенклатуру с видом "услуга" | ☑ | ||
---|---|---|---|---|
0
oslokot
17.01.14
✎
13:19
|
Хочу выбрать из ТЧ документа всю номенклатуру с видом "услуга"
ВЫБРАТЬ Товары.Номенклатура КАК Номенклатура, Товары.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры ПОМЕСТИТЬ ВтТовары ИЗ &Товары КАК Товары ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтТовары.Номенклатура КАК Номенклатура, ВтТовары.ВидНоменклатуры КАК ВидНоменклатуры ИЗ ВтТовары КАК ВтТовары ГДЕ ВтТовары.ВидНоменклатуры = &ВидНоменклатурыУслуга п.с. Товары - это ТЧ документа. Ругается: Поле не найдено "Товары.Номенклатура.ВидНоменклатуры" Что делать? |
|||
38
Wobland
17.01.14
✎
13:57
|
(37) справочник.вид из твоя ТЗ левое справочник
|
|||
39
oslokot
17.01.14
✎
13:58
|
(38) да ругается все равно: При выборе данных из объекта в запросе не могут присутствовать соединения и объединения
|
|||
40
oslokot
17.01.14
✎
13:58
|
ВЫБРАТЬ
Товары.Номенклатура КАК Номенклатура, Товары.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, ВидыНоменклатуры.Ссылка ПОМЕСТИТЬ ВтТовары ИЗ &Товары КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры ПО Товары.Номенклатура.ВидНоменклатуры = ВидыНоменклатуры.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтТовары.Номенклатура КАК Номенклатура ИЗ ВтТовары КАК ВтТовары |
|||
41
Wobland
17.01.14
✎
13:59
|
(39) справочник.вид из ВТ_из_твоей_ТЗ левое справочник
|
|||
42
olegves
17.01.14
✎
13:59
|
(34) если УФ, то надо вызывать процедуру с &НаСервере, чтобы найти строки
|
|||
43
Wobland
17.01.14
✎
14:00
|
(40) откуда внезапно возник Справочник.ВидыНоменклатуры?
|
|||
44
Wobland
17.01.14
✎
14:00
|
(42) это хорошо или плохо?
|
|||
45
olegves
17.01.14
✎
14:01
|
(41) строки перебрать не быстрее будет?
|
|||
46
oslokot
17.01.14
✎
14:01
|
(44) ща, секунду. я чето настряпал не то...
|
|||
47
Wobland
17.01.14
✎
14:02
|
(45) да кришна его знает. у автора уже букет вариантов
|
|||
48
olegves
17.01.14
✎
14:02
|
(44) по другому в УФ не работает
|
|||
49
Мимохожий Однако
17.01.14
✎
14:04
|
Выбирай из ТЧ Услуги
|
|||
50
hhhh
17.01.14
✎
14:11
|
(45) нет не будет. Это запрос в цикле получится.
|
|||
51
Жан Пердежон
17.01.14
✎
14:12
|
(48) из первого запроса в (0) убераешься строку, на которую ругается
и во второй запрос добавляешь левое соединение (или через точку) |
|||
52
oslokot
17.01.14
✎
14:21
|
(8) (51) тогда ругается на второй запрос ВтТовары.ВидНоменклатуры - не найдена
|
|||
53
Wobland
17.01.14
✎
14:25
|
напиши уже ПавильныйСправочник.ВидНоменклатуры
|
|||
54
oslokot
17.01.14
✎
14:51
|
(53) нифина не получается
ЛЕВОЕ соединение во втором запросе делать? |
|||
55
oslokot
17.01.14
✎
15:04
|
(51)
Типа так? ВЫБРАТЬ Товары.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ВтТовары ИЗ &Товары КАК Товары ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтТовары.Номенклатура КАК Номенклатура, ВидыНоменклатуры.Ссылка ИЗ ВтТовары КАК ВтТовары ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры ПО ВтТовары.Номенклатура.ВидНоменклатуры = ВидыНоменклатуры.Ссылка Но естественно ругается что нет поля "тТовары.Номенклатура.ВидНоменклатуры" |
|||
56
catena
17.01.14
✎
15:06
|
(55)Разберись уже, какой тип у тебя "Номенклатура" в ТЧ и что есть "ВидНоменклатуры" относительно справочника Номенклатура. Если в ТЧ справочник и видНоменклатуры - реквизит, никаких танцев с бубном не надо.
|
|||
57
Aprobator
17.01.14
✎
15:09
|
(0) Покажи как ты параметр Товары заполняешь и не имей людям мозг.
|
|||
58
Aprobator
17.01.14
✎
15:10
|
и что за документ такой, в котором товары и услуги в одной ТЧ лежат?
|
|||
59
Kalambur
17.01.14
✎
15:12
|
ВЫБРАТЬ
Товары.Номенклатура КАК Номенклатура, ВидНоменклатуры.ТипНоменклатуры КАК УСЛУГАЙАТАКАЯ, ВидыНоменклатуры.Ссылка ПОМЕСТИТЬ ВтТовары ИЗ &Товары КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры ПО Товары.Номенклатура.ВидНоменклатуры = ВидыНоменклатуры.Ссылка ГДЕ ВидНоменклатуры.ТипНоменклатуры = &ВЫБЕРИМЕНЯВПЕРЕЧИСЛЕНИЯХ ; ... |
|||
60
oslokot
17.01.14
✎
15:12
|
(56) Да все уже описано выше. Это типовая КА, хотите - УПП
Номенклатура это Справочник.Номенклатура. Реквизит ТЧ документа Номенклатура.ВидНоменклатуры - это ссылка на Справочник.ВидыНоменклатуры Реквизита "ВидНоменклатуры" в ТЧ документа НЕТ (57) Запрос.УстановитьПараметр("Товары", Товары.Выгрузить()); Запрос.УстановитьПараметр("ВидНоменклатурыУслуга", Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Услуга",Истина)); (58) Это мой самописный документ |
|||
61
catena
17.01.14
✎
15:15
|
(60)Не верю, доказывай скринами. Потому что если бы все было так, Номенклатура.Видноменклатуры в запросе работало бы.
|
|||
62
Aprobator
17.01.14
✎
15:17
|
(60) значит Номенклатура либо составной тип и есть пустое значение, либо номенклатура так же смотрит на самописный справочник.
|
|||
63
Aprobator
17.01.14
✎
15:17
|
...Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Услуга",Истина)... - вообще песня.
|
|||
64
Aprobator
17.01.14
✎
15:18
|
Поскольку типа Услуга может быть у нескольких видов номенклатуры.
|
|||
65
oslokot
17.01.14
✎
15:20
|
(61) (62) так он и есть. Типовой справочник Номенклатура, ТЧ документа "Номенклатура" НЕ составной реквизит, НЕ пустой.
(63) знаю, гамнокод, ну хотите так сделаю Запрос.УстановитьПараметр("ТипНоменклатурыУслуга", Перечисления.ТипыНоменклатуры.Услуга) вопростов нет. Просто не работает нихрена запрос в (0) |
|||
66
oslokot
17.01.14
✎
15:22
|
(61)
Товары.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры в (0) выдает ошибку "Поле не найдено" |
|||
67
catena
17.01.14
✎
15:24
|
(65)Либо конфигурацию скинь куда-нибудь, либо скрины показывай, где видно назначенные типы. Где-то ты врешь.
|
|||
68
oslokot
17.01.14
✎
15:28
|
(67) минуту, делаю скрины :)
|
|||
69
sapphire
17.01.14
✎
15:28
|
Идиотизм зашкаливал. Пятницо
|
|||
70
Aprobator
17.01.14
✎
15:31
|
(69) и не говори
|
|||
71
sapphire
17.01.14
✎
15:31
|
(55) У Вас не все в порядке с мозгами...
ВЫБРАТЬ Товары.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ВтТовары ИЗ &Товары КАК Товары ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтТовары.Номенклатура КАК Номенклатура, ВидыНоменклатуры.Ссылка ИЗ ВтТовары КАК ВтТовары ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура СпрНоменклатура ПО ВтТовары.Номенклатура = СпрНоменклатура.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры ПО СпрНоменклатура.ВидНоменклатуры = ВидыНоменклатуры.Ссылка |
|||
72
oslokot
17.01.14
✎
15:31
|
(69) я знал на что иду :)
|
|||
73
oslokot
17.01.14
✎
15:31
|
(67) вот http://savepic.net/4354527.jpg
|
|||
74
oslokot
17.01.14
✎
15:32
|
(71) согласен :) ща попробую ваш запрос
|
|||
75
Wobland
17.01.14
✎
15:32
|
завязывайте уже. нельзя ж столько этим онанизмом заниматься. впрочем, меньше сотни постов не выйдет ;)
|
|||
76
sapphire
17.01.14
✎
15:33
|
(75) Таки пятница :)
|
|||
77
salvator
17.01.14
✎
15:34
|
(73) Значит нет такого поля в справочнике Номенклатура.
Конструктором пользуйся. |
|||
78
Wobland
17.01.14
✎
15:35
|
oslokot, давай шайтан-вьюер, я тебе сделаю по-быстрому ;)
|
|||
79
Aprobator
17.01.14
✎
15:36
|
(77) кто ж его спер оттуда?
|
|||
80
sapphire
17.01.14
✎
15:37
|
А вообще сводится всё к одному запорсу, жаль что ТС настолько не догадлив :)
Хочу выбрать из ТЧ документа всю номенклатуру с видом "услуга" ЭКВИВАЛЕНТНО: ВЫБРАТЬ СпрНоменкалтура.* ИЗ Справочник.Номенклатура СпрНоменкалтура ГДЕ СпрНоменкалтура.Ссылка В (&Товары) И СпрНоменкалтура.ВидНоменклатуры=&Услуга |
|||
81
salvator
17.01.14
✎
15:37
|
(79) Ну либо Номенклатура - не ссылка на справочник "номенклатура"
|
|||
82
sapphire
17.01.14
✎
15:38
|
(77) Еще один мега гуру...
Не надо выставлять своё невежество напоказ :) |
|||
83
sapphire
17.01.14
✎
15:38
|
(81) Нормально там с типами всё
ПРОСТО НЕ НАДО МНОГОТОЧИЯМИ ПОЛЬЗОВАТСЯ |
|||
84
sapphire
17.01.14
✎
15:39
|
(81) Если указать явно соединения с необходимыми таблицами, то все будет нормально.
|
|||
85
oslokot
17.01.14
✎
15:39
|
Ща, минутку, пытаюсь изобразить (71)
|
|||
86
oslokot
17.01.14
✎
15:43
|
Вот что в итоге. Заработало:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ ВтТовары |ИЗ | &Товары КАК Товары |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВтТовары.Номенклатура КАК Номенклатура, | ВидыНоменклатуры.Ссылка |ИЗ | ВтТовары КАК ВтТовары | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура | ПО ВтТовары.Номенклатура = СпрНоменклатура.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры | ПО (СпрНоменклатура.ВидНоменклатуры = ВидыНоменклатуры.Ссылка) |ГДЕ | ВидыНоменклатуры.ТипНоменклатуры = &ТипНоменклатурыУслуга"; Запрос.УстановитьПараметр("Товары", Товары.Выгрузить()); Запрос.УстановитьПараметр("ТипНоменклатурыУслуга", Перечисления.ТипыНоменклатуры.Услуга); |
|||
87
Wobland
17.01.14
✎
15:44
|
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура
убери с тебя стишок или песенка ;) |
|||
88
sapphire
17.01.14
✎
15:45
|
(86) Если на поля таблицы из ЛЕВОЕ СОЕДИНЕНИЕ накладывается условие в ГДЕ, то ЛЕВОЕ СОЕДИНЕНИЕ становится ВНУТРЕННИМ.
|
|||
89
sapphire
17.01.14
✎
15:45
|
(87) издеваешься? :)
|
|||
90
sapphire
17.01.14
✎
15:46
|
(86) Времянка-то зачем?
Разве ты потом используешь номер строки где-либо? |
|||
91
Wobland
17.01.14
✎
15:46
|
коллеги, я сдуру ляпнул или там справочник номенклатуры не нужен?
|
|||
92
catena
17.01.14
✎
15:46
|
(83)Да ладно, (55) должно работать в указанных реалиях по-любому.
|
|||
93
sapphire
17.01.14
✎
15:46
|
(86) До тебя дошло ПОЧЕМУ заработало?
|
|||
94
sapphire
17.01.14
✎
15:47
|
(92) фиг вам. Не обязано. Я п клавиатурой по вывески йопнул бы за такой код....
SELECT * FROM * |
|||
95
sapphire
17.01.14
✎
15:48
|
(91) Сдуру
|
|||
96
oslokot
17.01.14
✎
15:48
|
(90) я не понял, что за времянка?
(93) пока нет |
|||
97
Aprobator
17.01.14
✎
15:48
|
(92) если только в ТЧ не затесалась пустая номенклатура. Что по видимому мы тут и наблюдаем. Проверки заполнения то, судя по скрину, у товарища нет.
|
|||
98
Aprobator
17.01.14
✎
15:49
|
кака раз связь со справочником номенклатуры эту пустую номенклатуру то и рубанула.
|
|||
99
oslokot
17.01.14
✎
15:49
|
(97) нету пустой номенклатуры, клянусь
|
|||
100
sapphire
17.01.14
✎
15:49
|
(97) А если в ТЧ поле Номенклатура - составного типа, чо тогда?
Как по Вашему платформа должна определить тип?! |
|||
101
Aprobator
17.01.14
✎
15:51
|
(100) уже спрашивал - грит, что не составной.
|
|||
102
Aprobator
17.01.14
✎
15:51
|
+(101) на скриен в 73 можно посмотреть.
|
|||
103
sapphire
17.01.14
✎
15:51
|
(101) Без разницы.
|
|||
104
sapphire
17.01.14
✎
15:52
|
(102) Плевать, даже скрин не нужен
|
|||
105
catena
17.01.14
✎
15:52
|
(97)Да вы гоните, товарищи, если тип не составной, даже с пустой строкой работает без всяких(явных) соединений. Неоптимально, да, но работать-то будет.
|
|||
106
sapphire
17.01.14
✎
15:52
|
(105) Ну-ну. За неявные соединения увольнять надо.
|
|||
107
oslokot
17.01.14
✎
15:53
|
(105) да, но почему у меня не работает?
Скрин дал, В ТЧ Товары 2 записи. Пустых нет |
|||
108
catena
17.01.14
✎
15:53
|
(106)Речь-то не о том. Ошибок давать не должно. А у него (55) вообще не выполнялось.
|
|||
109
sapphire
17.01.14
✎
15:54
|
(108) Да правильно оно ругнулось.
|
|||
110
sapphire
17.01.14
✎
15:54
|
(105) Да ну?
|
|||
111
Wobland
17.01.14
✎
15:55
|
(107) (108) кто убил группу Дятлова?
|
|||
112
catena
17.01.14
✎
15:55
|
(110)ну да
http://savepic.net/4348368.png |
|||
113
catena
17.01.14
✎
15:55
|
И строка пустая и соединений нет. Без ошибок все прекрасно
|
|||
114
sapphire
17.01.14
✎
15:57
|
(112) Как минимум, платформы - разные :)))
у тебя явно 8.1 - у него 8.2 :)))) |
|||
115
Aprobator
17.01.14
✎
15:58
|
(113) условие тока добавь еще, так для контрольки.
|
|||
116
sapphire
17.01.14
✎
15:58
|
(111) диверсанты... едем дальше
|
|||
117
sapphire
17.01.14
✎
15:59
|
(115) У неё древняя платформа.
|
|||
118
oslokot
17.01.14
✎
16:01
|
(117) а, то есть запрос в (0) по определению работать не может?
|
|||
119
sapphire
17.01.14
✎
16:02
|
(118) На платформах, кроме 8.1 - да.
|
|||
120
catena
17.01.14
✎
16:02
|
||||
121
catena
17.01.14
✎
16:03
|
8.2.18.61
|
|||
122
catena
17.01.14
✎
16:03
|
А запрос (0) не работает по-любому, я про (55) сейчас
|
|||
123
catena
17.01.14
✎
16:04
|
Всё, я домой, вернусь с пивом :)
|
|||
124
sapphire
17.01.14
✎
16:04
|
(120) А ты как думала :)
|
|||
125
oslokot
17.01.14
✎
16:06
|
(124) можно еще вопрос?
|
|||
126
sapphire
17.01.14
✎
16:07
|
(125) ?
|
|||
127
Aprobator
17.01.14
✎
16:08
|
по логике вещей тут и ТЧ выгружать то не надо, а только одну конкретную колонку.
|
|||
128
oslokot
17.01.14
✎
16:09
|
(126) получившийся запрос (86) оптимален? или там левое на внутреннее поменять надо?
|
|||
129
sapphire
17.01.14
✎
16:11
|
(128) левое на внутреннее поменять надо
|
|||
130
sapphire
17.01.14
✎
16:11
|
(127) Ну там временки ваще не нужны, ИМХО
|
|||
131
oslokot
17.01.14
✎
16:14
|
(129) Просто какойто громоздкий запрос получился
|
|||
132
Aprobator
17.01.14
✎
16:15
|
(130) если документ не записан, то куда без них?
|
|||
133
sapphire
17.01.14
✎
16:25
|
(132) Без разницы передавать надо не ТЗ а массив исходя из (0) запрос намного проще будет - одна строка
|
|||
134
oslokot
17.01.14
✎
16:27
|
(133) Вы мне скажите только, почему не находит поле "Товары.Номенклатура.ВидНоменклатуры" в (0)? Потому что платформа 8.2?
|
|||
135
sapphire
17.01.14
✎
16:48
|
(134) Потому что "Это неправильные пчелы, Пятачок" (с)
Даже особо вникать не хочу. Если указывать явно соединения, то ошибок и глупостей намного меньше, да писанины больше, зато ясности КАК это работает заведомо больше. Товары - времянка, а не физическая таблица справочника со всеми реквизитами. |
|||
136
oslokot
17.01.14
✎
16:50
|
(135) Ну все равно спасибо! за учебу
|
|||
137
hhhh
17.01.14
✎
16:52
|
(99) вроде должна быть таб часть услуги, там услуги. В таб часть товары - там товары. Зачем вы в одну тч всё сгрузили?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |