|
Вопрос по запросу. Уже крыша едет 8)) | ☑ | ||
---|---|---|---|---|
0
e2v
13.12.13
✎
12:42
|
Делаю левое соединение. Должно же быть так :
берется вся таблица левая и к ней присоединяется правая по условию. Так вот отдельно таблицы выводят одни данные , а при соединении данные выводятся не все. Где ошибка? Уже на грани помешательства.8))) Первая таблица **************************************************************** ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура, СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация И ПоступлениеТоваровУслугТовары.Ссылка.Склад = &Склад СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура *************************************************************** Выводит: Товар1 20 Товар2 30 Вторая таблица: *************************************************************** ВЫБРАТЬ ХозрасчетныйОстатки.Субконто1, СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаНачала, Счет = &Счет, ,Субконто2 = &Склад ) КАК ХозрасчетныйОстатки ГДЕ ХозрасчетныйОстатки.Организация = &Организация СГРУППИРОВАТЬ ПО ХозрасчетныйОстатки.Субконто1 АВТОУПОРЯДОЧИВАНИЕ ******************************************************************* Выводит: Товар2 15 А вместе: ******************************************************************** ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура, СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Приход, ХозрасчетныйОстатки.КоличествоОстаток КАК СальдоНачала ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаНачала, Счет = &Счет, , Субконто2 = &Склад) КАК ХозрасчетныйОстатки ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1.Ссылка ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация И ПоступлениеТоваровУслугТовары.Ссылка.Склад = &Склад И ХозрасчетныйОстатки.Организация = &Организация СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ХозрасчетныйОстатки.КоличествоОстаток ****************************************************************** Выводят: Товар2 30 15 Где непонятки? |
|||
1
hhhh
13.12.13
✎
12:44
|
(0) ну всё правильно пишет. В чем вопрос?
|
|||
2
e2v
13.12.13
✎
12:46
|
Как правильно???? Должно же быть:
Товар1 20 0 Товар2 30 15 Или как? Ведь из левой же все берем. |
|||
3
Wobland
13.12.13
✎
12:47
|
ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
|
|||
4
Конфигуратор1с
13.12.13
✎
12:47
|
(2) если ты накладываешь условие на правую таблицу в левом соединении то оно превращается в внутреннее соединеие
|
|||
5
Wobland
13.12.13
✎
12:48
|
и организацию в хозрасчётном в параметры пересунуть
|
|||
6
Конфигуратор1с
13.12.13
✎
12:48
|
(2) перенеси " И ХозрасчетныйОстатки.Организация = &Организация
" в параметры вирутальной таблицы остатков и испытаешь счастье |
|||
7
Avganec
13.12.13
✎
12:48
|
(2) И ХозрасчетныйОстатки.Организация = &Организация
это условие на уже соединение, а не на только правую таблицу |
|||
8
Конфигуратор1с
13.12.13
✎
12:50
|
а в общем случае нужно писать в соединении
ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1.Ссылка и ХозрасчетныйОстатки.Организация = &Организация |
|||
9
Конфигуратор1с
13.12.13
✎
12:51
|
а вообще в тебя щас какашками бросать будем
ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура, СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация И ПоступлениеТоваровУслугТовары.Ссылка.Склад = &Склад СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура. воттут лучше переписать на соединение таблицы документов с их табчастью |
|||
10
e2v
13.12.13
✎
12:52
|
Гы-гы-гы.
Заработало. А пояснить тупому. Почему так надо?? 8)))) |
|||
11
Конфигуратор1с
13.12.13
✎
12:52
|
ПО ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1.Ссылка
тут лучше выразить как документ поступление товаров и услуг иначе он тебе со всеми таблицами документов забубенит соединение. результат правильный. а вот тормоза будут |
|||
12
e2v
13.12.13
✎
12:54
|
Конфигуратор1: не про ссылку все понятно. Это я танцы с бубном делал. всяко пробовал.
А про то что в параметры засунуть надо |
|||
13
Конфигуратор1с
13.12.13
✎
12:54
|
(10) ну смотри у тебя таблица а и таблица б ты хош взять записи с таблицы а и соответствия в таблице б. Если просто сделать то все тип топ, но елси ты хочешь отобрать определенные записи с таблицы б и накладываешь условие на нее, то 1сина возьмет соединит обе таблицы а потом только наложит твое условие. Соответственно для тех строк кому не нашлись соответствия из таблицы б будут отброшены так как не соответствуют условию
|
|||
14
Конфигуратор1с
13.12.13
✎
12:55
|
(12) читай (13)
|
|||
15
Конфигуратор1с
13.12.13
✎
12:57
|
соответственно если напишешь в условиях соединения свое условие то оно должно отработать
|
|||
16
e2v
13.12.13
✎
12:59
|
А-а-а. понял. условие применяется после соединения таблиц.
тада все ясно Спасибо. 8))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |