Имя: Пароль:
1C
1С v8
v8: Как в запросе объединить 2 таблицы?
0 Мисти
 
17.12.12
13:12
ТекстЗапроса=
   "ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Товары.(
   |        Номенклатура,
   |        Количество,
   |        Сумма,
   |        СуммаНДС
   |    ),
   |    РеализацияТоваровУслуг.Услуги.(
   |        Номенклатура,
   |        Количество,
   |        Сумма,
   |        СуммаНДС
   |    ),
   |    РеализацияТоваровУслуг.Ссылка
   |ИЗ
   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |ГДЕ
   |    РеализацияТоваровУслуг.Ссылка = &Ссылка" ;
1 XLife
 
17.12.12
13:13
садись, 2
2 Мисти
 
17.12.12
13:13
Мне надо, чтобы на выходе была таблица, где подряд перечислены все строчки из товаров и из услуг.
3 Нуф-Нуф
 
17.12.12
13:13
отберите у нее комьютер
4 Godofsin
 
17.12.12
13:13
я бы даже сказал -2
5 pessok
 
17.12.12
13:13
Продажи.Обороты()
6 zak555
 
17.12.12
13:13
(2) зачем ?
их же разделили не даром
7 Мисти
 
17.12.12
13:14
(1) Да знаю, что 2! Не знаю, как правильно. Опять же, знаю, что могу поискать аналогии.
8 pessok
 
17.12.12
13:14
если уж ну СОВСЕМ надо из ТЧ тащить инфу, то ОБЪЕДИНИТЬ
9 Мисти
 
17.12.12
13:14
(5) От этого регистра уже отказались, там сумма только в валюте упр. учета, а мне в рублях нужна точная.
10 Мисти
 
17.12.12
13:15
(8) Даже знаю, что объединить, не знаю, как!
11 pessok
 
17.12.12
13:16
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
   РеализацияТоваровУслугТовары.Количество КАК Количество,
   РеализацияТоваровУслугТовары.Цена КАК Цена,
   РеализацияТоваровУслугТовары.Сумма КАК Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

ОБЪЕДИНИТЬ

ВЫБРАТЬ
   РеализацияТоваровУслугУслуги.Номенклатура,
   РеализацияТоваровУслугУслуги.Количество,
   РеализацияТоваровУслугУслуги.Цена,
   РеализацияТоваровУслугУслуги.Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
12 pessok
 
17.12.12
13:17
но это копрокод, и на спеце бы за такое сходу отправили домой
13 Нуф-Нуф
 
17.12.12
13:18
(12) почему?
14 Eugene_life
 
17.12.12
13:18
(12) Интересно, а за что на спеце пожали бы руку?
15 Pro-tone
 
17.12.12
13:19
+ (13) присоединяюсь к вопросу
16 pessok
 
17.12.12
13:19
(13) ну насколько я помню, раньше там категорически запрещали таскать инфу из ТЧ. Да и посмотрите типовые, только регистры. По хорошему тут надо объединять по Номенклатура.Услуга оборотный регистр
17 Нуф-Нуф
 
17.12.12
13:21
(16) болеете? а откуда, кроме как из табчасти взять данные для проведения по тем же регистрам.

строить отчеты по данным документам это западло. а обращаться к табчасти документа при проведении - единственно возможный вариант
18 pessok
 
17.12.12
13:22
(17) болею, я почему то решил для себя, что в (0) именно отчет, протелепатировал неверно? :)
19 Pro-tone
 
17.12.12
13:22
(16) вообще-то речь в (0) идет об объединении таблиц, и не сказано о том откуда тащить данные.
20 Нуф-Нуф
 
17.12.12
13:23
(18) ну да. неизвестно для какой цели она это делает
21 zak555
 
17.12.12
13:23
(17) > единственно возможный вариант

неединственный
22 pessok
 
17.12.12
13:23
(19) в (0) конкретный код. если этот код используется для построения отчета, то это копрокод.
23 pessok
 
17.12.12
13:23
ой давайте тока без холиваров в понедельник :)))
24 Нуф-Нуф
 
17.12.12
13:24
(21) выборка из табчасти?
25 pessok
 
17.12.12
13:25
(24) ну как вариант. даже конструктор проведения так строит
26 Undefined vs NULL
 
17.12.12
13:26
только надо ОБЪЕДИНИТЬ ВСЕ
27 pessok
 
17.12.12
13:27
(26) повторы по табчастям Товары и Услуги?
28 pessok
 
17.12.12
13:28
(27) ну хотя тут тоже из (0) непрозрачно, все строки надо, или свернуть по ресурсам
29 Pro-tone
 
17.12.12
13:29
(22) а если в качестве проверки на вхождение номенклатуры в опр. тч дока в параметрах вирт. таблицы остатков/оборотов?

В общем, с копрокодом, прежде чем блеснуть таким ярким словцом в таком каменте я бы посоветовал выяснить цель в (0) для начала;)
30 zak555
 
17.12.12
13:29
(27) в ТЧ товары не может быть услуг, как и в ТЧ услуг не может быть товаров
31 Undefined vs NULL
 
17.12.12
13:29
(27) меньше затрат сервера, он не будет анализировать строки на совпадение
32 pessok
 
17.12.12
13:30
(29) я сам назвал свой код копрокодом, в чем проблема?))
и еще раз, проверка на вхождение в ТЧ идет по реквизиту Номенклатура.Услуга
33 pessok
 
17.12.12
13:30
+(32) должна идти. это ИМХО, черт побери!)
34 Мисти
 
17.12.12
13:32
пасиба!!!
35 Pro-tone
 
17.12.12
13:32
(32) потому что по (0) копрокодом оно не является :)
36 pessok
 
17.12.12
13:33
(35) ну в контексте объединения просто двух таблиц - да, не является :)
37 Pro-tone
 
17.12.12
13:34
(36) ну вот о том и речь ;)
38 Мисти
 
17.12.12
13:36
А почему в 1 части "как номенклатура", "Как цена", а во второй - ничего такого нет? Это правильно?
39 Undefined vs NULL
 
17.12.12
13:36
(38) да
40 Мисти
 
17.12.12
13:38
А как теперь задать ссылку-то? Если у меня
РеализацияТоваровУслугУслуги и
РеализацияТоваровУслугТовары?
И почему у половины есть синонимы, а у второй нет?
41 pessok
 
17.12.12
13:41
сгруппируй и наложи условие
42 Sidney
 
17.12.12
13:42
(40)Вы не поверите. Но прочитать книгу по языку запросов занимает пол часа, а задать 20 вопросов на форуме - 1 час :)
43 pessok
 
17.12.12
13:42
а синонимы - так должно быть. посмотри в конструкторе, что на выходе получается
44 pessok
 
17.12.12
13:42
(42) пока только пол-часа прошло :)
45 Undefined vs NULL
 
17.12.12
13:42
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
   РеализацияТоваровУслугТовары.Количество КАК Количество,
   РеализацияТоваровУслугТовары.Цена КАК Цена,
   РеализацияТоваровУслугТовары.Сумма КАК Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

ГДЕ РеализацияТоваровУслугТовары.Ссылка=&Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   РеализацияТоваровУслугУслуги.Номенклатура,
   РеализацияТоваровУслугУслуги.Количество,
   РеализацияТоваровУслугУслуги.Цена,
   РеализацияТоваровУслугУслуги.Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги

ГДЕ РеализацияТоваровУслугУслуги.Ссылка=&Ссылка
46 pessok
 
17.12.12
13:46
(45) я б таки сгруппировал, и уже на результат объединения накладывал отбор
47 mehfk
 
17.12.12
13:47
(12) Открой в любой типовой код, связанный, например с печатью ТОРГ-12 в документе "Реализация товаров и услуг" и смотри на "копрокод".
48 Undefined vs NULL
 
17.12.12
13:48
(46) ну и зря
49 Мисти
 
17.12.12
13:53
А почему-то запрос ругается!
ГДЕ РеализацияТоваровУслугУслуги.Ссылка=&Ссылка
50 Мисти
 
17.12.12
13:55
Я с помощью этих советов лучше разбираюсь!
Когда "краду" куски - я их использую как черный ящик - вроде, работает, а как именно - не очень понятно.
51 Undefined vs NULL
 
17.12.12
14:00
(49) параметр задать надо
52 Мисти
 
17.12.12
14:00
В конструкторе запроса на закладке "Таблицы" только
РеализацияТоваровУслугТовары
А вторая-то где?
В объединениях/псевдонимах есть
53 Мисти
 
17.12.12
14:01
(51) Ругается конструктор запросов! До параметра еще дело не дошло.
54 pessok
 
17.12.12
14:02
(53) убери условие, поставь его сама в конструкторе
55 Мисти
 
17.12.12
14:04
А в конструкторе второй таблицы вовсе не видно! Как же я условие поставлю?
56 pessok
 
17.12.12
14:05
(55) таблица видна в объединениях
57 Sidney
 
17.12.12
14:05
Справа закладки посмотри :)
58 pessok
 
17.12.12
14:05
оттуда даббл-кликом можно в нее попасть. ну или справа у тебя Запрос1, Запрос2 вкладки
59 pessok
 
17.12.12
14:07
(47) никто не говорит, что ваятели типовых конф не пишут (а точнее не писали, т.к. эти модули не меняются уже по 6 лет) копрокода?
60 Мисти
 
17.12.12
14:12
|    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
   |    РеализацияТоваровУслугТовары.Количество КАК Количество,
   |    РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,
   |    РеализацияТоваровУслугТовары.Сумма КАК Сумма
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |ГДЕ РеализацияТоваровУслугТовары.Ссылка=&Ссылка
   |  
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    РеализацияТоваровУслугУслуги.Номенклатура,
   |    РеализацияТоваровУслугУслуги.Количество,
   |    РеализацияТоваровУслугУслуги.СуммаНДС,
   |    РеализацияТоваровУслугУслуги.Сумма
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
   |ГДЕ РеализацияТоваровУслугУслуги  =&Ссылка
   |";

Вот так - не работает.
В объединении видно, а в условиях - нет.
61 Мисти
 
17.12.12
14:17
Нашла справа - "закладка1,закладка2"!
62 Мисти
 
17.12.12
14:20
Короче, получилось, спасибо!
63 Undefined vs NULL
 
17.12.12
14:20
(60) последняя строка:

|ГДЕ РеализацияТоваровУслугУслуги.Ссылка  =&Ссылка
64 Мисти
 
17.12.12
15:05
(63) Именно!