Имя: Пароль:
1C
1С v8
Запрос с 2мя таблицами без соединения. ☑
0 demon2013
 
20.03.13
✎
10:36
Запрос по двум таблицам без соединения. Периодический Регистр сведений хранить один ресурс без изменерений. Нужно чтобы для каждой строки с осттками, значение регистра сведений на дату было в колонке, так удобнее дальше выборку обработать. Но если регистр еще не заполнялся, то выборка ваще пустая. Если добавть в регистр строку то все отрабатывает как положено. Как оформить поле  чтобы если регистр не заполнен, то выборка выводилась с пустым полем.  

ВЫБРАТЬ
   ОстаткиТМЦнаОтветХраненииШтукиОстатки.Номенклатура,
   СУММА(ОстаткиТМЦнаОтветХраненииШтукиОстатки.КоличествоШтукОстаток) КАК КоличествоШтукОстаток,
   СтоимостьПогрузкиРазгрузкиСрезПоследних.Цена
ИЗ
   РегистрНакопления.ОстаткиТМЦнаОтветХраненииШтуки.Остатки(&НачПериода, ) КАК ОстаткиТМЦнаОтветХраненииШтукиОстатки,
   РегистрСведений.СтоимостьПогрузкиРазгрузки.СрезПоследних(&НачПериода, ) КАК СтоимостьПогрузкиРазгрузкиСрезПоследних

СГРУППИРОВАТЬ ПО
   ОстаткиТМЦнаОтветХраненииШтукиОстатки.Номенклатура,
   СтоимостьПогрузкиРазгрузкиСрезПоследних.Цена
1 Ёпрст
 
гуру
20.03.13
✎
10:39
>>без соединения
и сам же его делает во from..

неувязлчкасъ
2 Defender aka LINN
 
20.03.13
✎
10:44
(0) Не вижу запроса без соединения
3 НафНаф
 
20.03.13
✎
10:46
а что все таки мешает сделать ЛЕВОЕ СОЕДИНЕНИЕ?
4 НафНаф
 
20.03.13
✎
10:47
а потом будут вопросы на "срез на каждую дату", когда записей будет >1
5 GANR
 
20.03.13
✎
10:52
(0) Можно (3), можно Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТвояГруппировка", "Все"). Но запрос методически неправилен (см. (4)) - нужно условие соединения по номенклатуре сделать или/и отбор по типу цен, если есть.
6 GANR
 
20.03.13
✎
10:53
Это получается что таблица остатков соединится с ценами на все номенклатурные позиции.
7 Defender aka LINN
 
20.03.13
✎
10:54
(5) "можно Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ТвояГруппировка", "Все")" - и как это поможет, мне интересно?
8 SeraFim
 
20.03.13
✎
10:55
100 позиций в одной таблице, 100 в другой. Итого 10 000 строчек.
А потом ветка: 1С сырая, УжасноТормозит_ППЦ
9 GANR
 
20.03.13
✎
10:57
(7) Это, насколько я помню, выведет и те группировки, по которым нет данных, наподобие ЛЕВОЕ СОЕДИНЕНИЕ (года 3 назад писал такое).
10 GANR
 
20.03.13
✎
10:59
Там даже будет не Результат, а Выборка
11 Defender aka LINN
 
20.03.13
✎
10:59
(9) Прочисти память. Запрос из (0) не возвращает никаких данных, можешь как угодно выбирать, больше их не станет.
12 GANR
 
20.03.13
✎
11:00
(11) Ах ё, там ещё и данных в одной из таблиц нету
13 demon2013
 
20.03.13
✎
11:09
регистр СтоимостьПогрузкиРазгрузки не имеет измерений кроме периода, как там соединение оформить не могу сообразить, так то левое соединение спасло бы меня.


До сего момента считал что соединение, это явно написаное СОЕДИНЕНИЕ :) Какого рода соединение получается в моем случае?
14 GANR
 
20.03.13
✎
11:11
(13) по сути
Т1 ВНУТРЕНЕЕ ВСОДИНЕНИЕ Т2 ПО (ИСТИНА)
15 ssh2006
 
20.03.13
✎
11:12
(13) так и напиши левое соединение по истине
16 GANR
 
20.03.13
✎
11:12
Каждая строка левой таблицы соединяется с каждой строкой правой таблицы
17 GANR
 
20.03.13
✎
11:14
(15) это (14), левое что-то выводит даже если в правой таблице нет записи по условию
18 demon2013
 
20.03.13
✎
11:14
Спасибо, заработало :)


ВЫБРАТЬ
   ОстаткиТМЦнаОтветХраненииШтукиОстатки.Номенклатура,
   СУММА(ОстаткиТМЦнаОтветХраненииШтукиОстатки.КоличествоШтукОстаток) КАК КоличествоШтукОстаток,
   СтоимостьПогрузкиРазгрузкиСрезПоследних.Цена
ИЗ
   РегистрНакопления.ОстаткиТМЦнаОтветХраненииШтуки.Остатки(&НачПериода, ) КАК ОстаткиТМЦнаОтветХраненииШтукиОстатки
       левое СОЕДИНЕНИЕ РегистрСведений.СтоимостьПогрузкиРазгрузки.СрезПоследних(&НачПериода, ) КАК СтоимостьПогрузкиРазгрузкиСрезПоследних
       ПО (ИСТИНА)

СГРУППИРОВАТЬ ПО
   ОстаткиТМЦнаОтветХраненииШтукиОстатки.Номенклатура,
   СтоимостьПогрузкиРазгрузкиСрезПоследних.Цена
19 ssh2006
 
20.03.13
✎
11:18
(18) группировки и а агрег. ф-ю можно убрать
20 H A D G E H O G s
 
20.03.13
✎
11:23
И добавить IsNull()
21 H A D G E H O G s
 
20.03.13
✎
11:23
А вообще - жесть жеж!
22 H A D G E H O G s
 
20.03.13
✎
11:24
Добавиться аналитика в СтоимостьПогрузкиРазгрузки, кубодятел глобальныйпоиск по конфе не проведен, мозг не почешет - и все, аля-юлю, приехали.
23 НафНаф
 
20.03.13
✎
11:26
(22) да ладно, помнишь разговор про то, что тип внезапно становится составным, а там проверка на пустую ссылку?

так что бывает и такое
24 Defender aka LINN
 
20.03.13
✎
11:28
(22) Дык тут как запрос не построй, от такой ситуации ничего не поможет
25 ssh2006
 
20.03.13
✎
11:28
(22) Тогда пусть сделает группировку по номенклатура, КоличествоШтукОстаток, а Цену в максимум, подстрахуется ))
26 Defender aka LINN
 
20.03.13
✎
11:29
(23) Я громче и злораднее всего ржал, когда 1С представления типов поменяло.
27 Defender aka LINN
 
20.03.13
✎
11:29
(25) А это еще хуже будет. То есть ошибка, то нету.
28 demon2013
 
20.03.13
✎
11:35
(22)(24) А можно по русски изложить косяк, а то переводчик с местного диалекта сегодня в отпуске...
29 ssh2006
 
20.03.13
✎
11:39
(27) конечно, это не серъезное предложение, согласен насчет хуже.
30 ssh2006
 
20.03.13
✎
11:40
(28) запрос имеет право на существование, смелее